Java implementation of uicontrols of style checkbox, radio, slider,listbox and popup
Vincent Couvert [Thu, 10 Jan 2008 07:45:36 +0000 (07:45 +0000)]
33 files changed:
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/CallScilabBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/ScilabBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/checkbox/SwingScilabCheckBox.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/frame/SwingScilabFrame.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/listbox/SwingScilabListBox.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/popupmenu/SwingScilabPopupMenu.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/radiobutton/SwingScilabRadioButton.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/slider/SwingScilabSlider.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/SwingScilabTab.java
scilab/modules/gui/src/java/org/scilab/modules/gui/checkbox/CheckBox.java
scilab/modules/gui/src/java/org/scilab/modules/gui/checkbox/ScilabCheckBox.java [new file with mode: 0644]
scilab/modules/gui/src/java/org/scilab/modules/gui/checkbox/ScilabCheckBoxBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/checkbox/SimpleCheckBox.java [new file with mode: 0644]
scilab/modules/gui/src/java/org/scilab/modules/gui/listbox/ListBox.java
scilab/modules/gui/src/java/org/scilab/modules/gui/listbox/ScilabListBox.java [new file with mode: 0644]
scilab/modules/gui/src/java/org/scilab/modules/gui/listbox/ScilabListBoxBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/listbox/SimpleListBox.java [new file with mode: 0644]
scilab/modules/gui/src/java/org/scilab/modules/gui/popupmenu/PopupMenu.java
scilab/modules/gui/src/java/org/scilab/modules/gui/popupmenu/ScilabPopupMenu.java [new file with mode: 0644]
scilab/modules/gui/src/java/org/scilab/modules/gui/popupmenu/ScilabPopupMenuBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/popupmenu/SimplePopupMenu.java [new file with mode: 0644]
scilab/modules/gui/src/java/org/scilab/modules/gui/radiobutton/RadioButton.java
scilab/modules/gui/src/java/org/scilab/modules/gui/radiobutton/ScilabRadioButton.java [new file with mode: 0644]
scilab/modules/gui/src/java/org/scilab/modules/gui/radiobutton/ScilabRadioButtonBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/radiobutton/SimpleRadioButton.java [new file with mode: 0644]
scilab/modules/gui/src/java/org/scilab/modules/gui/slider/ScilabSlider.java [new file with mode: 0644]
scilab/modules/gui/src/java/org/scilab/modules/gui/slider/ScilabSliderBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/slider/SimpleSlider.java [new file with mode: 0644]
scilab/modules/gui/src/java/org/scilab/modules/gui/slider/Slider.java
scilab/modules/gui/src/java/org/scilab/modules/gui/tab/ScilabTab.java
scilab/modules/gui/src/java/org/scilab/modules/gui/tab/ScilabTabBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/tab/SimpleTab.java
scilab/modules/gui/src/java/org/scilab/modules/gui/tab/Tab.java

index cdfb11d..9178123 100644 (file)
@@ -6,6 +6,8 @@ package org.scilab.modules.gui.bridge;
 import java.awt.Color;
 import java.awt.Font;
 
+import org.scilab.modules.gui.checkbox.CheckBox;
+import org.scilab.modules.gui.checkbox.ScilabCheckBox;
 import org.scilab.modules.gui.console.ScilabConsole;
 import org.scilab.modules.gui.editbox.EditBox;
 import org.scilab.modules.gui.editbox.ScilabEditBox;
@@ -14,13 +16,21 @@ import org.scilab.modules.gui.filechooser.ScilabFileChooser;
 import org.scilab.modules.gui.graphicWindow.ScilabRendererProperties;
 import org.scilab.modules.gui.label.Label;
 import org.scilab.modules.gui.label.ScilabLabel;
+import org.scilab.modules.gui.listbox.ListBox;
+import org.scilab.modules.gui.listbox.ScilabListBox;
 import org.scilab.modules.gui.menu.Menu;
 import org.scilab.modules.gui.menu.ScilabMenu;
 import org.scilab.modules.gui.menubar.MenuBar;
 import org.scilab.modules.gui.menubar.ScilabMenuBar;
 import org.scilab.modules.gui.menubar.ScilabMenuBarBridge;
+import org.scilab.modules.gui.popupmenu.PopupMenu;
+import org.scilab.modules.gui.popupmenu.ScilabPopupMenu;
 import org.scilab.modules.gui.pushbutton.PushButton;
 import org.scilab.modules.gui.pushbutton.ScilabPushButton;
+import org.scilab.modules.gui.radiobutton.RadioButton;
+import org.scilab.modules.gui.radiobutton.ScilabRadioButton;
+import org.scilab.modules.gui.slider.ScilabSlider;
+import org.scilab.modules.gui.slider.Slider;
 import org.scilab.modules.gui.tab.ScilabTabBridge;
 import org.scilab.modules.gui.tab.Tab;
 import org.scilab.modules.gui.utils.Position;
@@ -201,12 +211,82 @@ public class CallScilabBridge {
                int id = UIElementMapper.add(label);
                // Scilab default font
                setWidgetFontWeight(id, NORMALFONT);
-               label.setBackground(Color.GRAY);
+               label.setBackground(Color.LIGHT_GRAY);
                label.setForeground(Color.BLACK);
                return id;
        }
 
        /**
+        * Create a new CheckBox in Scilab GUIs
+        * @return the ID of the CheckBox in the UIElementMapper
+        */
+       public static int newCheckBox() {
+               CheckBox checkBox = ScilabCheckBox.createCheckBox();
+               int id = UIElementMapper.add(checkBox);
+               // Scilab default font
+               setWidgetFontWeight(id, NORMALFONT);
+               checkBox.setBackground(Color.LIGHT_GRAY);
+               checkBox.setForeground(Color.BLACK);
+               return id;
+       }
+
+       /**
+        * Create a new RadioButton in Scilab GUIs
+        * @return the ID of the RadioButton in the UIElementMapper
+        */
+       public static int newRadioButton() {
+               RadioButton radioButton = ScilabRadioButton.createRadioButton();
+               int id = UIElementMapper.add(radioButton);
+               // Scilab default font
+               setWidgetFontWeight(id, NORMALFONT);
+               radioButton.setBackground(Color.LIGHT_GRAY);
+               radioButton.setForeground(Color.BLACK);
+               return id;
+       }
+
+       /**
+        * Create a new Slider in Scilab GUIs
+        * @return the ID of the Slider in the UIElementMapper
+        */
+       public static int newSlider() {
+               Slider slider = ScilabSlider.createSlider();
+               int id = UIElementMapper.add(slider);
+               // Scilab default font
+               setWidgetFontWeight(id, NORMALFONT);
+               slider.setBackground(Color.LIGHT_GRAY);
+               slider.setForeground(Color.BLACK);
+               return id;
+       }
+
+       /**
+        * Create a new ListBox in Scilab GUIs
+        * @return the ID of the ListBox in the UIElementMapper
+        */
+       public static int newListBox() {
+               ListBox listBox = ScilabListBox.createListBox();
+               int id = UIElementMapper.add(listBox);
+               // Scilab default font
+               setWidgetFontWeight(id, NORMALFONT);
+               listBox.setBackground(Color.LIGHT_GRAY);
+               listBox.setForeground(Color.BLACK);
+               return id;
+       }
+
+       /**
+        * Create a new PopupMenu in Scilab GUIs
+        * @return the ID of the PopupMenu in the UIElementMapper
+        */
+       public static int newPopupMenu() {
+               PopupMenu popupMenu = ScilabPopupMenu.createPopupMenu();
+               int id = UIElementMapper.add(popupMenu);
+               // Scilab default font
+               setWidgetFontWeight(id, NORMALFONT);
+               popupMenu.setBackground(Color.LIGHT_GRAY);
+               popupMenu.setForeground(Color.BLACK);
+               return id;
+       }
+
+       /**
         * Set the dimensions of an object in Scilab GUIs
         * @param objID the ID of the object in the UIElementMapper
         * @param width the width of the object
@@ -304,6 +384,61 @@ public class CallScilabBridge {
        }
 
        /**
+        * Set a figure as parent for a CheckBox
+        * @param figureID the ID of the figure in the FigureMapper
+        * @param objID the ID of the PushButton in the UIElementMapper
+        */
+       public static void setCheckBoxParent(int figureID, int objID) {
+               Tab parentTab = ((ScilabRendererProperties) FigureMapper.getCorrespondingFigure(figureID).getRendererProperties()).getParentTab();
+               CheckBox checkBox = (CheckBox) UIElementMapper.getCorrespondingUIElement(objID);
+               ScilabBridge.addMember(parentTab, checkBox);
+       }
+
+       /**
+        * Set a figure as parent for a RadioButton
+        * @param figureID the ID of the figure in the FigureMapper
+        * @param objID the ID of the PushButton in the UIElementMapper
+        */
+       public static void setRadioButtonParent(int figureID, int objID) {
+               Tab parentTab = ((ScilabRendererProperties) FigureMapper.getCorrespondingFigure(figureID).getRendererProperties()).getParentTab();
+               RadioButton radioButton = (RadioButton) UIElementMapper.getCorrespondingUIElement(objID);
+               ScilabBridge.addMember(parentTab, radioButton);
+       }
+
+       /**
+        * Set a figure as parent for a Slider
+        * @param figureID the ID of the figure in the FigureMapper
+        * @param objID the ID of the PushButton in the UIElementMapper
+        */
+       public static void setSliderParent(int figureID, int objID) {
+               Tab parentTab = ((ScilabRendererProperties) FigureMapper.getCorrespondingFigure(figureID).getRendererProperties()).getParentTab();
+               Slider slider = (Slider) UIElementMapper.getCorrespondingUIElement(objID);
+               ScilabBridge.addMember(parentTab, slider);
+       }
+
+       /**
+        * Set a figure as parent for a ListBox
+        * @param figureID the ID of the figure in the FigureMapper
+        * @param objID the ID of the ListBox in the UIElementMapper
+        */
+       public static void setListBoxParent(int figureID, int objID) {
+               Tab parentTab = ((ScilabRendererProperties) FigureMapper.getCorrespondingFigure(figureID).getRendererProperties()).getParentTab();
+               ListBox listBox = (ListBox) UIElementMapper.getCorrespondingUIElement(objID);
+               ScilabBridge.addMember(parentTab, listBox);
+       }
+
+       /**
+        * Set a figure as parent for a PopupMenu
+        * @param figureID the ID of the figure in the FigureMapper
+        * @param objID the ID of the PopupMenu in the UIElementMapper
+        */
+       public static void setPopupMenuParent(int figureID, int objID) {
+               Tab parentTab = ((ScilabRendererProperties) FigureMapper.getCorrespondingFigure(figureID).getRendererProperties()).getParentTab();
+               PopupMenu popupMenu = (PopupMenu) UIElementMapper.getCorrespondingUIElement(objID);
+               ScilabBridge.addMember(parentTab, popupMenu);
+       }
+
+       /**
         * Set root Scilab object (the console tab) as the parent of the menu
         * @param objID the id of the menu
         */
index e94651a..4a68f77 100644 (file)
@@ -11,6 +11,9 @@ import javax.media.opengl.GL;
 import org.scilab.modules.gui.canvas.Canvas;
 import org.scilab.modules.gui.canvas.ScilabCanvasBridge;
 import org.scilab.modules.gui.canvas.SimpleCanvas;
+import org.scilab.modules.gui.checkbox.CheckBox;
+import org.scilab.modules.gui.checkbox.ScilabCheckBoxBridge;
+import org.scilab.modules.gui.checkbox.SimpleCheckBox;
 import org.scilab.modules.gui.console.Console;
 import org.scilab.modules.gui.console.ScilabConsoleBridge;
 import org.scilab.modules.gui.console.SimpleConsole;
@@ -30,6 +33,9 @@ import org.scilab.modules.gui.layout.BorderLayout;
 import org.scilab.modules.gui.layout.FlowLayout;
 import org.scilab.modules.gui.layout.ScilabBorderLayoutBridge;
 import org.scilab.modules.gui.layout.ScilabFlowLayoutBridge;
+import org.scilab.modules.gui.listbox.ListBox;
+import org.scilab.modules.gui.listbox.ScilabListBoxBridge;
+import org.scilab.modules.gui.listbox.SimpleListBox;
 import org.scilab.modules.gui.menu.Menu;
 import org.scilab.modules.gui.menu.ScilabMenuBridge;
 import org.scilab.modules.gui.menu.SimpleMenu;
@@ -39,11 +45,20 @@ import org.scilab.modules.gui.menubar.SimpleMenuBar;
 import org.scilab.modules.gui.menuitem.MenuItem;
 import org.scilab.modules.gui.menuitem.ScilabMenuItemBridge;
 import org.scilab.modules.gui.menuitem.SimpleMenuItem;
+import org.scilab.modules.gui.popupmenu.PopupMenu;
+import org.scilab.modules.gui.popupmenu.ScilabPopupMenuBridge;
+import org.scilab.modules.gui.popupmenu.SimplePopupMenu;
 import org.scilab.modules.gui.pushbutton.PushButton;
 import org.scilab.modules.gui.pushbutton.ScilabPushButtonBridge;
 import org.scilab.modules.gui.pushbutton.SimplePushButton;
+import org.scilab.modules.gui.radiobutton.RadioButton;
+import org.scilab.modules.gui.radiobutton.ScilabRadioButtonBridge;
+import org.scilab.modules.gui.radiobutton.SimpleRadioButton;
 import org.scilab.modules.gui.separator.ScilabSeparatorBridge;
 import org.scilab.modules.gui.separator.Separator;
+import org.scilab.modules.gui.slider.ScilabSliderBridge;
+import org.scilab.modules.gui.slider.SimpleSlider;
+import org.scilab.modules.gui.slider.Slider;
 import org.scilab.modules.gui.tab.ScilabTabBridge;
 import org.scilab.modules.gui.tab.SimpleTab;
 import org.scilab.modules.gui.tab.Tab;
@@ -511,6 +526,56 @@ public class ScilabBridge {
        }
        
        /**
+        * Add a member (dockable element) to a tab and returns the index of this member
+        * @param tab the tab which we want to add the CheckBox to
+        * @param member the checkbox to add
+        * @return the position of the checkbox in the member list.
+        */
+       public static int addMember(Tab tab, CheckBox member) {
+               return ScilabTabBridge.addMember(tab, member);
+       }
+       
+       /**
+        * Add a member (dockable element) to a tab and returns the index of this member
+        * @param tab the tab which we want to add the RadioButton to
+        * @param member the RadioButton to add
+        * @return the position of the RadioButton in the member list.
+        */
+       public static int addMember(Tab tab, RadioButton member) {
+               return ScilabTabBridge.addMember(tab, member);
+       }
+       
+       /**
+        * Add a member (dockable element) to a tab and returns the index of this member
+        * @param tab the tab which we want to add the Slider to
+        * @param member the Slider to add
+        * @return the position of the Slider in the member list.
+        */
+       public static int addMember(Tab tab, Slider member) {
+               return ScilabTabBridge.addMember(tab, member);
+       }
+       
+       /**
+        * Add a member (dockable element) to a tab and returns the index of this member
+        * @param tab the tab which we want to add the ListBox to
+        * @param member the ListBox to add
+        * @return the position of the ListBox in the member list.
+        */
+       public static int addMember(Tab tab, ListBox member) {
+               return ScilabTabBridge.addMember(tab, member);
+       }
+       
+       /**
+        * Add a member (dockable element) to a tab and returns the index of this member
+        * @param tab the tab which we want to add the PopupMenu to
+        * @param member the PopupMenu to add
+        * @return the position of the PopupMenu in the member list.
+        */
+       public static int addMember(Tab tab, PopupMenu member) {
+               return ScilabTabBridge.addMember(tab, member);
+       }
+       
+       /**
         * Get the current status of the Tab in its parent
         * @param tab the tab we want to get the status of
         * @return true is the tab is the tab currently displayed in its parent
@@ -1755,6 +1820,867 @@ public class ScilabBridge {
                ScilabLabelBridge.setCallback(label, command, commandType);
        }
 
+       /*******************/
+       /* CheckBox Bridge */
+       /*******************/
+
+       /**
+        * Creates a new CheckBox
+        * @return the created CheckBox
+        */
+       public static SimpleCheckBox createCheckBox() {
+               return ScilabCheckBoxBridge.createCheckBox();
+       }
+       
+       /**
+        * Sets the Text of a CheckBox
+        * @param checkBox the CheckBox we want to set the Text of
+        * @param newText the Text to set for the CheckBox
+        */
+       public static void setText(CheckBox checkBox, String newText) {
+               ScilabCheckBoxBridge.setText(checkBox, newText);
+       }
+       
+       /**
+        * Gets the text of an CheckBox
+        * @param checkBox the CheckBox we want to get the text of
+        * @return the text of the CheckBox
+        */
+       public static String getText(CheckBox checkBox) {
+               return ScilabCheckBoxBridge.getText(checkBox);
+       }
+       
+       /**
+        * Draws a Scilab CheckBox
+        * @param checkBox the CheckBox to draw
+        * @see org.scilab.modules.ihm.UIElement#draw()
+        */
+       public static void draw(CheckBox checkBox) {
+               ScilabCheckBoxBridge.draw(checkBox);
+       }
+
+       /**
+        * Gets the dimensions (width and height) of a Scilab CheckBox
+        * @param checkBox the CheckBox we want to get the dimensions of
+        * @return the size of the checkBox
+        * @see org.scilab.modules.ihm.UIElement#getDims()
+        */
+       public static Size getDims(CheckBox checkBox) {
+               return ScilabCheckBoxBridge.getDims(checkBox);
+       }
+
+       /**
+        * Gets the position (X-coordinate and Y-coordinate) of a Scilab checkBox
+        * @param checkBox the checkBox we want to get the position of
+        * @return the position of the checkBox
+        * @see org.scilab.modules.ihm.UIElement#getPosition()
+        */
+       public static Position getPosition(CheckBox checkBox) {
+               return ScilabCheckBoxBridge.getPosition(checkBox);
+       }
+
+       /**
+        * Gets the visibility status of a Scilab CheckBox
+        * @param checkBox the checkBox we want to get the visiblity status of
+        * @return the visibility status of the checkBox (true if the checkBox is visible, false if not)
+        * @see org.scilab.modules.ihm.UIElement#isVisible()
+        */
+       public static boolean isVisible(CheckBox checkBox) {
+               return ScilabCheckBoxBridge.isVisible(checkBox);
+       }
+
+       /**
+        * Sets the dimensions (width and height) of a Scilab CheckBox
+        * @param checkBox the checkBox we want to set the dimensions of
+        * @param newSize the size we want to set to the checkBox
+        * @see org.scilab.modules.ihm.UIElement#setDims(org.scilab.modules.ihm.utils.Size)
+        */
+       public static void setDims(CheckBox checkBox, Size newSize) {
+               ScilabCheckBoxBridge.setDims(checkBox, newSize);
+       }
+
+       /**
+        * Sets the position (X-coordinate and Y-coordinate) of a Scilab checkBox
+        * @param checkBox the checkBox we want to set the position of
+        * @param newPosition the position we want to set to the checkBox
+        * @see org.scilab.modules.ihm.UIElement#setPosition(org.scilab.modules.ihm.utils.Position)
+        */
+       public static void setPosition(CheckBox checkBox, Position newPosition) {
+               ScilabCheckBoxBridge.setPosition(checkBox, newPosition);
+       }
+
+       /**
+        * Sets the visibility status of a Scilab CheckBox
+        * @param checkBox the checkBox we want to set the visiblity status of
+        * @param newVisibleState the visibility status we want to set to the checkBox (true to set the checkBox visible, false else)
+        * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
+        */
+       public static void setVisible(CheckBox checkBox, boolean newVisibleState) {
+               ScilabCheckBoxBridge.setVisible(checkBox, newVisibleState);
+       }
+       
+       /**
+        * Set the Background color of the CheckBox
+        * @param checkBox the CheckBox we want to set the background of
+        * @param color the Color
+        */
+       public static void setBackground(CheckBox checkBox, Color color) {
+               ScilabCheckBoxBridge.setBackground(checkBox, color);
+       }
+
+       /**
+        * Get the Background color of the CheckBox
+        * @param checkBox the CheckBox we want to get the background of
+        * @return the Color
+        */
+       public static Color getBackground(CheckBox checkBox) {
+               return ScilabCheckBoxBridge.getBackground(checkBox);
+       }
+
+       /**
+        * Set the Foreground color of the CheckBox
+        * @param checkBox the CheckBox we want to set the foreground of
+        * @param color the Color
+        */
+       public static void setForeground(CheckBox checkBox, Color color) {
+               ScilabCheckBoxBridge.setForeground(checkBox, color);
+       }
+
+       /**
+        * Get the Foreground color of the CheckBox
+        * @param checkBox the CheckBox we want to get the foreground of
+        * @return the Color
+        */
+       public static Color getForeground(CheckBox checkBox) {
+               return ScilabCheckBoxBridge.getForeground(checkBox);
+       }
+
+       /**
+        * Set the font of the CheckBox.
+        * @param checkBox the CheckBox we want to set the font of
+        * @param font the font
+        */
+       public static void setFont(CheckBox checkBox, Font font) {
+               ScilabCheckBoxBridge.setFont(checkBox, font);
+       }
+       
+       /**
+        * Get the font of the CheckBox.
+        * @param checkBox the CheckBox we want to get the font of
+        * @return the font
+        */
+       public static Font getFont(CheckBox checkBox) {
+               return ScilabCheckBoxBridge.getFont(checkBox);
+       }
+
+       /**
+        * Set if the CheckBox is enabled or not
+        * @param checkBox the CheckBox we want to set the status of
+        * @param status true if the CheckBox is enabled
+        */
+       public static void setEnabled(CheckBox checkBox, boolean status) {
+               ScilabCheckBoxBridge.setEnabled(checkBox, status);
+       }
+       
+       /**
+        * Add a callback to the CheckBox
+        * @param checkBox the CheckBox we want to set the callback of
+        * @param command the Scilab command to execute when the CheckBox is activated
+        * @param commandType the type of the command that will be executed.
+        */
+       public static void setCallback(CheckBox checkBox, String command, int commandType) {
+               ScilabCheckBoxBridge.setCallback(checkBox, command, commandType);
+       }
+
+       /**********************/
+       /* RadioButton Bridge */
+       /**********************/
+
+       /**
+        * Creates a new RadioButton
+        * @return the created RadioButton
+        */
+       public static SimpleRadioButton createRadioButton() {
+               return ScilabRadioButtonBridge.createRadioButton();
+       }
+       
+       /**
+        * Sets the Text of a RadioButton
+        * @param radioButton the RadioButton we want to set the Text of
+        * @param newText the Text to set for the RadioButton
+        */
+       public static void setText(RadioButton radioButton, String newText) {
+               ScilabRadioButtonBridge.setText(radioButton, newText);
+       }
+       
+       /**
+        * Gets the text of an RadioButton
+        * @param radioButton the RadioButton we want to get the text of
+        * @return the text of the RadioButton
+        */
+       public static String getText(RadioButton radioButton) {
+               return ScilabRadioButtonBridge.getText(radioButton);
+       }
+       
+       /**
+        * Draws a Scilab RadioButton
+        * @param radioButton the RadioButton to draw
+        * @see org.scilab.modules.ihm.UIElement#draw()
+        */
+       public static void draw(RadioButton radioButton) {
+               ScilabRadioButtonBridge.draw(radioButton);
+       }
+
+       /**
+        * Gets the dimensions (width and height) of a Scilab RadioButton
+        * @param radioButton the RadioButton we want to get the dimensions of
+        * @return the size of the radioButton
+        * @see org.scilab.modules.ihm.UIElement#getDims()
+        */
+       public static Size getDims(RadioButton radioButton) {
+               return ScilabRadioButtonBridge.getDims(radioButton);
+       }
+
+       /**
+        * Gets the position (X-coordinate and Y-coordinate) of a Scilab radioButton
+        * @param radioButton the radioButton we want to get the position of
+        * @return the position of the radioButton
+        * @see org.scilab.modules.ihm.UIElement#getPosition()
+        */
+       public static Position getPosition(RadioButton radioButton) {
+               return ScilabRadioButtonBridge.getPosition(radioButton);
+       }
+
+       /**
+        * Gets the visibility status of a Scilab RadioButton
+        * @param radioButton the radioButton we want to get the visiblity status of
+        * @return the visibility status of the radioButton (true if the radioButton is visible, false if not)
+        * @see org.scilab.modules.ihm.UIElement#isVisible()
+        */
+       public static boolean isVisible(RadioButton radioButton) {
+               return ScilabRadioButtonBridge.isVisible(radioButton);
+       }
+
+       /**
+        * Sets the dimensions (width and height) of a Scilab RadioButton
+        * @param radioButton the radioButton we want to set the dimensions of
+        * @param newSize the size we want to set to the radioButton
+        * @see org.scilab.modules.ihm.UIElement#setDims(org.scilab.modules.ihm.utils.Size)
+        */
+       public static void setDims(RadioButton radioButton, Size newSize) {
+               ScilabRadioButtonBridge.setDims(radioButton, newSize);
+       }
+
+       /**
+        * Sets the position (X-coordinate and Y-coordinate) of a Scilab radioButton
+        * @param radioButton the radioButton we want to set the position of
+        * @param newPosition the position we want to set to the radioButton
+        * @see org.scilab.modules.ihm.UIElement#setPosition(org.scilab.modules.ihm.utils.Position)
+        */
+       public static void setPosition(RadioButton radioButton, Position newPosition) {
+               ScilabRadioButtonBridge.setPosition(radioButton, newPosition);
+       }
+
+       /**
+        * Sets the visibility status of a Scilab RadioButton
+        * @param radioButton the radioButton we want to set the visiblity status of
+        * @param newVisibleState the visibility status we want to set to the radioButton (true to set the radioButton visible, false else)
+        * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
+        */
+       public static void setVisible(RadioButton radioButton, boolean newVisibleState) {
+               ScilabRadioButtonBridge.setVisible(radioButton, newVisibleState);
+       }
+       
+       /**
+        * Set the Background color of the RadioButton
+        * @param radioButton the RadioButton we want to set the background of
+        * @param color the Color
+        */
+       public static void setBackground(RadioButton radioButton, Color color) {
+               ScilabRadioButtonBridge.setBackground(radioButton, color);
+       }
+
+       /**
+        * Get the Background color of the RadioButton
+        * @param radioButton the RadioButton we want to get the background of
+        * @return the Color
+        */
+       public static Color getBackground(RadioButton radioButton) {
+               return ScilabRadioButtonBridge.getBackground(radioButton);
+       }
+
+       /**
+        * Set the Foreground color of the RadioButton
+        * @param radioButton the RadioButton we want to set the foreground of
+        * @param color the Color
+        */
+       public static void setForeground(RadioButton radioButton, Color color) {
+               ScilabRadioButtonBridge.setForeground(radioButton, color);
+       }
+
+       /**
+        * Get the Foreground color of the RadioButton
+        * @param radioButton the RadioButton we want to get the foreground of
+        * @return the Color
+        */
+       public static Color getForeground(RadioButton radioButton) {
+               return ScilabRadioButtonBridge.getForeground(radioButton);
+       }
+
+       /**
+        * Set the font of the RadioButton.
+        * @param radioButton the RadioButton we want to set the font of
+        * @param font the font
+        */
+       public static void setFont(RadioButton radioButton, Font font) {
+               ScilabRadioButtonBridge.setFont(radioButton, font);
+       }
+       
+       /**
+        * Get the font of the RadioButton.
+        * @param radioButton the RadioButton we want to get the font of
+        * @return the font
+        */
+       public static Font getFont(RadioButton radioButton) {
+               return ScilabRadioButtonBridge.getFont(radioButton);
+       }
+
+       /**
+        * Set if the RadioButton is enabled or not
+        * @param radioButton the RadioButton we want to set the status of
+        * @param status true if the RadioButton is enabled
+        */
+       public static void setEnabled(RadioButton radioButton, boolean status) {
+               ScilabRadioButtonBridge.setEnabled(radioButton, status);
+       }
+       
+       /**
+        * Add a callback to the RadioButton
+        * @param radioButton the RadioButton we want to set the callback of
+        * @param command the Scilab command to execute when the RadioButton is activated
+        * @param commandType the type of the command that will be executed.
+        */
+       public static void setCallback(RadioButton radioButton, String command, int commandType) {
+               ScilabRadioButtonBridge.setCallback(radioButton, command, commandType);
+       }
+
+       /*****************/
+       /* Slider Bridge */
+       /*****************/
+
+       /**
+        * Creates a new Slider
+        * @return the created Slider
+        */
+       public static SimpleSlider createSlider() {
+               return ScilabSliderBridge.createSlider();
+       }
+       
+       /**
+        * Sets the Text of a Slider
+        * @param slider the Slider we want to set the Text of
+        * @param newText the Text to set for the Slider
+        */
+       public static void setText(Slider slider, String newText) {
+               ScilabSliderBridge.setText(slider, newText);
+       }
+       
+       /**
+        * Gets the text of an Slider
+        * @param slider the Slider we want to get the text of
+        * @return the text of the Slider
+        */
+       public static String getText(Slider slider) {
+               return ScilabSliderBridge.getText(slider);
+       }
+       
+       /**
+        * Draws a Scilab Slider
+        * @param slider the Slider to draw
+        * @see org.scilab.modules.ihm.UIElement#draw()
+        */
+       public static void draw(Slider slider) {
+               ScilabSliderBridge.draw(slider);
+       }
+
+       /**
+        * Gets the dimensions (width and height) of a Scilab Slider
+        * @param slider the Slider we want to get the dimensions of
+        * @return the size of the slider
+        * @see org.scilab.modules.ihm.UIElement#getDims()
+        */
+       public static Size getDims(Slider slider) {
+               return ScilabSliderBridge.getDims(slider);
+       }
+
+       /**
+        * Gets the position (X-coordinate and Y-coordinate) of a Scilab slider
+        * @param slider the slider we want to get the position of
+        * @return the position of the slider
+        * @see org.scilab.modules.ihm.UIElement#getPosition()
+        */
+       public static Position getPosition(Slider slider) {
+               return ScilabSliderBridge.getPosition(slider);
+       }
+
+       /**
+        * Gets the visibility status of a Scilab Slider
+        * @param slider the slider we want to get the visiblity status of
+        * @return the visibility status of the slider (true if the slider is visible, false if not)
+        * @see org.scilab.modules.ihm.UIElement#isVisible()
+        */
+       public static boolean isVisible(Slider slider) {
+               return ScilabSliderBridge.isVisible(slider);
+       }
+
+       /**
+        * Sets the dimensions (width and height) of a Scilab Slider
+        * @param slider the slider we want to set the dimensions of
+        * @param newSize the size we want to set to the slider
+        * @see org.scilab.modules.ihm.UIElement#setDims(org.scilab.modules.ihm.utils.Size)
+        */
+       public static void setDims(Slider slider, Size newSize) {
+               ScilabSliderBridge.setDims(slider, newSize);
+       }
+
+       /**
+        * Sets the position (X-coordinate and Y-coordinate) of a Scilab slider
+        * @param slider the slider we want to set the position of
+        * @param newPosition the position we want to set to the slider
+        * @see org.scilab.modules.ihm.UIElement#setPosition(org.scilab.modules.ihm.utils.Position)
+        */
+       public static void setPosition(Slider slider, Position newPosition) {
+               ScilabSliderBridge.setPosition(slider, newPosition);
+       }
+
+       /**
+        * Sets the visibility status of a Scilab Slider
+        * @param slider the slider we want to set the visiblity status of
+        * @param newVisibleState the visibility status we want to set to the slider (true to set the slider visible, false else)
+        * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
+        */
+       public static void setVisible(Slider slider, boolean newVisibleState) {
+               ScilabSliderBridge.setVisible(slider, newVisibleState);
+       }
+       
+       /**
+        * Set the Background color of the Slider
+        * @param slider the Slider we want to set the background of
+        * @param color the Color
+        */
+       public static void setBackground(Slider slider, Color color) {
+               ScilabSliderBridge.setBackground(slider, color);
+       }
+
+       /**
+        * Get the Background color of the Slider
+        * @param slider the Slider we want to get the background of
+        * @return the Color
+        */
+       public static Color getBackground(Slider slider) {
+               return ScilabSliderBridge.getBackground(slider);
+       }
+
+       /**
+        * Set the Foreground color of the Slider
+        * @param slider the Slider we want to set the foreground of
+        * @param color the Color
+        */
+       public static void setForeground(Slider slider, Color color) {
+               ScilabSliderBridge.setForeground(slider, color);
+       }
+
+       /**
+        * Get the Foreground color of the Slider
+        * @param slider the Slider we want to get the foreground of
+        * @return the Color
+        */
+       public static Color getForeground(Slider slider) {
+               return ScilabSliderBridge.getForeground(slider);
+       }
+
+       /**
+        * Set the font of the Slider.
+        * @param slider the Slider we want to set the font of
+        * @param font the font
+        */
+       public static void setFont(Slider slider, Font font) {
+               ScilabSliderBridge.setFont(slider, font);
+       }
+       
+       /**
+        * Get the font of the Slider.
+        * @param slider the Slider we want to get the font of
+        * @return the font
+        */
+       public static Font getFont(Slider slider) {
+               return ScilabSliderBridge.getFont(slider);
+       }
+
+       /**
+        * Set if the Slider is enabled or not
+        * @param slider the Slider we want to set the status of
+        * @param status true if the Slider is enabled
+        */
+       public static void setEnabled(Slider slider, boolean status) {
+               ScilabSliderBridge.setEnabled(slider, status);
+       }
+       
+       /**
+        * Add a callback to the Slider
+        * @param slider the Slider we want to set the callback of
+        * @param command the Scilab command to execute when the Slider is activated
+        * @param commandType the type of the command that will be executed.
+        */
+       public static void setCallback(Slider slider, String command, int commandType) {
+               ScilabSliderBridge.setCallback(slider, command, commandType);
+       }
+
+       /******************/
+       /* ListBox Bridge */
+       /******************/
+
+       /**
+        * Creates a new ListBox
+        * @return the created ListBox
+        */
+       public static SimpleListBox createListBox() {
+               return ScilabListBoxBridge.createListBox();
+       }
+       
+       /**
+        * Sets the Text of a ListBox
+        * @param listBox the ListBox we want to set the Text of
+        * @param newText the Text to set for the ListBox
+        */
+       public static void setText(ListBox listBox, String newText) {
+               ScilabListBoxBridge.setText(listBox, newText);
+       }
+       
+       /**
+        * Gets the text of an ListBox
+        * @param listBox the ListBox we want to get the text of
+        * @return the text of the ListBox
+        */
+       public static String getText(ListBox listBox) {
+               return ScilabListBoxBridge.getText(listBox);
+       }
+       
+       /**
+        * Draws a Scilab ListBox
+        * @param listBox the ListBox to draw
+        * @see org.scilab.modules.ihm.UIElement#draw()
+        */
+       public static void draw(ListBox listBox) {
+               ScilabListBoxBridge.draw(listBox);
+       }
+
+       /**
+        * Gets the dimensions (width and height) of a Scilab ListBox
+        * @param listBox the ListBox we want to get the dimensions of
+        * @return the size of the listBox
+        * @see org.scilab.modules.ihm.UIElement#getDims()
+        */
+       public static Size getDims(ListBox listBox) {
+               return ScilabListBoxBridge.getDims(listBox);
+       }
+
+       /**
+        * Gets the position (X-coordinate and Y-coordinate) of a Scilab listBox
+        * @param listBox the listBox we want to get the position of
+        * @return the position of the listBox
+        * @see org.scilab.modules.ihm.UIElement#getPosition()
+        */
+       public static Position getPosition(ListBox listBox) {
+               return ScilabListBoxBridge.getPosition(listBox);
+       }
+
+       /**
+        * Gets the visibility status of a Scilab ListBox
+        * @param listBox the listBox we want to get the visiblity status of
+        * @return the visibility status of the listBox (true if the listBox is visible, false if not)
+        * @see org.scilab.modules.ihm.UIElement#isVisible()
+        */
+       public static boolean isVisible(ListBox listBox) {
+               return ScilabListBoxBridge.isVisible(listBox);
+       }
+
+       /**
+        * Sets the dimensions (width and height) of a Scilab ListBox
+        * @param listBox the listBox we want to set the dimensions of
+        * @param newSize the size we want to set to the listBox
+        * @see org.scilab.modules.ihm.UIElement#setDims(org.scilab.modules.ihm.utils.Size)
+        */
+       public static void setDims(ListBox listBox, Size newSize) {
+               ScilabListBoxBridge.setDims(listBox, newSize);
+       }
+
+       /**
+        * Sets the position (X-coordinate and Y-coordinate) of a Scilab listBox
+        * @param listBox the listBox we want to set the position of
+        * @param newPosition the position we want to set to the listBox
+        * @see org.scilab.modules.ihm.UIElement#setPosition(org.scilab.modules.ihm.utils.Position)
+        */
+       public static void setPosition(ListBox listBox, Position newPosition) {
+               ScilabListBoxBridge.setPosition(listBox, newPosition);
+       }
+
+       /**
+        * Sets the visibility status of a Scilab ListBox
+        * @param listBox the listBox we want to set the visiblity status of
+        * @param newVisibleState the visibility status we want to set to the listBox (true to set the listBox visible, false else)
+        * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
+        */
+       public static void setVisible(ListBox listBox, boolean newVisibleState) {
+               ScilabListBoxBridge.setVisible(listBox, newVisibleState);
+       }
+       
+       /**
+        * Set the Background color of the ListBox
+        * @param listBox the ListBox we want to set the background of
+        * @param color the Color
+        */
+       public static void setBackground(ListBox listBox, Color color) {
+               ScilabListBoxBridge.setBackground(listBox, color);
+       }
+
+       /**
+        * Get the Background color of the ListBox
+        * @param listBox the ListBox we want to get the background of
+        * @return the Color
+        */
+       public static Color getBackground(ListBox listBox) {
+               return ScilabListBoxBridge.getBackground(listBox);
+       }
+
+       /**
+        * Set the Foreground color of the ListBox
+        * @param listBox the ListBox we want to set the foreground of
+        * @param color the Color
+        */
+       public static void setForeground(ListBox listBox, Color color) {
+               ScilabListBoxBridge.setForeground(listBox, color);
+       }
+
+       /**
+        * Get the Foreground color of the ListBox
+        * @param listBox the ListBox we want to get the foreground of
+        * @return the Color
+        */
+       public static Color getForeground(ListBox listBox) {
+               return ScilabListBoxBridge.getForeground(listBox);
+       }
+
+       /**
+        * Set the font of the ListBox.
+        * @param listBox the ListBox we want to set the font of
+        * @param font the font
+        */
+       public static void setFont(ListBox listBox, Font font) {
+               ScilabListBoxBridge.setFont(listBox, font);
+       }
+       
+       /**
+        * Get the font of the ListBox.
+        * @param listBox the ListBox we want to get the font of
+        * @return the font
+        */
+       public static Font getFont(ListBox listBox) {
+               return ScilabListBoxBridge.getFont(listBox);
+       }
+
+       /**
+        * Set if the ListBox is enabled or not
+        * @param listBox the ListBox we want to set the status of
+        * @param status true if the ListBox is enabled
+        */
+       public static void setEnabled(ListBox listBox, boolean status) {
+               ScilabListBoxBridge.setEnabled(listBox, status);
+       }
+       
+       /**
+        * Add a callback to the ListBox
+        * @param listBox the ListBox we want to set the callback of
+        * @param command the Scilab command to execute when the ListBox is activated
+        * @param commandType the type of the command that will be executed.
+        */
+       public static void setCallback(ListBox listBox, String command, int commandType) {
+               ScilabListBoxBridge.setCallback(listBox, command, commandType);
+       }
+
+
+       /********************/
+       /* PopupMenu Bridge */
+       /********************/
+
+       /**
+        * Creates a new PopupMenu
+        * @return the created PopupMenu
+        */
+       public static SimplePopupMenu createPopupMenu() {
+               return ScilabPopupMenuBridge.createPopupMenu();
+       }
+       
+       /**
+        * Sets the Text of a PopupMenu
+        * @param popupMenu the PopupMenu we want to set the Text of
+        * @param newText the Text to set for the PopupMenu
+        */
+       public static void setText(PopupMenu popupMenu, String newText) {
+               ScilabPopupMenuBridge.setText(popupMenu, newText);
+       }
+       
+       /**
+        * Gets the text of an PopupMenu
+        * @param popupMenu the PopupMenu we want to get the text of
+        * @return the text of the PopupMenu
+        */
+       public static String getText(PopupMenu popupMenu) {
+               return ScilabPopupMenuBridge.getText(popupMenu);
+       }
+       
+       /**
+        * Draws a Scilab PopupMenu
+        * @param popupMenu the PopupMenu to draw
+        * @see org.scilab.modules.ihm.UIElement#draw()
+        */
+       public static void draw(PopupMenu popupMenu) {
+               ScilabPopupMenuBridge.draw(popupMenu);
+       }
+
+       /**
+        * Gets the dimensions (width and height) of a Scilab PopupMenu
+        * @param popupMenu the PopupMenu we want to get the dimensions of
+        * @return the size of the popupMenu
+        * @see org.scilab.modules.ihm.UIElement#getDims()
+        */
+       public static Size getDims(PopupMenu popupMenu) {
+               return ScilabPopupMenuBridge.getDims(popupMenu);
+       }
+
+       /**
+        * Gets the position (X-coordinate and Y-coordinate) of a Scilab popupMenu
+        * @param popupMenu the popupMenu we want to get the position of
+        * @return the position of the popupMenu
+        * @see org.scilab.modules.ihm.UIElement#getPosition()
+        */
+       public static Position getPosition(PopupMenu popupMenu) {
+               return ScilabPopupMenuBridge.getPosition(popupMenu);
+       }
+
+       /**
+        * Gets the visibility status of a Scilab PopupMenu
+        * @param popupMenu the popupMenu we want to get the visiblity status of
+        * @return the visibility status of the popupMenu (true if the popupMenu is visible, false if not)
+        * @see org.scilab.modules.ihm.UIElement#isVisible()
+        */
+       public static boolean isVisible(PopupMenu popupMenu) {
+               return ScilabPopupMenuBridge.isVisible(popupMenu);
+       }
+
+       /**
+        * Sets the dimensions (width and height) of a Scilab PopupMenu
+        * @param popupMenu the popupMenu we want to set the dimensions of
+        * @param newSize the size we want to set to the popupMenu
+        * @see org.scilab.modules.ihm.UIElement#setDims(org.scilab.modules.ihm.utils.Size)
+        */
+       public static void setDims(PopupMenu popupMenu, Size newSize) {
+               ScilabPopupMenuBridge.setDims(popupMenu, newSize);
+       }
+
+       /**
+        * Sets the position (X-coordinate and Y-coordinate) of a Scilab popupMenu
+        * @param popupMenu the popupMenu we want to set the position of
+        * @param newPosition the position we want to set to the popupMenu
+        * @see org.scilab.modules.ihm.UIElement#setPosition(org.scilab.modules.ihm.utils.Position)
+        */
+       public static void setPosition(PopupMenu popupMenu, Position newPosition) {
+               ScilabPopupMenuBridge.setPosition(popupMenu, newPosition);
+       }
+
+       /**
+        * Sets the visibility status of a Scilab PopupMenu
+        * @param popupMenu the popupMenu we want to set the visiblity status of
+        * @param newVisibleState the visibility status we want to set to the popupMenu (true to set the popupMenu visible, false else)
+        * @see org.scilab.modules.ihm.UIElement#setVisible(boolean)
+        */
+       public static void setVisible(PopupMenu popupMenu, boolean newVisibleState) {
+               ScilabPopupMenuBridge.setVisible(popupMenu, newVisibleState);
+       }
+       
+       /**
+        * Set the Background color of the PopupMenu
+        * @param popupMenu the PopupMenu we want to set the background of
+        * @param color the Color
+        */
+       public static void setBackground(PopupMenu popupMenu, Color color) {
+               ScilabPopupMenuBridge.setBackground(popupMenu, color);
+       }
+
+       /**
+        * Get the Background color of the PopupMenu
+        * @param popupMenu the PopupMenu we want to get the background of
+        * @return the Color
+        */
+       public static Color getBackground(PopupMenu popupMenu) {
+               return ScilabPopupMenuBridge.getBackground(popupMenu);
+       }
+
+       /**
+        * Set the Foreground color of the PopupMenu
+        * @param popupMenu the PopupMenu we want to set the foreground of
+        * @param color the Color
+        */
+       public static void setForeground(PopupMenu popupMenu, Color color) {
+               ScilabPopupMenuBridge.setForeground(popupMenu, color);
+       }
+
+       /**
+        * Get the Foreground color of the PopupMenu
+        * @param popupMenu the PopupMenu we want to get the foreground of
+        * @return the Color
+        */
+       public static Color getForeground(PopupMenu popupMenu) {
+               return ScilabPopupMenuBridge.getForeground(popupMenu);
+       }
+
+       /**
+        * Set the font of the PopupMenu.
+        * @param popupMenu the PopupMenu we want to set the font of
+        * @param font the font
+        */
+       public static void setFont(PopupMenu popupMenu, Font font) {
+               ScilabPopupMenuBridge.setFont(popupMenu, font);
+       }
+       
+       /**
+        * Get the font of the PopupMenu.
+        * @param popupMenu the PopupMenu we want to get the font of
+        * @return the font
+        */
+       public static Font getFont(PopupMenu popupMenu) {
+               return ScilabPopupMenuBridge.getFont(popupMenu);
+       }
+
+       /**
+        * Set if the PopupMenu is enabled or not
+        * @param popupMenu the PopupMenu we want to set the status of
+        * @param status true if the PopupMenu is enabled
+        */
+       public static void setEnabled(PopupMenu popupMenu, boolean status) {
+               ScilabPopupMenuBridge.setEnabled(popupMenu, status);
+       }
+       
+       /**
+        * Add a callback to the PopupMenu
+        * @param popupMenu the PopupMenu we want to set the callback of
+        * @param command the Scilab command to execute when the PopupMenu is activated
+        * @param commandType the type of the command that will be executed.
+        */
+       public static void setCallback(PopupMenu popupMenu, String command, int commandType) {
+               ScilabPopupMenuBridge.setCallback(popupMenu, command, commandType);
+       }
+
        /*********************/
        /* FlowLayout Bridge */
        /*********************/
index 79a4e52..644aa17 100644 (file)
@@ -4,36 +4,28 @@
 package org.scilab.modules.gui.bridge.checkbox;
 
 import javax.swing.JCheckBox;
-import javax.swing.border.LineBorder;
 
-import org.scilab.modules.gui.checkbox.CheckBox;
-import org.scilab.modules.gui.container.Container;
-import org.scilab.modules.gui.tab.Tab;
+import org.scilab.modules.gui.checkbox.SimpleCheckBox;
+import org.scilab.modules.gui.menubar.MenuBar;
+import org.scilab.modules.gui.toolbar.ToolBar;
 import org.scilab.modules.gui.utils.Position;
 import org.scilab.modules.gui.utils.Size;
 
 /**
  * Swing implementation for Scilab CheckBox in GUIs
+ * @author Vincent COUVERT
  * @author Marouane BEN JELLOUL
  */
-public class SwingScilabCheckBox extends JCheckBox {
-       // FIXME : Must have some Interface here...
-       //implements SimpleCheckBox {
-       
+public class SwingScilabCheckBox extends JCheckBox implements SimpleCheckBox {
+
+       private static final long serialVersionUID = 3435428345694647542L;
+
        /**
         * Constructor
         */
        public SwingScilabCheckBox() {
                super();
        }
-       
-       /**
-        * To set the Border color and size of the element.
-        * @param lineBorder the LineBorder
-        */
-       public void setBorder(LineBorder lineBorder) {
-               super.setBorder(lineBorder);
-       }
 
        /**
         * Draws a swing Scilab CheckBox
@@ -79,5 +71,51 @@ public class SwingScilabCheckBox extends JCheckBox {
        public void setPosition(Position newPosition) {
                this.setLocation(newPosition.getX(), newPosition.getY());
        }
+       
+       /**
+        * Add a callback to the CheckBox
+        * @param command the Scilab command to execute when the CheckBox is validated
+        * @param commandType the type of the command that will be executed.
+        */
+       public void setCallback(String command, int commandType) {
+               System.out.println("setCallback(String command, int commandType) is not yet implemented for SwingScilabCheckBox");
+               //addActionListener(ScilabCallBack.create(command, commandType));
+       }
+
+       /**
+        * Setter for MenuBar
+        * @param menuBarToAdd the MenuBar associated to the Tab.
+        */
+       public void addMenuBar(MenuBar menuBarToAdd) {
+               /* Unimplemented for CheckBoxes */
+               throw new UnsupportedOperationException();
+       }
+
+       /**
+        * Setter for ToolBar
+        * @param toolBarToAdd the ToolBar associated to the Tab.
+        */
+       public void addToolBar(ToolBar toolBarToAdd) {
+               /* Unimplemented for CheckBoxes */
+               throw new UnsupportedOperationException();
+       }
+
+       /**
+        * Getter for MenuBar
+        * @return MenuBar: the MenuBar associated to the Tab.
+        */
+       public MenuBar getMenuBar() {
+               /* Unimplemented for CheckBoxes */
+               throw new UnsupportedOperationException();
+       }
+
+       /**
+        * Getter for ToolBar
+        * @return ToolBar: the ToolBar associated to the Tab.
+        */
+       public ToolBar getToolBar() {
+               /* Unimplemented for CheckBoxes */
+               throw new UnsupportedOperationException();
+       }
 
 }
index d316a4d..a2e80ee 100644 (file)
@@ -260,8 +260,7 @@ public class SwingScilabFrame extends JPanel implements SimpleFrame {
         * @return index of member in ArrayList
         */
        public int addMember(ListBox member) {
-//              FIXME replace member with member.getAsSimpleListBox() when ready
-               return this.addMember((SwingScilabListBox) member);
+               return this.addMember((SwingScilabListBox) member.getAsSimpleListBox());
        }
 
        /**
index ca6573c..a19c526 100644 (file)
@@ -4,25 +4,23 @@
 package org.scilab.modules.gui.bridge.listbox;
 
 import java.awt.Color;
-import java.awt.Dimension;
 import java.awt.Font;
 
 import javax.swing.JList;
 import javax.swing.JScrollPane;
-import javax.swing.border.LineBorder;
 
-import org.scilab.modules.gui.container.Container;
-import org.scilab.modules.gui.listbox.ListBox;
+import org.scilab.modules.gui.listbox.SimpleListBox;
+import org.scilab.modules.gui.menubar.MenuBar;
+import org.scilab.modules.gui.toolbar.ToolBar;
 import org.scilab.modules.gui.utils.Position;
 import org.scilab.modules.gui.utils.Size;
 
 /**
  * Swing implementation for Scilab ListBox in GUIs
+ * @author Vincent COUVERT
  * @author Marouane BEN JELLOUL
  */
-public class SwingScilabListBox {
-//      FIXME : Must have some Interface here...
-//     implements SimpleListBox {
+public class SwingScilabListBox implements SimpleListBox {
        
        /**
         * the Scroll Pane that contain the JList
@@ -43,94 +41,13 @@ public class SwingScilabListBox {
        }
        
        /**
-        * Set the selection mode. The accepted selection modes are:
-        * - ListBox.SINGLE_SELECTION (=0)
-        * - ListBox.MULTIPLE_SELECTION (=2)
-        * @param mode - the selection mode we want
-        * @throws java.lang.IllegalArgumentException - if the selection mode isn't one of those allowed
-        * @see org.scilab.modules.gui.listbox.ListBox#setSelectionMode(int)
-        */
-       public void setSelectionMode(int mode) throws IllegalArgumentException {
-               switch (mode) {
-                       case 0:
-                               // ListBox.SINGLE_SELECTION is the same as ListSelectionModel.SINGLE_SELECTION of Swing
-                               list.setSelectionMode(mode);
-                               break;
-                       case 2:
-                               // ListBox.MULTIPLE_SELECTION is the same as ListSelectionModel.MULTIPLE_INTERVAL_SELECTION of Swing
-                               list.setSelectionMode(mode);
-                               break;
-                       default:
-                               throw new IllegalArgumentException("the mode " + mode + " is not allowed");
-               }
-       }
-       
-       /**
-        * To set the Border color and size of the element.
-        * @param lineBorder the LineBorder
-        */
-       public void setBorder(LineBorder lineBorder) {
-               scrollPane.setBorder(lineBorder);
-       }
-       
-       /**
-        * get the scroll pane that contain the listBox.
-        * @return the scroll pane that contain the listBox
+        * Get the scrollpane
+        * @return the scrollpane
         */
        public JScrollPane getScrollPane() {
                return scrollPane;
        }
-       
-       /**
-        * To set the content of the ListBox.
-        * @param listData the content of the ListBox
-        */
-       public void setListData(String[] listData) {
-               list.setListData(listData);
-       }
-       
-       /**
-        * To set the Dimension of the element.
-        * @param dimension the Dimension
-        */
-       public void setSize(Dimension dimension) {
-               scrollPane.setSize(dimension);
-       }
-       
-       /**
-        * To get the Dimension of the element.
-        * @return the Dimension
-        */
-       public Dimension getSize() {
-               return scrollPane.getSize();
-       }
-       
-       /**
-        * Moves this component to a new location. The top-left corner of the new location is specified by the x and y 
-        * parameters in the coordinate space of this component's parent.
-        * @param x - the x-coordinate of the new location's top-left corner in the parent's coordinate space
-        * @param y - the y-coordinate of the new location's top-left corner in the parent's coordinate space
-        */
-       public void setLocation(int x, int y) {
-               scrollPane.setLocation(x, y);
-       }
-       
-       /**
-        * To get the x coordinate  of the element.
-        * @return the x coordinate
-        */
-       public int getX() {
-               return scrollPane.getX();
-       }
-       
-       /**
-        * To get the y coordinate  of the element.
-        * @return the y coordinate
-        */
-       public int getY() {
-               return scrollPane.getY();
-       }
-       
+
        /**
         * To get the Background color of the element.
         * @return color the Color
@@ -193,7 +110,7 @@ public class SwingScilabListBox {
         * @see org.scilab.modules.gui.uielement.UIElement#getDims()
         */
        public Size getDims() {
-               return new Size(this.getSize().width, this.getSize().height);
+               return new Size(scrollPane.getWidth(), scrollPane.getHeight());
        }
 
        /**
@@ -202,7 +119,7 @@ public class SwingScilabListBox {
         * @see org.scilab.modules.gui.uielement.UIElement#getPosition()
         */
        public Position getPosition() {
-               return new Position(this.getX(), this.getY());
+               return new Position(scrollPane.getX(), scrollPane.getY());
        }
 
        /**
@@ -220,7 +137,7 @@ public class SwingScilabListBox {
         * @see org.scilab.modules.gui.uielement.UIElement#setPosition(org.scilab.modules.gui.utils.Position)
         */
        public void setPosition(Position newPosition) {
-               this.setLocation(newPosition.getX(), newPosition.getY());
+               scrollPane.setLocation(newPosition.getX(), newPosition.getY());
        }
 
        /**
@@ -228,8 +145,7 @@ public class SwingScilabListBox {
         * @return the visibility status of the UIElement (true if the UIElement is visible, false if not)
         */
        public boolean isVisible() {
-               // TODO check if this is ok
-               return list.isVisible();
+               return list.isVisible() & scrollPane.isVisible();
        }
        
        /**
@@ -241,17 +157,78 @@ public class SwingScilabListBox {
                scrollPane.setVisible(newVisibleState);
                list.setVisible(newVisibleState);
        }
-       
        /**
-        * Add this as member (dockable element) to the Scilab container and returns its index
-        * @param container the container in which we add this
-        * @return index of this in container components
-        * @see org.scilab.modules.gui.container.Container#addMember(org.scilab.modules.gui.dockable.Dockable)
-        * @see org.scilab.modules.gui.dockable.Dockable#addAsMemberTo(org.scilab.modules.gui.container.Container)
+        * Add a callback to the CheckBox
+        * @param command the Scilab command to execute when the CheckBox is validated
+        * @param commandType the type of the command that will be executed.
+        */
+       public void setCallback(String command, int commandType) {
+               System.out.println("setCallback(String command, int commandType) is not yet implemented for SwingScilabListBox");
+               //addActionListener(ScilabCallBack.create(command, commandType));
+       }
+
+       /**
+        * Setter for MenuBar
+        * @param menuBarToAdd the MenuBar associated to the Tab.
+        */
+       public void addMenuBar(MenuBar menuBarToAdd) {
+               /* Unimplemented for ListBoxes */
+               throw new UnsupportedOperationException();
+       }
+
+       /**
+        * Setter for ToolBar
+        * @param toolBarToAdd the ToolBar associated to the Tab.
+        */
+       public void addToolBar(ToolBar toolBarToAdd) {
+               /* Unimplemented for ListBoxes */
+               throw new UnsupportedOperationException();
+       }
+
+       /**
+        * Getter for MenuBar
+        * @return MenuBar: the MenuBar associated to the Tab.
+        */
+       public MenuBar getMenuBar() {
+               /* Unimplemented for ListBoxes */
+               throw new UnsupportedOperationException();
+       }
+
+       /**
+        * Getter for ToolBar
+        * @return ToolBar: the ToolBar associated to the Tab.
+        */
+       public ToolBar getToolBar() {
+               /* Unimplemented for ListBoxes */
+               throw new UnsupportedOperationException();
+       }
+
+       /**
+        * Get the text if the list items
+        * @return the items
+        * @see org.scilab.modules.gui.widget.Widget#getText()
+        */
+       public String getText() {
+               // TODO Auto-generated method stub
+               return null;
+       }
+
+       /**
+        * Enable or disable the list for selection
+        * @param status true to set the list enabled
+        * @see org.scilab.modules.gui.widget.Widget#setEnabled(boolean)
+        */
+       public void setEnabled(boolean status) {
+               list.setEnabled(status);
+               scrollPane.setEnabled(status);
+       }
+
+       /**
+        * Set the text of the list items
+        * @param text the text of the items
+        * @see org.scilab.modules.gui.widget.Widget#setText(java.lang.String)
         */
-       public int addAsMemberTo(Container container) {
-               // delegate to the container but also adding info on how to handle me (ListBox)
-               // Interface Container must describe methode: int addMember(ListBox member);
-               return container.addMember((ListBox) this);
+       public void setText(String text) {
+               // TODO Auto-generated method stub
        }
 }
index 9f4f35f..c6f2f4f 100644 (file)
@@ -5,36 +5,135 @@ package org.scilab.modules.gui.bridge.popupmenu;
 
 import javax.swing.JPopupMenu;
 
-import org.scilab.modules.gui.bridge.menuitem.SwingScilabMenuItem;
-import org.scilab.modules.gui.bridge.pushbutton.SwingScilabPushButton;
-import org.scilab.modules.gui.menuitem.MenuItem;
-import org.scilab.modules.gui.popupmenu.PopupMenu;
-import org.scilab.modules.gui.pushbutton.PushButton;
+import org.scilab.modules.gui.menubar.MenuBar;
+import org.scilab.modules.gui.popupmenu.SimplePopupMenu;
+import org.scilab.modules.gui.toolbar.ToolBar;
+import org.scilab.modules.gui.utils.Position;
+import org.scilab.modules.gui.utils.Size;
 
 /**
-* Swing implementation for Scilab PopupMenu in GUIs
-* @author Marouane BEN JELLOUL
-*/
-public class SwingScilabPopupMenu extends JPopupMenu implements PopupMenu {
+ * Swing implementation for Scilab PopupMenu in GUIs
+ * @author Vincent COUVERT
+ * @author Marouane BEN JELLOUL
+ */
+public class SwingScilabPopupMenu extends JPopupMenu implements SimplePopupMenu {
+
+       private static final long serialVersionUID = -4366581303317502544L;
+
+       /**
+        * Constructor
+        */
+       public SwingScilabPopupMenu() {
+               super();
+       }
        
        /**
-        * Append a MenuItem to the PopupMenu
-        * @param newMenuItem the MenuItem to add to the PopupMenu
-        * @return the added MenuItem
+        * Draws a swing Scilab tab
+        * @see org.scilab.modules.gui.uielement.UIElement#draw()
+        */
+       public void draw() {
+               this.setVisible(true);
+       }
+
+       /**
+        * Gets the dimensions (width and height) of a swing Scilab tab
+        * @return the dimensions of the tab
+        * @see org.scilab.modules.gui.uielement.UIElement#getDims()
+        */
+       public Size getDims() {
+               return new Size(getWidth(), getHeight());
+       }
+
+       /**
+        * Gets the position (X-coordinate and Y-coordinate) of a swing Scilab tab
+        * @return the position of the tab
+        * @see org.scilab.modules.gui.uielement.UIElement#getPosition()
+        */
+       public Position getPosition() {
+               return new Position(getX(), getY());
+       }
+
+       /**
+        * Sets the dimensions (width and height) of a swing Scilab tab
+        * @param newSize the dimensions we want to set to the tab
+        * @see org.scilab.modules.gui.uielement.UIElement#setDims(org.scilab.modules.gui.utils.Size)
+        */
+       public void setDims(Size newSize) {
+               setSize(newSize.getWidth(), newSize.getHeight());
+       }
+
+       /**
+        * Sets the position (X-coordinate and Y-coordinate) of a swing Scilab tab
+        * @param newPosition the position we want to set to the tab
+        * @see org.scilab.modules.gui.uielement.UIElement#setPosition(org.scilab.modules.gui.utils.Position)
+        */
+       public void setPosition(Position newPosition) {
+               setLocation(newPosition.getX(), newPosition.getY());
+       }
+
+       /**
+        * Add a callback to the PopupMenu
+        * @param command the Scilab command to execute when the PopupMenu is validated
+        * @param commandType the type of the command that will be executed.
+        */
+       public void setCallback(String command, int commandType) {
+               System.out.println("setCallback(String command, int commandType) is not yet implemented for SwingScilabPopupMenu");
+               //addActionListener(ScilabCallBack.create(command, commandType));
+       }
+
+       /**
+        * Setter for MenuBar
+        * @param menuBarToAdd the MenuBar associated to the Tab.
+        */
+       public void addMenuBar(MenuBar menuBarToAdd) {
+               /* Unimplemented for PopupMenus */
+               throw new UnsupportedOperationException();
+       }
+
+       /**
+        * Setter for ToolBar
+        * @param toolBarToAdd the ToolBar associated to the Tab.
         */
-       public MenuItem add(MenuItem newMenuItem) {
-               return (MenuItem) super.add((SwingScilabMenuItem) newMenuItem);
+       public void addToolBar(ToolBar toolBarToAdd) {
+               /* Unimplemented for PopupMenus */
+               throw new UnsupportedOperationException();
+       }
+
+       /**
+        * Getter for MenuBar
+        * @return MenuBar: the MenuBar associated to the Tab.
+        */
+       public MenuBar getMenuBar() {
+               /* Unimplemented for PopupMenus */
+               throw new UnsupportedOperationException();
+       }
+
+       /**
+        * Getter for ToolBar
+        * @return ToolBar: the ToolBar associated to the Tab.
+        */
+       public ToolBar getToolBar() {
+               /* Unimplemented for PopupMenus */
+               throw new UnsupportedOperationException();
        }
        
        /**
-        * Displays the popup menu at the position x,y in the coordinate space of the component invoker.
-        * @param pushButton - the component in whose space the popup menu is to appear
-        * @param x - the x coordinate in invoker's coordinate space at which the popup menu is to be displayed
-        * @param y - the y coordinate in invoker's coordinate space at which the popup menu is to be displayed
+        * Get the text if the PopupMenu items
+        * @return the items
+        * @see org.scilab.modules.gui.widget.Widget#getText()
         */
-       public void show(PushButton pushButton, int x, int y) {
-               super.show((SwingScilabPushButton) pushButton, x, y);
+       public String getText() {
+               // TODO Auto-generated method stub
+               return null;
        }
 
+       /**
+        * Set the text of the PopupMenu items
+        * @param text the text of the items
+        * @see org.scilab.modules.gui.widget.Widget#setText(java.lang.String)
+        */
+       public void setText(String text) {
+               // TODO Auto-generated method stub
+       }
 
 }
index 786530e..0f924eb 100644 (file)
@@ -4,20 +4,22 @@
 package org.scilab.modules.gui.bridge.radiobutton;
 
 import javax.swing.JRadioButton;
-import javax.swing.border.LineBorder;
 
-import org.scilab.modules.gui.container.Container;
-import org.scilab.modules.gui.radiobutton.RadioButton;
+import org.scilab.modules.gui.menubar.MenuBar;
+import org.scilab.modules.gui.radiobutton.SimpleRadioButton;
+import org.scilab.modules.gui.toolbar.ToolBar;
 import org.scilab.modules.gui.utils.Position;
 import org.scilab.modules.gui.utils.Size;
 
 /**
  * Swing implementation for Scilab RadioButton in GUIs
+ * @author Vincent COUVERT
  * @author Marouane BEN JELLOUL
  */
-public class SwingScilabRadioButton extends JRadioButton {
-//      FIXME : Must have some Interface here...
-//     implements SimpleRadioButton {
+public class SwingScilabRadioButton extends JRadioButton implements SimpleRadioButton {
+
+       private static final long serialVersionUID = -4094092157137686082L;
+
        /**
         * Constructor
         */
@@ -26,7 +28,8 @@ public class SwingScilabRadioButton extends JRadioButton {
        }
        
        /**
-        * 
+        * Draws a swing Scilab RadioButton
+        * @see org.scilab.modules.gui.UIElement#draw()
         */
        public void draw() {
                this.setVisible(true);
@@ -68,25 +71,50 @@ public class SwingScilabRadioButton extends JRadioButton {
        public void setPosition(Position newPosition) {
                this.setLocation(newPosition.getX(), newPosition.getY());
        }
-       
+
        /**
-        * To set the Border color and size of the element.
-        * @param lineBorder the LineBorder
+        * Add a callback to the RadioButton
+        * @param command the Scilab command to execute when the RadioButton is validated
+        * @param commandType the type of the command that will be executed.
         */
-       public void setBorder(LineBorder lineBorder) {
-               super.setBorder(lineBorder);
+       public void setCallback(String command, int commandType) {
+               System.out.println("setCallback(String command, int commandType) is not yet implemented for SwingScilabRadioButton");
+               //addActionListener(ScilabCallBack.create(command, commandType));
        }
-       
+
+       /**
+        * Setter for MenuBar
+        * @param menuBarToAdd the MenuBar associated to the Tab.
+        */
+       public void addMenuBar(MenuBar menuBarToAdd) {
+               /* Unimplemented for RadioButtones */
+               throw new UnsupportedOperationException();
+       }
+
+       /**
+        * Setter for ToolBar
+        * @param toolBarToAdd the ToolBar associated to the Tab.
+        */
+       public void addToolBar(ToolBar toolBarToAdd) {
+               /* Unimplemented for RadioButtones */
+               throw new UnsupportedOperationException();
+       }
+
+       /**
+        * Getter for MenuBar
+        * @return MenuBar: the MenuBar associated to the Tab.
+        */
+       public MenuBar getMenuBar() {
+               /* Unimplemented for RadioButtones */
+               throw new UnsupportedOperationException();
+       }
+
        /**
-        * Add this as member (dockable element) to the Scilab container and returns its index
-        * @param container the container in which we add this
-        * @return index of this in container components
-        * @see org.scilab.modules.gui.container.Container#addMember(org.scilab.modules.gui.dockable.Dockable)
-        * @see org.scilab.modules.gui.dockable.Dockable#addAsMemberTo(org.scilab.modules.gui.container.Container)
+        * Getter for ToolBar
+        * @return ToolBar: the ToolBar associated to the Tab.
         */
-       public int addAsMemberTo(Container container) {
-               // delegate to the container but also adding info on how to handle me (RadioButton)
-               // Interface Container must describe methode: int addMember(RadioButton member);
-               return container.addMember((RadioButton) this);
+       public ToolBar getToolBar() {
+               /* Unimplemented for RadioButtones */
+               throw new UnsupportedOperationException();
        }
 }
index 7a86216..7d6ed52 100644 (file)
@@ -4,20 +4,22 @@
 package org.scilab.modules.gui.bridge.slider;
 
 import javax.swing.JSlider;
-import javax.swing.border.LineBorder;
 
-import org.scilab.modules.gui.container.Container;
-import org.scilab.modules.gui.slider.Slider;
+import org.scilab.modules.gui.menubar.MenuBar;
+import org.scilab.modules.gui.slider.SimpleSlider;
+import org.scilab.modules.gui.toolbar.ToolBar;
 import org.scilab.modules.gui.utils.Position;
 import org.scilab.modules.gui.utils.Size;
 
 /**
  * Swing implementation for Scilab Slider in GUIs
+ * @author Vincent COUVERT
  * @author Marouane BEN JELLOUL
  */
-public class SwingScilabSlider extends JSlider {
-//      FIXME : Must have some Interface here...
-//     implements SimpleSlider {
+public class SwingScilabSlider extends JSlider implements SimpleSlider {
+
+       private static final long serialVersionUID = -4262320156090829309L;
+
        /**
         * Constructor
         */
@@ -26,28 +28,16 @@ public class SwingScilabSlider extends JSlider {
                // Scilab slider always snap to ticks
                setSnapToTicks(true);
        }
-       
+
        /**
-        * 
+        * Draws a swing Scilab Slider
+        * @see org.scilab.modules.gui.UIElement#draw()
         */
        public void draw() {
                this.setVisible(true);
                this.doLayout();
        }
-
-       /**
-        * Add this as member (dockable element) to the Scilab container and returns its index
-        * @param container the container in which we add this
-        * @return index of this in container components
-        * @see org.scilab.modules.gui.container.Container#addMember(org.scilab.modules.gui.dockable.Dockable)
-        * @see org.scilab.modules.gui.dockable.Dockable#addAsMemberTo(org.scilab.modules.gui.container.Container)
-        */
-       public int addAsMemberTo(Container container) {
-               // delegate to the container but also adding info on how to handle me (Slider)
-               // Interface Container must describe methode: int addMember(Slider member);
-               return container.addMember((Slider) this);
-       }
-
+       
        /**
         * Gets the dimensions (width and height) of a swing Scilab Slider
         * @return the dimensions of the Slider
@@ -83,12 +73,68 @@ public class SwingScilabSlider extends JSlider {
        public void setPosition(Position newPosition) {
                this.setLocation(newPosition.getX(), newPosition.getY());
        }
-       
+
+       /**
+        * Add a callback to the Slider
+        * @param command the Scilab command to execute when the Slider is validated
+        * @param commandType the type of the command that will be executed.
+        */
+       public void setCallback(String command, int commandType) {
+               System.out.println("setCallback(String command, int commandType) is not yet implemented for SwingScilabSlider");
+               //addActionListener(ScilabCallBack.create(command, commandType));
+       }
+
+       /**
+        * Setter for MenuBar
+        * @param menuBarToAdd the MenuBar associated to the Tab.
+        */
+       public void addMenuBar(MenuBar menuBarToAdd) {
+               /* Unimplemented for CheckBoxes */
+               throw new UnsupportedOperationException();
+       }
+
+       /**
+        * Setter for ToolBar
+        * @param toolBarToAdd the ToolBar associated to the Tab.
+        */
+       public void addToolBar(ToolBar toolBarToAdd) {
+               /* Unimplemented for CheckBoxes */
+               throw new UnsupportedOperationException();
+       }
+
+       /**
+        * Getter for MenuBar
+        * @return MenuBar: the MenuBar associated to the Tab.
+        */
+       public MenuBar getMenuBar() {
+               /* Unimplemented for CheckBoxes */
+               throw new UnsupportedOperationException();
+       }
+
+       /**
+        * Getter for ToolBar
+        * @return ToolBar: the ToolBar associated to the Tab.
+        */
+       public ToolBar getToolBar() {
+               /* Unimplemented for CheckBoxes */
+               throw new UnsupportedOperationException();
+       }
+
+       /**
+        * Get the text of the Slider
+        * @return the text
+        * @see org.scilab.modules.gui.widget.Widget#getText()
+        */
+       public String getText() {
+               return this.getName();
+       }
+
        /**
-        * To set the Border color and size of the element.
-        * @param lineBorder the LineBorder
+        * Set the text of the Slider
+        * @param text the text to set to the Slider
+        * @see org.scilab.modules.gui.widget.Widget#setText(java.lang.String)
         */
-       public void setBorder(LineBorder lineBorder) {
-               super.setBorder(lineBorder);
+       public void setText(String text) {
+               this.setName(text);
        }
 }
index 521f478..497d450 100644 (file)
@@ -5,19 +5,29 @@ package org.scilab.modules.gui.bridge.tab;
 import org.flexdock.docking.DockingConstants;
 import org.flexdock.view.View;
 import org.scilab.modules.gui.bridge.canvas.SwingScilabCanvas;
+import org.scilab.modules.gui.bridge.checkbox.SwingScilabCheckBox;
 import org.scilab.modules.gui.bridge.console.SwingScilabConsole;
 import org.scilab.modules.gui.bridge.editbox.SwingScilabEditBox;
 import org.scilab.modules.gui.bridge.frame.SwingScilabFrame;
 import org.scilab.modules.gui.bridge.label.SwingScilabLabel;
+import org.scilab.modules.gui.bridge.listbox.SwingScilabListBox;
+import org.scilab.modules.gui.bridge.popupmenu.SwingScilabPopupMenu;
 import org.scilab.modules.gui.bridge.pushbutton.SwingScilabPushButton;
+import org.scilab.modules.gui.bridge.radiobutton.SwingScilabRadioButton;
+import org.scilab.modules.gui.bridge.slider.SwingScilabSlider;
 import org.scilab.modules.gui.canvas.Canvas;
+import org.scilab.modules.gui.checkbox.CheckBox;
 import org.scilab.modules.gui.console.Console;
 import org.scilab.modules.gui.dockable.Dockable;
 import org.scilab.modules.gui.editbox.EditBox;
 import org.scilab.modules.gui.frame.Frame;
 import org.scilab.modules.gui.label.Label;
+import org.scilab.modules.gui.listbox.ListBox;
 import org.scilab.modules.gui.menubar.MenuBar;
+import org.scilab.modules.gui.popupmenu.PopupMenu;
 import org.scilab.modules.gui.pushbutton.PushButton;
+import org.scilab.modules.gui.radiobutton.RadioButton;
+import org.scilab.modules.gui.slider.Slider;
 import org.scilab.modules.gui.tab.SimpleTab;
 import org.scilab.modules.gui.toolbar.ToolBar;
 import org.scilab.modules.gui.utils.BarUpdater;
@@ -249,6 +259,106 @@ public class SwingScilabTab extends View implements SimpleTab {
         * @param member the member to add
         * @return index of member in ArrayList
         */
+       public int addMember(CheckBox member) {
+               return this.addMember((SwingScilabCheckBox) member.getAsSimpleCheckBox());
+       }
+       
+       /**
+        * Add a member (dockable element) to container and returns its index
+        * @param member the member to add
+        * @return index of member in ArrayList
+        */
+       private int addMember(SwingScilabCheckBox member) {
+               this.add(member);
+               this.revalidate(); // If do not revalidate then the component do not appear
+               return this.getComponentZOrder(member);
+       }
+
+       /**
+        * Add a member (dockable element) to container and returns its index
+        * @param member the member to add
+        * @return index of member in ArrayList
+        */
+       public int addMember(RadioButton member) {
+               return this.addMember((SwingScilabRadioButton) member.getAsSimpleRadioButton());
+       }
+       
+       /**
+        * Add a member (dockable element) to container and returns its index
+        * @param member the member to add
+        * @return index of member in ArrayList
+        */
+       private int addMember(SwingScilabRadioButton member) {
+               this.add(member);
+               this.revalidate(); // If do not revalidate then the component do not appear
+               return this.getComponentZOrder(member);
+       }
+
+       /**
+        * Add a member (dockable element) to container and returns its index
+        * @param member the member to add
+        * @return index of member in ArrayList
+        */
+       public int addMember(Slider member) {
+               return this.addMember((SwingScilabSlider) member.getAsSimpleSlider());
+       }
+       
+       /**
+        * Add a member (dockable element) to container and returns its index
+        * @param member the member to add
+        * @return index of member in ArrayList
+        */
+       private int addMember(SwingScilabSlider member) {
+               this.add(member);
+               this.revalidate(); // If do not revalidate then the component do not appear
+               return this.getComponentZOrder(member);
+       }
+
+       /**
+        * Add a member (dockable element) to container and returns its index
+        * @param member the member to add
+        * @return index of member in ArrayList
+        */
+       public int addMember(ListBox member) {
+               return this.addMember((SwingScilabListBox) member.getAsSimpleListBox());
+       }
+       
+       /**
+        * Add a member (dockable element) to container and returns its index
+        * @param member the member to add
+        * @return index of member in ArrayList
+        */
+       private int addMember(SwingScilabListBox member) {
+               this.add(member.getScrollPane());
+               this.revalidate(); // If do not revalidate then the component do not appear
+               return this.getComponentZOrder(member.getScrollPane());
+       }
+
+       /**
+        * Add a member (dockable element) to container and returns its index
+        * @param member the member to add
+        * @return index of member in ArrayList
+        */
+       public int addMember(PopupMenu member) {
+               return this.addMember((SwingScilabPopupMenu) member.getAsSimplePopupMenu());
+       }
+       
+       /**
+        * Add a member (dockable element) to container and returns its index
+        * @param member the member to add
+        * @return index of member in ArrayList
+        */
+       private int addMember(SwingScilabPopupMenu member) {
+               this.add(member);
+               this.revalidate(); // If do not revalidate then the component do not appear
+               return this.getComponentZOrder(member);
+       }
+
+       /**
+        * Add a member (dockable element) to container and returns its index
+        * @param member the member to add
+        * @return index of member in ArrayList
+        */
        public int addMember(Dockable member) {
                // TODO Auto-generated method stub
                return 0;
index b770861..6619853 100644 (file)
@@ -3,97 +3,18 @@
 
 package org.scilab.modules.gui.checkbox;
 
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Font;
-
-import javax.swing.border.LineBorder;
-
 import org.scilab.modules.gui.widget.Widget;
 
 /**
  * Interface for CheckBox associated to objects in Scilab GUIs
+ * @author Vincent COUVERT
  * @author Marouane BEN JELLOUL
  */
 public interface CheckBox extends Widget {
        
        /**
-        * Sets the text of a CheckBox
-        * @param text the text to set to the CheckBox
-        */
-       void setText(String text);
-
-       /**
-        * To set the Background color of the element.
-        * @param color the Color
-        */
-       void setBackground(Color color);
-       
-       /**
-        * To get the Background color of the element.
-        * @return color the Color
-        */
-       Color getBackground();
-       
-       /**
-        * To set the Foreground color of the element.
-        * @param color the Color
-        */
-       void setForeground(Color color);
-       
-       /**
-        * To get the Foreground color of the element.
-        * @return color the Color
-        */
-       Color getForeground();
-       
-       /**
-        * To set the Border color and size of the element.
-        * @param lineBorder the LineBorder
-        */
-       void setBorder(LineBorder lineBorder);
-       
-       /**
-        * To set the Font of the element.
-        * @param font the Font
-        */
-       void setFont(Font font);
-       
-       /**
-        * To get the Font of the element.
-        * @return font the Font
-        */
-       Font getFont();
-       
-       /**
-        * To set the Dimension of the element.
-        * @param dimension the Dimension
-        */
-       void setSize(Dimension dimension);
-       
-       /**
-        * To get the Dimension of the element.
-        * @return the Dimension
-        */
-       Dimension getSize();
-       
-       /**
-        * Moves this component to a new location. The top-left corner of the new location is specified by the x and y 
-        * parameters in the coordinate space of this component's parent.
-        * @param x - the x-coordinate of the new location's top-left corner in the parent's coordinate space
-        * @param y - the y-coordinate of the new location's top-left corner in the parent's coordinate space
-        */
-       void setLocation(int x, int y);
-       
-       /**
-        * To get the x coordinate  of the element.
-        * @return the x coordinate
-        */
-       int getX();
-       
-       /**
-        * To get the y coordinate  of the element.
-        * @return the y coordinate
+        * Gets this Bridge component object
+        * @return this Bridge component object
         */
-       int getY();
+       SimpleCheckBox getAsSimpleCheckBox();
 }
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/checkbox/ScilabCheckBox.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/checkbox/ScilabCheckBox.java
new file mode 100644 (file)
index 0000000..2826b79
--- /dev/null
@@ -0,0 +1,187 @@
+
+/* Copyright INRIA 2008 */
+
+package org.scilab.modules.gui.checkbox;
+
+import java.awt.Color;
+import java.awt.Font;
+
+import org.scilab.modules.gui.bridge.ScilabBridge;
+import org.scilab.modules.gui.utils.Position;
+import org.scilab.modules.gui.utils.Size;
+import org.scilab.modules.gui.widget.ScilabWidget;
+
+/**
+ * Class for Scilab EditBoxes in GUIs
+ * @author Vincent COUVERT
+ */
+public class ScilabCheckBox extends ScilabWidget implements CheckBox {
+
+       private SimpleCheckBox component;
+       
+       /**
+        * Constructor
+        */
+       protected ScilabCheckBox() {
+               component = ScilabBridge.createCheckBox();
+       }
+
+       /**
+        * Creates a Scilab CheckBox object
+        * @return the created CheckBox
+        */
+       public static CheckBox createCheckBox() {
+               return new ScilabCheckBox();
+       }
+       
+       /**
+        * Gets this Bridge component object
+        * @return this Bridge component object
+        */
+       public SimpleCheckBox getAsSimpleCheckBox() {
+               return component;
+       }
+       
+       /**
+        * Sets the text of a CheckBox
+        * @param newText the text to set to the CheckBox
+        */
+       public void setText(String newText) {
+               ScilabBridge.setText(this, newText);
+       }
+       
+       /**
+        * Gets the text of a CheckBox
+        * @return text of the CheckBox
+        */
+       public String getText() {
+               return ScilabBridge.getText(this);
+       }
+       
+       /**
+        * Draws a CheckBox
+        */
+       public void draw() {
+               ScilabBridge.draw(this);
+       }
+       
+       /**
+        * Sets the dimensions (width and height) of a swing Scilab element
+        * @param newSize the dimensions to set to the element
+        * @see org.scilab.modules.gui.uielement.UIElement#setDims(org.scilab.modules.gui.utils.Size)
+        */
+       public void setDims(Size newSize) {
+               ScilabBridge.setDims(this, newSize); 
+       }
+       
+       /**
+        * Gets the dimensions (width and height) of a swing Scilab element
+        * @return the dimensions (width and height) of the element
+        * @see org.scilab.modules.gui.uielement.UIElement#getDims(org.scilab.modules.gui.utils.Size)
+        */
+       public Size getDims() {
+               return ScilabBridge.getDims(this);
+       }
+       
+       /**
+        * Gets the position (X-coordinate and Y-coordinate) of a Scilab element
+        * @return the position of the element
+        * @see org.scilab.modules.gui.uielement.UIElement#getPosition()
+        */
+       public Position getPosition() {
+               return ScilabBridge.getPosition(this);
+       }
+
+       /**
+        * Sets the position (X-coordinate and Y-coordinate) of a Scilab element
+        * @param newPosition the position we want to set to the element
+        * @see org.scilab.modules.gui.uielement.UIElement#setPosition(org.scilab.modules.gui.utils.Position)
+        */
+       public void setPosition(Position newPosition) {
+               ScilabBridge.setPosition(this, newPosition);
+       }
+
+       /**
+        * Gets the visibility status of an UIElement
+        * @return the visibility status of the UIElement (true if the UIElement is visible, false if not)
+        */
+       public boolean isVisible() {
+               return ScilabBridge.isVisible(this);
+       }
+       
+       /**
+        * Sets the visibility status of a Menu
+        * @param newVisibleState the visibility status we want to set for the UIElement
+        *                      (true if the UIElement is visible, false if not)
+        */
+       public void setVisible(boolean newVisibleState) {
+               ScilabBridge.setVisible(this, newVisibleState);
+       }
+
+       /**
+        * To get the Background color of the element.
+        * @return color the Color
+        */
+       public Color getBackground() {
+               return ScilabBridge.getBackground(this);
+       }
+
+       /**
+        * To get the Font of the element.
+        * @return font the Font
+        */
+       public Font getFont() {
+               return ScilabBridge.getFont(this);
+       }
+
+       /**
+        * To get the Foreground color of the element.
+        * @return color the Color
+        */
+       public Color getForeground() {
+               return ScilabBridge.getForeground(this);
+       }
+
+       /**
+        * To set the Background color of the element.
+        * @param color the Color
+        */
+       public void setBackground(Color color) {
+               ScilabBridge.setBackground(this, color);
+       }
+
+       /**
+        * To set the Font of the element.
+        * @param font the Font
+        */
+       public void setFont(Font font) {
+               ScilabBridge.setFont(this, font);
+       }
+
+       /**
+        * To set the Foreground color of the element.
+        * @param color the Color
+        */
+       public void setForeground(Color color) {
+               ScilabBridge.setForeground(this, color);
+       }
+       
+       /**
+        * Add a callback to the CheckBox
+        * @param command the Scilab command to execute when the CheckBox is activated
+        * @param commandType the type of the command that will be executed.
+        */
+       public void setCallback(String command, int commandType) {
+               ScilabBridge.setCallback(this, command, commandType);
+       }
+       
+       /**
+        * Set if the CheckBox is enabled or not
+        * @param status true if the CheckBox is enabled
+        */
+       public void setEnabled(boolean status) {
+               ScilabBridge.setEnabled(this, status);
+       }
+
+
+}
index d8a54d6..27c7deb 100644 (file)
@@ -3,11 +3,17 @@
 
 package org.scilab.modules.gui.checkbox;
 
+import java.awt.Color;
+import java.awt.Font;
+
 import org.scilab.modules.gui.bridge.checkbox.SwingScilabCheckBox;
+import org.scilab.modules.gui.utils.Position;
+import org.scilab.modules.gui.utils.Size;
 
 /**
  * Bridge for Scilab TextBox in GUIs
  * @author Marouane BEN JELLOUL
+ * @author Vincent COUVERT
  */
 public class ScilabCheckBoxBridge {
 
@@ -22,9 +28,167 @@ public class ScilabCheckBoxBridge {
         * Creates a Scilab CheckBox
         * @return the created CheckBox
         */
-       public static CheckBox createCheckBox() {
-//              FIXME : UI CONTROL must be developped last !!!!!
-//             return new SwingScilabCheckBox();
-               return null;
+       public static SimpleCheckBox createCheckBox() {
+               return new SwingScilabCheckBox();
+       }
+       
+       /**
+        * Sets the Text of a Scilab CheckBox
+        * @param checkBox the CheckBox we want to set the Text of
+        * @param newText the Text we want to set to the CheckBox
+        */
+       public static void setText(CheckBox checkBox, String newText) {
+               checkBox.getAsSimpleCheckBox().setText(newText);
+       }
+       
+       /**
+        * Sets the Text of a Scilab CheckBox
+        * @param checkBox the CheckBox we want to get the Text of
+        * @return the text of the CheckBox
+        */
+       public static String getText(CheckBox checkBox) {
+               return checkBox.getAsSimpleCheckBox().getText();
+       }
+       
+       /**
+        * Draws a Scilab checkBox
+        * @param checkBox the checkBox to draw
+        * @see org.scilab.modules.gui.UIElement#draw()
+        */
+       public static void draw(CheckBox checkBox) {
+               checkBox.getAsSimpleCheckBox().draw();
+       }
+
+       /**
+        * Gets the dimensions (width and height) of a Scilab CheckBox
+        * @param checkBox the checkBox we want to get the dimensions of
+        * @return the size of the checkBox
+        * @see org.scilab.modules.gui.UIElement#getDims()
+        */
+       public static Size getDims(CheckBox checkBox) {
+               return checkBox.getAsSimpleCheckBox().getDims();
+       }
+
+       /**
+        * Gets the position (X-coordinate and Y-coordinate) of a Scilab checkBox
+        * @param checkBox the checkBox we want to get the position of
+        * @return the position of the checkBox
+        * @see org.scilab.modules.gui.UIElement#getPosition()
+        */
+       public static Position getPosition(CheckBox checkBox) {
+               return checkBox.getAsSimpleCheckBox().getPosition();
+       }
+
+       /**
+        * Gets the visibility status of a Scilab CheckBox
+        * @param checkBox the checkBox we want to get the visiblity status of
+        * @return the visibility status of the checkBox (true if the checkBox is visible, false if not)
+        * @see org.scilab.modules.gui.UIElement#isVisible()
+        */
+       public static boolean isVisible(CheckBox checkBox) {
+               return checkBox.getAsSimpleCheckBox().isVisible();
+       }
+
+       /**
+        * Sets the dimensions (width and height) of a Scilab CheckBox
+        * @param checkBox the checkBox we want to set the dimensions of
+        * @param newSize the size we want to set to the checkBox
+        * @see org.scilab.modules.gui.UIElement#setDims(org.scilab.modules.gui.utils.Size)
+        */
+       public static void setDims(CheckBox checkBox, Size newSize) {
+               checkBox.getAsSimpleCheckBox().setDims(newSize);
+       }
+
+       /**
+        * Sets the position (X-coordinate and Y-coordinate) of a Scilab checkBox
+        * @param checkBox the checkBox we want to set the position of
+        * @param newPosition the position we want to set to the checkBox
+        * @see org.scilab.modules.gui.UIElement#setPosition(org.scilab.modules.gui.utils.Position)
+        */
+       public static void setPosition(CheckBox checkBox, Position newPosition) {
+               checkBox.getAsSimpleCheckBox().setPosition(newPosition);
+       }
+
+       /**
+        * Sets the visibility status of a Scilab CheckBox
+        * @param checkBox the checkBox we want to set the visiblity status of
+        * @param newVisibleState the visibility status we want to set to the checkBox (true to set the checkBox visible, false else)
+        * @see org.scilab.modules.gui.UIElement#setVisible(boolean)
+        */
+       public static void setVisible(CheckBox checkBox, boolean newVisibleState) {
+               checkBox.getAsSimpleCheckBox().setVisible(newVisibleState);
+       }
+       
+       /**
+        * Add a callback to the CheckBox
+        * @param checkBox the CheckBox we want to set the callback of
+        * @param command the Scilab command to execute when the contents of the checkBox is validated
+        * @param commandType the type of the command that will be executed.
+        */
+       public static void setCallback(CheckBox checkBox, String command, int commandType) {
+               checkBox.getAsSimpleCheckBox().setCallback(command, commandType);
+       }
+       
+       /**
+        * To set the Background color of the CheckBox
+        * @param checkBox the CheckBox we want to set the background of
+        * @param color the Color
+        */
+       public static void setBackground(CheckBox checkBox, Color color) {
+               checkBox.getAsSimpleCheckBox().setBackground(color);
+       }
+
+       /**
+        * Get the Background color of the CheckBox
+        * @param checkBox the CheckBox we want to get the background of
+        * @return the Color
+        */
+       public static Color getBackground(CheckBox checkBox) {
+               return checkBox.getAsSimpleCheckBox().getBackground();
+       }
+
+       /**
+        * To set the Foreground color of the checkBox
+        * @param checkBox the CheckBox we want to set the foreground of
+        * @param color the Color
+        */
+       public static void setForeground(CheckBox checkBox, Color color) {
+               checkBox.getAsSimpleCheckBox().setForeground(color);
+       }
+
+       /**
+        * Get the Foreground color of the CheckBox
+        * @param checkBox the CheckBox we want to get the foreground of
+        * @return the Color
+        */
+       public static Color getForeground(CheckBox checkBox) {
+               return checkBox.getAsSimpleCheckBox().getForeground();
+       }
+
+       /**
+        * Set the font of the CheckBox.
+        * @param checkBox the CheckBox we want to set the font of
+        * @param font the font
+        */
+       public static void setFont(CheckBox checkBox, Font font) {
+               checkBox.getAsSimpleCheckBox().setFont(font);
+       }
+       
+       /**
+        * Get the font of the CheckBox.
+        * @param checkBox the CheckBox we want to get the font of
+        * @return the font
+        */
+       public static Font getFont(CheckBox checkBox) {
+               return checkBox.getAsSimpleCheckBox().getFont();
+       }
+       
+       /**
+        * Set if the CheckBox is enabled or not
+        * @param checkBox the CheckBox we want to set the status of
+        * @param status true if the CheckBox is enabled
+        */
+       public static void setEnabled(CheckBox checkBox, boolean status) {
+               checkBox.getAsSimpleCheckBox().setEnabled(status);
        }
 }
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/checkbox/SimpleCheckBox.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/checkbox/SimpleCheckBox.java
new file mode 100644 (file)
index 0000000..0f4f125
--- /dev/null
@@ -0,0 +1,13 @@
+
+/* Copyright INRIA 2008 */
+
+package org.scilab.modules.gui.checkbox;
+
+import org.scilab.modules.gui.widget.Widget;
+
+/**
+ * Interface for CheckBoxBridge the associated object to Scilab GUIs Checkbox
+ * @author Vincent COUVERT
+ */
+public interface SimpleCheckBox extends Widget {
+}
index 10946a0..9b6b8d8 100644 (file)
 
 package org.scilab.modules.gui.listbox;
 
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Font;
-
-import javax.swing.border.LineBorder;
-
 import org.scilab.modules.gui.widget.Widget;
 
 /**
  * Interface for ListBox associated to objects in Scilab GUIs
+ * @author Vincent COUVERT
  * @author Marouane BEN JELLOUL
  */
 public interface ListBox extends Widget {
        
        /**
-        * Only one list index can be selected at a time.
-        */
-       int SINGLE_SELECTION = 0;
-       
-       /**
-        * In this mode, there's no restriction on what can be selected.
-        */
-       int MULTIPLE_SELECTION = 2;
-       
-       /**
-        * To set the content of the ListBox.
-        * @param listData the content of the ListBox 
-        */
-       void setListData(String[] listData);
-       
-       /**
-        * Set the selection mode. The accepted selection modes are:
-        * - ListBox.SINGLE_SELECTION (=0)
-        * - ListBox.MULTIPLE_SELECTION (=2)
-        * @param mode - the selection mode we want
-        * @throws java.lang.IllegalArgumentException - if the selection mode isn't one of those allowed
+        * Gets this Bridge component object
+        * @return this Bridge component object
         */
-       void setSelectionMode(int mode) throws IllegalArgumentException;
+       SimpleListBox getAsSimpleListBox();
 
-       /**
-        * To set the Background color of the element.
-        * @param color the Color
-        */
-       void setBackground(Color color);
-       
-       /**
-        * To get the Background color of the element.
-        * @return color the Color
-        */
-       Color getBackground();
-       
-       /**
-        * To set the Foreground color of the element.
-        * @param color the Color
-        */
-       void setForeground(Color color);
-       
-       /**
-        * To get the Foreground color of the element.
-        * @return color the Color
-        */
-       Color getForeground();
-       
-       /**
-        * To set the Border color and size of the element.
-        * @param lineBorder the LineBorder
-        */
-       void setBorder(LineBorder lineBorder);
-       
-       /**
-        * To set the Font of the element.
-        * @param font the Font
-        */
-       void setFont(Font font);
-       
-       /**
-        * To get the Font of the element.
-        * @return font the Font
-        */
-       Font getFont();
-       
-       /**
-        * To set the Dimension of the element.
-        * @param dimension the Dimension
-        */
-       void setSize(Dimension dimension);
-       
-       /**
-        * To get the Dimension of the element.
-        * @return the Dimension
-        */
-       Dimension getSize();
-       
-       /**
-        * Moves this component to a new location. The top-left corner of the new location is specified by the x and y 
-        * parameters in the coordinate space of this component's parent.
-        * @param x - the x-coordinate of the new location's top-left corner in the parent's coordinate space
-        * @param y - the y-coordinate of the new location's top-left corner in the parent's coordinate space
-        */
-       void setLocation(int x, int y);
-       
-       /**
-        * To get the x coordinate  of the element.
-        * @return the x coordinate
-        */
-       int getX();
-       
-       /**
-        * To get the y coordinate  of the element.
-        * @return the y coordinate
-        */
-       int getY();
 }
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/listbox/ScilabListBox.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/listbox/ScilabListBox.java
new file mode 100644 (file)
index 0000000..95839ae
--- /dev/null
@@ -0,0 +1,187 @@
+
+/* Copyright INRIA 2008 */
+
+package org.scilab.modules.gui.listbox;
+
+import java.awt.Color;
+import java.awt.Font;
+
+import org.scilab.modules.gui.bridge.ScilabBridge;
+import org.scilab.modules.gui.utils.Position;
+import org.scilab.modules.gui.utils.Size;
+import org.scilab.modules.gui.widget.ScilabWidget;
+
+/**
+ * Class for Scilab EditBoxes in GUIs
+ * @author Vincent COUVERT
+ */
+public class ScilabListBox extends ScilabWidget implements ListBox {
+
+       private SimpleListBox component;
+       
+       /**
+        * Constructor
+        */
+       protected ScilabListBox() {
+               component = ScilabBridge.createListBox();
+       }
+
+       /**
+        * Creates a Scilab ListBox object
+        * @return the created ListBox
+        */
+       public static ListBox createListBox() {
+               return new ScilabListBox();
+       }
+       
+       /**
+        * Gets this Bridge component object
+        * @return this Bridge component object
+        */
+       public SimpleListBox getAsSimpleListBox() {
+               return component;
+       }
+       
+       /**
+        * Sets the text of a ListBox
+        * @param newText the text to set to the ListBox
+        */
+       public void setText(String newText) {
+               ScilabBridge.setText(this, newText);
+       }
+       
+       /**
+        * Gets the text of a ListBox
+        * @return text of the ListBox
+        */
+       public String getText() {
+               return ScilabBridge.getText(this);
+       }
+       
+       /**
+        * Draws a ListBox
+        */
+       public void draw() {
+               ScilabBridge.draw(this);
+       }
+       
+       /**
+        * Sets the dimensions (width and height) of a swing Scilab element
+        * @param newSize the dimensions to set to the element
+        * @see org.scilab.modules.gui.uielement.UIElement#setDims(org.scilab.modules.gui.utils.Size)
+        */
+       public void setDims(Size newSize) {
+               ScilabBridge.setDims(this, newSize); 
+       }
+       
+       /**
+        * Gets the dimensions (width and height) of a swing Scilab element
+        * @return the dimensions (width and height) of the element
+        * @see org.scilab.modules.gui.uielement.UIElement#getDims(org.scilab.modules.gui.utils.Size)
+        */
+       public Size getDims() {
+               return ScilabBridge.getDims(this);
+       }
+       
+       /**
+        * Gets the position (X-coordinate and Y-coordinate) of a Scilab element
+        * @return the position of the element
+        * @see org.scilab.modules.gui.uielement.UIElement#getPosition()
+        */
+       public Position getPosition() {
+               return ScilabBridge.getPosition(this);
+       }
+
+       /**
+        * Sets the position (X-coordinate and Y-coordinate) of a Scilab element
+        * @param newPosition the position we want to set to the element
+        * @see org.scilab.modules.gui.uielement.UIElement#setPosition(org.scilab.modules.gui.utils.Position)
+        */
+       public void setPosition(Position newPosition) {
+               ScilabBridge.setPosition(this, newPosition);
+       }
+
+       /**
+        * Gets the visibility status of an UIElement
+        * @return the visibility status of the UIElement (true if the UIElement is visible, false if not)
+        */
+       public boolean isVisible() {
+               return ScilabBridge.isVisible(this);
+       }
+       
+       /**
+        * Sets the visibility status of a Menu
+        * @param newVisibleState the visibility status we want to set for the UIElement
+        *                      (true if the UIElement is visible, false if not)
+        */
+       public void setVisible(boolean newVisibleState) {
+               ScilabBridge.setVisible(this, newVisibleState);
+       }
+
+       /**
+        * To get the Background color of the element.
+        * @return color the Color
+        */
+       public Color getBackground() {
+               return ScilabBridge.getBackground(this);
+       }
+
+       /**
+        * To get the Font of the element.
+        * @return font the Font
+        */
+       public Font getFont() {
+               return ScilabBridge.getFont(this);
+       }
+
+       /**
+        * To get the Foreground color of the element.
+        * @return color the Color
+        */
+       public Color getForeground() {
+               return ScilabBridge.getForeground(this);
+       }
+
+       /**
+        * To set the Background color of the element.
+        * @param color the Color
+        */
+       public void setBackground(Color color) {
+               ScilabBridge.setBackground(this, color);
+       }
+
+       /**
+        * To set the Font of the element.
+        * @param font the Font
+        */
+       public void setFont(Font font) {
+               ScilabBridge.setFont(this, font);
+       }
+
+       /**
+        * To set the Foreground color of the element.
+        * @param color the Color
+        */
+       public void setForeground(Color color) {
+               ScilabBridge.setForeground(this, color);
+       }
+       
+       /**
+        * Add a callback to the ListBox
+        * @param command the Scilab command to execute when the ListBox is activated
+        * @param commandType the type of the command that will be executed.
+        */
+       public void setCallback(String command, int commandType) {
+               ScilabBridge.setCallback(this, command, commandType);
+       }
+       
+       /**
+        * Set if the ListBox is enabled or not
+        * @param status true if the ListBox is enabled
+        */
+       public void setEnabled(boolean status) {
+               ScilabBridge.setEnabled(this, status);
+       }
+
+
+}
index dbbc26f..f34052c 100644 (file)
@@ -3,8 +3,16 @@
 
 package org.scilab.modules.gui.listbox;
 
+import java.awt.Color;
+import java.awt.Font;
+
+import org.scilab.modules.gui.bridge.listbox.SwingScilabListBox;
+import org.scilab.modules.gui.utils.Position;
+import org.scilab.modules.gui.utils.Size;
+
 /**
  * Bridge for Scilab ListBox in GUIs
+ * @author Vincent COUVERT
  * @author Marouane BEN JELLOUL
  */
 public class ScilabListBoxBridge {
@@ -16,13 +24,172 @@ public class ScilabListBoxBridge {
                throw new UnsupportedOperationException(); /* Prevents calls from subclass */
        }
 
+
        /**
         * Creates a Scilab ListBox
         * @return the created ListBox
         */
-       public static ListBox createListBox() {
-//              FIXME : UI CONTROL must be developped last !!!!!
-//             return new SwingScilabListBox();
-               return null;
+       public static SimpleListBox createListBox() {
+               return new SwingScilabListBox();
+       }
+       
+       /**
+        * Sets the Text of a Scilab ListBox
+        * @param listBox the ListBox we want to set the Text of
+        * @param newText the Text we want to set to the ListBox
+        */
+       public static void setText(ListBox listBox, String newText) {
+               listBox.getAsSimpleListBox().setText(newText);
+       }
+       
+       /**
+        * Sets the Text of a Scilab ListBox
+        * @param listBox the ListBox we want to get the Text of
+        * @return the text of the ListBox
+        */
+       public static String getText(ListBox listBox) {
+               return listBox.getAsSimpleListBox().getText();
+       }
+       
+       /**
+        * Draws a Scilab listBox
+        * @param listBox the listBox to draw
+        * @see org.scilab.modules.gui.UIElement#draw()
+        */
+       public static void draw(ListBox listBox) {
+               listBox.getAsSimpleListBox().draw();
+       }
+
+       /**
+        * Gets the dimensions (width and height) of a Scilab ListBox
+        * @param listBox the listBox we want to get the dimensions of
+        * @return the size of the listBox
+        * @see org.scilab.modules.gui.UIElement#getDims()
+        */
+       public static Size getDims(ListBox listBox) {
+               return listBox.getAsSimpleListBox().getDims();
+       }
+
+       /**
+        * Gets the position (X-coordinate and Y-coordinate) of a Scilab listBox
+        * @param listBox the listBox we want to get the position of
+        * @return the position of the listBox
+        * @see org.scilab.modules.gui.UIElement#getPosition()
+        */
+       public static Position getPosition(ListBox listBox) {
+               return listBox.getAsSimpleListBox().getPosition();
+       }
+
+       /**
+        * Gets the visibility status of a Scilab ListBox
+        * @param listBox the listBox we want to get the visiblity status of
+        * @return the visibility status of the listBox (true if the listBox is visible, false if not)
+        * @see org.scilab.modules.gui.UIElement#isVisible()
+        */
+       public static boolean isVisible(ListBox listBox) {
+               return listBox.getAsSimpleListBox().isVisible();
+       }
+
+       /**
+        * Sets the dimensions (width and height) of a Scilab ListBox
+        * @param listBox the listBox we want to set the dimensions of
+        * @param newSize the size we want to set to the listBox
+        * @see org.scilab.modules.gui.UIElement#setDims(org.scilab.modules.gui.utils.Size)
+        */
+       public static void setDims(ListBox listBox, Size newSize) {
+               listBox.getAsSimpleListBox().setDims(newSize);
+       }
+
+       /**
+        * Sets the position (X-coordinate and Y-coordinate) of a Scilab listBox
+        * @param listBox the listBox we want to set the position of
+        * @param newPosition the position we want to set to the listBox
+        * @see org.scilab.modules.gui.UIElement#setPosition(org.scilab.modules.gui.utils.Position)
+        */
+       public static void setPosition(ListBox listBox, Position newPosition) {
+               listBox.getAsSimpleListBox().setPosition(newPosition);
+       }
+
+       /**
+        * Sets the visibility status of a Scilab ListBox
+        * @param listBox the listBox we want to set the visiblity status of
+        * @param newVisibleState the visibility status we want to set to the listBox (true to set the listBox visible, false else)
+        * @see org.scilab.modules.gui.UIElement#setVisible(boolean)
+        */
+       public static void setVisible(ListBox listBox, boolean newVisibleState) {
+               listBox.getAsSimpleListBox().setVisible(newVisibleState);
+       }
+       
+       /**
+        * Add a callback to the ListBox
+        * @param listBox the ListBox we want to set the callback of
+        * @param command the Scilab command to execute when the contents of the listBox is validated
+        * @param commandType the type of the command that will be executed.
+        */
+       public static void setCallback(ListBox listBox, String command, int commandType) {
+               listBox.getAsSimpleListBox().setCallback(command, commandType);
+       }
+       
+       /**
+        * To set the Background color of the ListBox
+        * @param listBox the ListBox we want to set the background of
+        * @param color the Color
+        */
+       public static void setBackground(ListBox listBox, Color color) {
+               listBox.getAsSimpleListBox().setBackground(color);
+       }
+
+       /**
+        * Get the Background color of the ListBox
+        * @param listBox the ListBox we want to get the background of
+        * @return the Color
+        */
+       public static Color getBackground(ListBox listBox) {
+               return listBox.getAsSimpleListBox().getBackground();
+       }
+
+       /**
+        * To set the Foreground color of the listBox
+        * @param listBox the ListBox we want to set the foreground of
+        * @param color the Color
+        */
+       public static void setForeground(ListBox listBox, Color color) {
+               listBox.getAsSimpleListBox().setForeground(color);
+       }
+
+       /**
+        * Get the Foreground color of the ListBox
+        * @param listBox the ListBox we want to get the foreground of
+        * @return the Color
+        */
+       public static Color getForeground(ListBox listBox) {
+               return listBox.getAsSimpleListBox().getForeground();
+       }
+
+       /**
+        * Set the font of the ListBox.
+        * @param listBox the ListBox we want to set the font of
+        * @param font the font
+        */
+       public static void setFont(ListBox listBox, Font font) {
+               listBox.getAsSimpleListBox().setFont(font);
+       }
+       
+       /**
+        * Get the font of the ListBox.
+        * @param listBox the ListBox we want to get the font of
+        * @return the font
+        */
+       public static Font getFont(ListBox listBox) {
+               return listBox.getAsSimpleListBox().getFont();
+       }
+       
+       /**
+        * Set if the ListBox is enabled or not
+        * @param listBox the ListBox we want to set the status of
+        * @param status true if the ListBox is enabled
+        */
+       public static void setEnabled(ListBox listBox, boolean status) {
+               listBox.getAsSimpleListBox().setEnabled(status);
        }
 }
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/listbox/SimpleListBox.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/listbox/SimpleListBox.java
new file mode 100644 (file)
index 0000000..222419d
--- /dev/null
@@ -0,0 +1,13 @@
+
+/* Copyright INRIA 2008 */
+
+package org.scilab.modules.gui.listbox;
+
+import org.scilab.modules.gui.widget.Widget;
+
+/**
+ * Interface for CheckBoxBridge the associated object to Scilab GUIs Checkbox
+ * @author Vincent COUVERT
+ */
+public interface SimpleListBox extends Widget {
+}
index 117218f..2ef0fa4 100644 (file)
@@ -3,29 +3,18 @@
 
 package org.scilab.modules.gui.popupmenu;
 
-import org.scilab.modules.gui.menuitem.MenuItem;
-import org.scilab.modules.gui.pushbutton.PushButton;
+import org.scilab.modules.gui.widget.Widget;
 
 /**
  * Interface for PopupMenu associated to objects in Scilab GUIs
+ * @author Vincent COUVERT
  * @author Marouane BEN JELLOUL
  */
-public interface PopupMenu {
-       // TODO : Add the methods that are usefull for a PopupMenu
+public interface PopupMenu extends Widget {
        
        /**
-        * Append a MenuItem to the PopupMenu
-        * @param newMenuItem the MenuItem to add to the PopupMenu
-        * @return the added MenuItem
+        * Gets this Bridge component object
+        * @return this Bridge component object
         */
-       MenuItem add(MenuItem newMenuItem);
-       
-       /**
-        * Displays the popup menu at the position x,y in the coordinate space of the component invoker.
-        * @param pushButton - the component in whose space the popup menu is to appear
-        * @param x - the x coordinate in invoker's coordinate space at which the popup menu is to be displayed
-        * @param y - the y coordinate in invoker's coordinate space at which the popup menu is to be displayed
-        */
-       void show(PushButton pushButton, int x, int y);
-
+       SimplePopupMenu getAsSimplePopupMenu();
 }
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/popupmenu/ScilabPopupMenu.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/popupmenu/ScilabPopupMenu.java
new file mode 100644 (file)
index 0000000..5c239f4
--- /dev/null
@@ -0,0 +1,187 @@
+
+/* Copyright INRIA 2008 */
+
+package org.scilab.modules.gui.popupmenu;
+
+import java.awt.Color;
+import java.awt.Font;
+
+import org.scilab.modules.gui.bridge.ScilabBridge;
+import org.scilab.modules.gui.utils.Position;
+import org.scilab.modules.gui.utils.Size;
+import org.scilab.modules.gui.widget.ScilabWidget;
+
+/**
+ * Class for Scilab PopupMenu in GUIs
+ * @author Vincent COUVERT
+ */
+public class ScilabPopupMenu extends ScilabWidget implements PopupMenu {
+
+       private SimplePopupMenu component;
+       
+       /**
+        * Constructor
+        */
+       protected ScilabPopupMenu() {
+               component = ScilabBridge.createPopupMenu();
+       }
+
+       /**
+        * Creates a Scilab PopupMenu object
+        * @return the created PopupMenu
+        */
+       public static PopupMenu createPopupMenu() {
+               return new ScilabPopupMenu();
+       }
+       
+       /**
+        * Gets this Bridge component object
+        * @return this Bridge component object
+        */
+       public SimplePopupMenu getAsSimplePopupMenu() {
+               return component;
+       }
+       
+       /**
+        * Sets the text of a PopupMenu
+        * @param newText the text to set to the PopupMenu
+        */
+       public void setText(String newText) {
+               ScilabBridge.setText(this, newText);
+       }
+       
+       /**
+        * Gets the text of a PopupMenu
+        * @return text of the PopupMenu
+        */
+       public String getText() {
+               return ScilabBridge.getText(this);
+       }
+       
+       /**
+        * Draws a PopupMenu
+        */
+       public void draw() {
+               ScilabBridge.draw(this);
+       }
+       
+       /**
+        * Sets the dimensions (width and height) of a swing Scilab element
+        * @param newSize the dimensions to set to the element
+        * @see org.scilab.modules.gui.uielement.UIElement#setDims(org.scilab.modules.gui.utils.Size)
+        */
+       public void setDims(Size newSize) {
+               ScilabBridge.setDims(this, newSize); 
+       }
+       
+       /**
+        * Gets the dimensions (width and height) of a swing Scilab element
+        * @return the dimensions (width and height) of the element
+        * @see org.scilab.modules.gui.uielement.UIElement#getDims(org.scilab.modules.gui.utils.Size)
+        */
+       public Size getDims() {
+               return ScilabBridge.getDims(this);
+       }
+       
+       /**
+        * Gets the position (X-coordinate and Y-coordinate) of a Scilab element
+        * @return the position of the element
+        * @see org.scilab.modules.gui.uielement.UIElement#getPosition()
+        */
+       public Position getPosition() {
+               return ScilabBridge.getPosition(this);
+       }
+
+       /**
+        * Sets the position (X-coordinate and Y-coordinate) of a Scilab element
+        * @param newPosition the position we want to set to the element
+        * @see org.scilab.modules.gui.uielement.UIElement#setPosition(org.scilab.modules.gui.utils.Position)
+        */
+       public void setPosition(Position newPosition) {
+               ScilabBridge.setPosition(this, newPosition);
+       }
+
+       /**
+        * Gets the visibility status of an UIElement
+        * @return the visibility status of the UIElement (true if the UIElement is visible, false if not)
+        */
+       public boolean isVisible() {
+               return ScilabBridge.isVisible(this);
+       }
+       
+       /**
+        * Sets the visibility status of a Menu
+        * @param newVisibleState the visibility status we want to set for the UIElement
+        *                      (true if the UIElement is visible, false if not)
+        */
+       public void setVisible(boolean newVisibleState) {
+               ScilabBridge.setVisible(this, newVisibleState);
+       }
+
+       /**
+        * To get the Background color of the element.
+        * @return color the Color
+        */
+       public Color getBackground() {
+               return ScilabBridge.getBackground(this);
+       }
+
+       /**
+        * To get the Font of the element.
+        * @return font the Font
+        */
+       public Font getFont() {
+               return ScilabBridge.getFont(this);
+       }
+
+       /**
+        * To get the Foreground color of the element.
+        * @return color the Color
+        */
+       public Color getForeground() {
+               return ScilabBridge.getForeground(this);
+       }
+
+       /**
+        * To set the Background color of the element.
+        * @param color the Color
+        */
+       public void setBackground(Color color) {
+               ScilabBridge.setBackground(this, color);
+       }
+
+       /**
+        * To set the Font of the element.
+        * @param font the Font
+        */
+       public void setFont(Font font) {
+               ScilabBridge.setFont(this, font);
+       }
+
+       /**
+        * To set the Foreground color of the element.
+        * @param color the Color
+        */
+       public void setForeground(Color color) {
+               ScilabBridge.setForeground(this, color);
+       }
+       
+       /**
+        * Add a callback to the PopupMenu
+        * @param command the Scilab command to execute when the PopupMenu is activated
+        * @param commandType the type of the command that will be executed.
+        */
+       public void setCallback(String command, int commandType) {
+               ScilabBridge.setCallback(this, command, commandType);
+       }
+       
+       /**
+        * Set if the PopupMenu is enabled or not
+        * @param status true if the PopupMenu is enabled
+        */
+       public void setEnabled(boolean status) {
+               ScilabBridge.setEnabled(this, status);
+       }
+
+
+}
index 1f3932a..e2fc407 100644 (file)
@@ -3,10 +3,16 @@
 
 package org.scilab.modules.gui.popupmenu;
 
+import java.awt.Color;
+import java.awt.Font;
+
 import org.scilab.modules.gui.bridge.popupmenu.SwingScilabPopupMenu;
+import org.scilab.modules.gui.utils.Position;
+import org.scilab.modules.gui.utils.Size;
 
 /**
  * Bridge for Scilab PopupMenus in GUIs
+ * @author Vincent COUVERT
  * @author Marouane BEN JELLOUL
  */
 public class ScilabPopupMenuBridge {
@@ -22,8 +28,167 @@ public class ScilabPopupMenuBridge {
         * Creates a Scilab PopupMenu
         * @return the created PopupMenu
         */
-       public static PopupMenu createPopupMenu() {
+       public static SimplePopupMenu createPopupMenu() {
                return new SwingScilabPopupMenu();
        }
        
+       /**
+        * Sets the Text of a Scilab PopupMenu
+        * @param popupMenu the PopupMenu we want to set the Text of
+        * @param newText the Text we want to set to the PopupMenu
+        */
+       public static void setText(PopupMenu popupMenu, String newText) {
+               popupMenu.getAsSimplePopupMenu().setText(newText);
+       }
+       
+       /**
+        * Sets the Text of a Scilab PopupMenu
+        * @param popupMenu the PopupMenu we want to get the Text of
+        * @return the text of the PopupMenu
+        */
+       public static String getText(PopupMenu popupMenu) {
+               return popupMenu.getAsSimplePopupMenu().getText();
+       }
+       
+       /**
+        * Draws a Scilab popupMenu
+        * @param popupMenu the popupMenu to draw
+        * @see org.scilab.modules.gui.UIElement#draw()
+        */
+       public static void draw(PopupMenu popupMenu) {
+               popupMenu.getAsSimplePopupMenu().draw();
+       }
+
+       /**
+        * Gets the dimensions (width and height) of a Scilab PopupMenu
+        * @param popupMenu the popupMenu we want to get the dimensions of
+        * @return the size of the popupMenu
+        * @see org.scilab.modules.gui.UIElement#getDims()
+        */
+       public static Size getDims(PopupMenu popupMenu) {
+               return popupMenu.getAsSimplePopupMenu().getDims();
+       }
+
+       /**
+        * Gets the position (X-coordinate and Y-coordinate) of a Scilab popupMenu
+        * @param popupMenu the popupMenu we want to get the position of
+        * @return the position of the popupMenu
+        * @see org.scilab.modules.gui.UIElement#getPosition()
+        */
+       public static Position getPosition(PopupMenu popupMenu) {
+               return popupMenu.getAsSimplePopupMenu().getPosition();
+       }
+
+       /**
+        * Gets the visibility status of a Scilab PopupMenu
+        * @param popupMenu the popupMenu we want to get the visiblity status of
+        * @return the visibility status of the popupMenu (true if the popupMenu is visible, false if not)
+        * @see org.scilab.modules.gui.UIElement#isVisible()
+        */
+       public static boolean isVisible(PopupMenu popupMenu) {
+               return popupMenu.getAsSimplePopupMenu().isVisible();
+       }
+
+       /**
+        * Sets the dimensions (width and height) of a Scilab PopupMenu
+        * @param popupMenu the popupMenu we want to set the dimensions of
+        * @param newSize the size we want to set to the popupMenu
+        * @see org.scilab.modules.gui.UIElement#setDims(org.scilab.modules.gui.utils.Size)
+        */
+       public static void setDims(PopupMenu popupMenu, Size newSize) {
+               popupMenu.getAsSimplePopupMenu().setDims(newSize);
+       }
+
+       /**
+        * Sets the position (X-coordinate and Y-coordinate) of a Scilab popupMenu
+        * @param popupMenu the popupMenu we want to set the position of
+        * @param newPosition the position we want to set to the popupMenu
+        * @see org.scilab.modules.gui.UIElement#setPosition(org.scilab.modules.gui.utils.Position)
+        */
+       public static void setPosition(PopupMenu popupMenu, Position newPosition) {
+               popupMenu.getAsSimplePopupMenu().setPosition(newPosition);
+       }
+
+       /**
+        * Sets the visibility status of a Scilab PopupMenu
+        * @param popupMenu the popupMenu we want to set the visiblity status of
+        * @param newVisibleState the visibility status we want to set to the popupMenu (true to set the popupMenu visible, false else)
+        * @see org.scilab.modules.gui.UIElement#setVisible(boolean)
+        */
+       public static void setVisible(PopupMenu popupMenu, boolean newVisibleState) {
+               popupMenu.getAsSimplePopupMenu().setVisible(newVisibleState);
+       }
+       
+       /**
+        * Add a callback to the PopupMenu
+        * @param popupMenu the PopupMenu we want to set the callback of
+        * @param command the Scilab command to execute when the contents of the popupMenu is validated
+        * @param commandType the type of the command that will be executed.
+        */
+       public static void setCallback(PopupMenu popupMenu, String command, int commandType) {
+               popupMenu.getAsSimplePopupMenu().setCallback(command, commandType);
+       }
+       
+       /**
+        * To set the Background color of the PopupMenu
+        * @param popupMenu the PopupMenu we want to set the background of
+        * @param color the Color
+        */
+       public static void setBackground(PopupMenu popupMenu, Color color) {
+               popupMenu.getAsSimplePopupMenu().setBackground(color);
+       }
+
+       /**
+        * Get the Background color of the PopupMenu
+        * @param popupMenu the PopupMenu we want to get the background of
+        * @return the Color
+        */
+       public static Color getBackground(PopupMenu popupMenu) {
+               return popupMenu.getAsSimplePopupMenu().getBackground();
+       }
+
+       /**
+        * To set the Foreground color of the popupMenu
+        * @param popupMenu the PopupMenu we want to set the foreground of
+        * @param color the Color
+        */
+       public static void setForeground(PopupMenu popupMenu, Color color) {
+               popupMenu.getAsSimplePopupMenu().setForeground(color);
+       }
+
+       /**
+        * Get the Foreground color of the PopupMenu
+        * @param popupMenu the PopupMenu we want to get the foreground of
+        * @return the Color
+        */
+       public static Color getForeground(PopupMenu popupMenu) {
+               return popupMenu.getAsSimplePopupMenu().getForeground();
+       }
+
+       /**
+        * Set the font of the PopupMenu.
+        * @param popupMenu the PopupMenu we want to set the font of
+        * @param font the font
+        */
+       public static void setFont(PopupMenu popupMenu, Font font) {
+               popupMenu.getAsSimplePopupMenu().setFont(font);
+       }
+       
+       /**
+        * Get the font of the PopupMenu.
+        * @param popupMenu the PopupMenu we want to get the font of
+        * @return the font
+        */
+       public static Font getFont(PopupMenu popupMenu) {
+               return popupMenu.getAsSimplePopupMenu().getFont();
+       }
+       
+       /**
+        * Set if the PopupMenu is enabled or not
+        * @param popupMenu the PopupMenu we want to set the status of
+        * @param status true if the PopupMenu is enabled
+        */
+       public static void setEnabled(PopupMenu popupMenu, boolean status) {
+               popupMenu.getAsSimplePopupMenu().setEnabled(status);
+       }
 }
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/popupmenu/SimplePopupMenu.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/popupmenu/SimplePopupMenu.java
new file mode 100644 (file)
index 0000000..26e8edb
--- /dev/null
@@ -0,0 +1,13 @@
+
+/* Copyright INRIA 2008 */
+
+package org.scilab.modules.gui.popupmenu;
+
+import org.scilab.modules.gui.widget.Widget;
+
+/**
+ * Interface for CheckBoxBridge the associated object to Scilab GUIs Checkbox
+ * @author Vincent COUVERT
+ */
+public interface SimplePopupMenu extends Widget {
+}
index e9042b9..cf41984 100644 (file)
@@ -3,98 +3,18 @@
 
 package org.scilab.modules.gui.radiobutton;
 
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Font;
-
-import javax.swing.border.LineBorder;
-
 import org.scilab.modules.gui.widget.Widget;
 
 /**
  * Interface for RadioButton associated to objects in Scilab GUIs
+ * @author Vincent COUVERT
  * @author Marouane BEN JELLOUL
  */
 public interface RadioButton extends Widget {
        
        /**
-        * Sets the text of a RadioButton
-        * @param text the text to set to the PushButton
-        */
-       void setText(String text);
-
-       
-       /**
-        * To set the Background color of the element.
-        * @param color the Color
-        */
-       void setBackground(Color color);
-       
-       /**
-        * To get the Background color of the element.
-        * @return color the Color
-        */
-       Color getBackground();
-       
-       /**
-        * To set the Foreground color of the element.
-        * @param color the Color
-        */
-       void setForeground(Color color);
-       
-       /**
-        * To get the Foreground color of the element.
-        * @return color the Color
-        */
-       Color getForeground();
-       
-       /**
-        * To set the Border color and size of the element.
-        * @param lineBorder the LineBorder
-        */
-       void setBorder(LineBorder lineBorder);
-       
-       /**
-        * To set the Font of the element.
-        * @param font the Font
-        */
-       void setFont(Font font);
-       
-       /**
-        * To get the Font of the element.
-        * @return font the Font
-        */
-       Font getFont();
-       
-       /**
-        * To set the Dimension of the element.
-        * @param dimension the Dimension
-        */
-       void setSize(Dimension dimension);
-       
-       /**
-        * To get the Dimension of the element.
-        * @return the Dimension
-        */
-       Dimension getSize();
-       
-       /**
-        * Moves this component to a new location. The top-left corner of the new location is specified by the x and y 
-        * parameters in the coordinate space of this component's parent.
-        * @param x - the x-coordinate of the new location's top-left corner in the parent's coordinate space
-        * @param y - the y-coordinate of the new location's top-left corner in the parent's coordinate space
-        */
-       void setLocation(int x, int y);
-       
-       /**
-        * To get the x coordinate  of the element.
-        * @return the x coordinate
-        */
-       int getX();
-       
-       /**
-        * To get the y coordinate  of the element.
-        * @return the y coordinate
+        * Gets this Bridge component object
+        * @return this Bridge component object
         */
-       int getY();
+       SimpleRadioButton getAsSimpleRadioButton();
 }
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/radiobutton/ScilabRadioButton.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/radiobutton/ScilabRadioButton.java
new file mode 100644 (file)
index 0000000..1aa7c10
--- /dev/null
@@ -0,0 +1,187 @@
+
+/* Copyright INRIA 2008 */
+
+package org.scilab.modules.gui.radiobutton;
+
+import java.awt.Color;
+import java.awt.Font;
+
+import org.scilab.modules.gui.bridge.ScilabBridge;
+import org.scilab.modules.gui.utils.Position;
+import org.scilab.modules.gui.utils.Size;
+import org.scilab.modules.gui.widget.ScilabWidget;
+
+/**
+ * Class for Scilab RadioButtons in GUIs
+ * @author Vincent COUVERT
+ */
+public class ScilabRadioButton extends ScilabWidget implements RadioButton {
+
+       private SimpleRadioButton component;
+       
+       /**
+        * Constructor
+        */
+       protected ScilabRadioButton() {
+               component = ScilabBridge.createRadioButton();
+       }
+
+       /**
+        * Creates a Scilab RadioButton object
+        * @return the created RadioButton
+        */
+       public static RadioButton createRadioButton() {
+               return new ScilabRadioButton();
+       }
+       
+       /**
+        * Gets this Bridge component object
+        * @return this Bridge component object
+        */
+       public SimpleRadioButton getAsSimpleRadioButton() {
+               return component;
+       }
+       
+       /**
+        * Sets the text of a RadioButton
+        * @param newText the text to set to the RadioButton
+        */
+       public void setText(String newText) {
+               ScilabBridge.setText(this, newText);
+       }
+       
+       /**
+        * Gets the text of a RadioButton
+        * @return text of the RadioButton
+        */
+       public String getText() {
+               return ScilabBridge.getText(this);
+       }
+       
+       /**
+        * Draws a RadioButton
+        */
+       public void draw() {
+               ScilabBridge.draw(this);
+       }
+       
+       /**
+        * Sets the dimensions (width and height) of a swing Scilab element
+        * @param newSize the dimensions to set to the element
+        * @see org.scilab.modules.gui.uielement.UIElement#setDims(org.scilab.modules.gui.utils.Size)
+        */
+       public void setDims(Size newSize) {
+               ScilabBridge.setDims(this, newSize); 
+       }
+       
+       /**
+        * Gets the dimensions (width and height) of a swing Scilab element
+        * @return the dimensions (width and height) of the element
+        * @see org.scilab.modules.gui.uielement.UIElement#getDims(org.scilab.modules.gui.utils.Size)
+        */
+       public Size getDims() {
+               return ScilabBridge.getDims(this);
+       }
+       
+       /**
+        * Gets the position (X-coordinate and Y-coordinate) of a Scilab element
+        * @return the position of the element
+        * @see org.scilab.modules.gui.uielement.UIElement#getPosition()
+        */
+       public Position getPosition() {
+               return ScilabBridge.getPosition(this);
+       }
+
+       /**
+        * Sets the position (X-coordinate and Y-coordinate) of a Scilab element
+        * @param newPosition the position we want to set to the element
+        * @see org.scilab.modules.gui.uielement.UIElement#setPosition(org.scilab.modules.gui.utils.Position)
+        */
+       public void setPosition(Position newPosition) {
+               ScilabBridge.setPosition(this, newPosition);
+       }
+
+       /**
+        * Gets the visibility status of an UIElement
+        * @return the visibility status of the UIElement (true if the UIElement is visible, false if not)
+        */
+       public boolean isVisible() {
+               return ScilabBridge.isVisible(this);
+       }
+       
+       /**
+        * Sets the visibility status of a Menu
+        * @param newVisibleState the visibility status we want to set for the UIElement
+        *                      (true if the UIElement is visible, false if not)
+        */
+       public void setVisible(boolean newVisibleState) {
+               ScilabBridge.setVisible(this, newVisibleState);
+       }
+
+       /**
+        * To get the Background color of the element.
+        * @return color the Color
+        */
+       public Color getBackground() {
+               return ScilabBridge.getBackground(this);
+       }
+
+       /**
+        * To get the Font of the element.
+        * @return font the Font
+        */
+       public Font getFont() {
+               return ScilabBridge.getFont(this);
+       }
+
+       /**
+        * To get the Foreground color of the element.
+        * @return color the Color
+        */
+       public Color getForeground() {
+               return ScilabBridge.getForeground(this);
+       }
+
+       /**
+        * To set the Background color of the element.
+        * @param color the Color
+        */
+       public void setBackground(Color color) {
+               ScilabBridge.setBackground(this, color);
+       }
+
+       /**
+        * To set the Font of the element.
+        * @param font the Font
+        */
+       public void setFont(Font font) {
+               ScilabBridge.setFont(this, font);
+       }
+
+       /**
+        * To set the Foreground color of the element.
+        * @param color the Color
+        */
+       public void setForeground(Color color) {
+               ScilabBridge.setForeground(this, color);
+       }
+       
+       /**
+        * Add a callback to the RadioButton
+        * @param command the Scilab command to execute when the RadioButton is activated
+        * @param commandType the type of the command that will be executed.
+        */
+       public void setCallback(String command, int commandType) {
+               ScilabBridge.setCallback(this, command, commandType);
+       }
+       
+       /**
+        * Set if the RadioButton is enabled or not
+        * @param status true if the RadioButton is enabled
+        */
+       public void setEnabled(boolean status) {
+               ScilabBridge.setEnabled(this, status);
+       }
+
+
+}
index 8d1f7c3..14fbc1e 100644 (file)
@@ -3,8 +3,16 @@
 
 package org.scilab.modules.gui.radiobutton;
 
+import java.awt.Color;
+import java.awt.Font;
+
+import org.scilab.modules.gui.bridge.radiobutton.SwingScilabRadioButton;
+import org.scilab.modules.gui.utils.Position;
+import org.scilab.modules.gui.utils.Size;
+
 /**
  * Bridge for Scilab RadioButton in GUIs
+ * @author Vincent COUVERT
  * @author Marouane BEN JELLOUL
  */
 public class ScilabRadioButtonBridge {
@@ -20,9 +28,167 @@ public class ScilabRadioButtonBridge {
         * Creates a Scilab RadioButton
         * @return the created RadioButton
         */
-       public static RadioButton createRadioButton() {
-//              FIXME : UI CONTROL must be developped last !!!!!
-//             return new SwingScilabRadioButton();
-               return null;
+       public static SimpleRadioButton createRadioButton() {
+               return new SwingScilabRadioButton();
+       }
+       
+       /**
+        * Sets the Text of a Scilab RadioButton
+        * @param radioButton the RadioButton we want to set the Text of
+        * @param newText the Text we want to set to the RadioButton
+        */
+       public static void setText(RadioButton radioButton, String newText) {
+               radioButton.getAsSimpleRadioButton().setText(newText);
+       }
+       
+       /**
+        * Sets the Text of a Scilab RadioButton
+        * @param radioButton the RadioButton we want to get the Text of
+        * @return the text of the RadioButton
+        */
+       public static String getText(RadioButton radioButton) {
+               return radioButton.getAsSimpleRadioButton().getText();
+       }
+       
+       /**
+        * Draws a Scilab RadioButton
+        * @param radioButton the RadioButton to draw
+        * @see org.scilab.modules.gui.UIElement#draw()
+        */
+       public static void draw(RadioButton radioButton) {
+               radioButton.getAsSimpleRadioButton().draw();
+       }
+
+       /**
+        * Gets the dimensions (width and height) of a Scilab RadioButton
+        * @param radioButton the RadioButton we want to get the dimensions of
+        * @return the size of the RadioButton
+        * @see org.scilab.modules.gui.UIElement#getDims()
+        */
+       public static Size getDims(RadioButton radioButton) {
+               return radioButton.getAsSimpleRadioButton().getDims();
+       }
+
+       /**
+        * Gets the position (X-coordinate and Y-coordinate) of a Scilab RadioButton
+        * @param radioButton the RadioButton we want to get the position of
+        * @return the position of the RadioButton
+        * @see org.scilab.modules.gui.UIElement#getPosition()
+        */
+       public static Position getPosition(RadioButton radioButton) {
+               return radioButton.getAsSimpleRadioButton().getPosition();
+       }
+
+       /**
+        * Gets the visibility status of a Scilab RadioButton
+        * @param radioButton the RadioButton we want to get the visiblity status of
+        * @return the visibility status of the RadioButton (true if the RadioButton is visible, false if not)
+        * @see org.scilab.modules.gui.UIElement#isVisible()
+        */
+       public static boolean isVisible(RadioButton radioButton) {
+               return radioButton.getAsSimpleRadioButton().isVisible();
+       }
+
+       /**
+        * Sets the dimensions (width and height) of a Scilab RadioButton
+        * @param radioButton the RadioButton we want to set the dimensions of
+        * @param newSize the size we want to set to the RadioButton
+        * @see org.scilab.modules.gui.UIElement#setDims(org.scilab.modules.gui.utils.Size)
+        */
+       public static void setDims(RadioButton radioButton, Size newSize) {
+               radioButton.getAsSimpleRadioButton().setDims(newSize);
+       }
+
+       /**
+        * Sets the position (X-coordinate and Y-coordinate) of a Scilab RadioButton
+        * @param radioButton the RadioButton we want to set the position of
+        * @param newPosition the position we want to set to the RadioButton
+        * @see org.scilab.modules.gui.UIElement#setPosition(org.scilab.modules.gui.utils.Position)
+        */
+       public static void setPosition(RadioButton radioButton, Position newPosition) {
+               radioButton.getAsSimpleRadioButton().setPosition(newPosition);
+       }
+
+       /**
+        * Sets the visibility status of a Scilab RadioButton
+        * @param radioButton the RadioButton we want to set the visiblity status of
+        * @param newVisibleState the visibility status we want to set to the RadioButton (true to set the RadioButton visible, false else)
+        * @see org.scilab.modules.gui.UIElement#setVisible(boolean)
+        */
+       public static void setVisible(RadioButton radioButton, boolean newVisibleState) {
+               radioButton.getAsSimpleRadioButton().setVisible(newVisibleState);
+       }
+       
+       /**
+        * Add a callback to the RadioButton
+        * @param radioButton the RadioButton we want to set the callback of
+        * @param command the Scilab command to execute when the contents of the RadioButton is validated
+        * @param commandType the type of the command that will be executed.
+        */
+       public static void setCallback(RadioButton radioButton, String command, int commandType) {
+               radioButton.getAsSimpleRadioButton().setCallback(command, commandType);
+       }
+       
+       /**
+        * To set the Background color of the RadioButton
+        * @param radioButton the RadioButton we want to set the background of
+        * @param color the Color
+        */
+       public static void setBackground(RadioButton radioButton, Color color) {
+               radioButton.getAsSimpleRadioButton().setBackground(color);
+       }
+
+       /**
+        * Get the Background color of the RadioButton
+        * @param radioButton the RadioButton we want to get the background of
+        * @return the Color
+        */
+       public static Color getBackground(RadioButton radioButton) {
+               return radioButton.getAsSimpleRadioButton().getBackground();
+       }
+
+       /**
+        * To set the Foreground color of the RadioButton
+        * @param radioButton the RadioButton we want to set the foreground of
+        * @param color the Color
+        */
+       public static void setForeground(RadioButton radioButton, Color color) {
+               radioButton.getAsSimpleRadioButton().setForeground(color);
+       }
+
+       /**
+        * Get the Foreground color of the RadioButton
+        * @param radioButton the RadioButton we want to get the foreground of
+        * @return the Color
+        */
+       public static Color getForeground(RadioButton radioButton) {
+               return radioButton.getAsSimpleRadioButton().getForeground();
+       }
+
+       /**
+        * Set the font of the RadioButton.
+        * @param radioButton the RadioButton we want to set the font of
+        * @param font the font
+        */
+       public static void setFont(RadioButton radioButton, Font font) {
+               radioButton.getAsSimpleRadioButton().setFont(font);
+       }
+       
+       /**
+        * Get the font of the RadioButton.
+        * @param radioButton the RadioButton we want to get the font of
+        * @return the font
+        */
+       public static Font getFont(RadioButton radioButton) {
+               return radioButton.getAsSimpleRadioButton().getFont();
+       }
+       
+       /**
+        * Set if the RadioButton is enabled or not
+        * @param radioButton the RadioButton we want to set the status of
+        * @param status true if the RadioButton is enabled
+        */
+       public static void setEnabled(RadioButton radioButton, boolean status) {
+               radioButton.getAsSimpleRadioButton().setEnabled(status);
        }
 }
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/radiobutton/SimpleRadioButton.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/radiobutton/SimpleRadioButton.java
new file mode 100644 (file)
index 0000000..0ca0d71
--- /dev/null
@@ -0,0 +1,13 @@
+
+/* Copyright INRIA 2008 */
+
+package org.scilab.modules.gui.radiobutton;
+
+import org.scilab.modules.gui.widget.Widget;
+
+/**
+ * Interface for RadioButtonBridge the associated object to Scilab GUIs RadioButton
+ * @author Vincent COUVERT
+ */
+public interface SimpleRadioButton extends Widget {
+}
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/slider/ScilabSlider.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/slider/ScilabSlider.java
new file mode 100644 (file)
index 0000000..68b412e
--- /dev/null
@@ -0,0 +1,187 @@
+
+/* Copyright INRIA 2008 */
+
+package org.scilab.modules.gui.slider;
+
+import java.awt.Color;
+import java.awt.Font;
+
+import org.scilab.modules.gui.bridge.ScilabBridge;
+import org.scilab.modules.gui.utils.Position;
+import org.scilab.modules.gui.utils.Size;
+import org.scilab.modules.gui.widget.ScilabWidget;
+
+/**
+ * Class for Scilab Sliders in GUIs
+ * @author Vincent COUVERT
+ */
+public class ScilabSlider extends ScilabWidget implements Slider {
+
+       private SimpleSlider component;
+       
+       /**
+        * Constructor
+        */
+       protected ScilabSlider() {
+               component = ScilabBridge.createSlider();
+       }
+
+       /**
+        * Creates a Scilab Slider object
+        * @return the created Slider
+        */
+       public static Slider createSlider() {
+               return new ScilabSlider();
+       }
+       
+       /**
+        * Gets this Bridge component object
+        * @return this Bridge component object
+        */
+       public SimpleSlider getAsSimpleSlider() {
+               return component;
+       }
+       
+       /**
+        * Sets the text of a Slider
+        * @param newText the text to set to the Slider
+        */
+       public void setText(String newText) {
+               ScilabBridge.setText(this, newText);
+       }
+       
+       /**
+        * Gets the text of a Slider
+        * @return text of the Slider
+        */
+       public String getText() {
+               return ScilabBridge.getText(this);
+       }
+       
+       /**
+        * Draws a Slider
+        */
+       public void draw() {
+               ScilabBridge.draw(this);
+       }
+       
+       /**
+        * Sets the dimensions (width and height) of a swing Scilab element
+        * @param newSize the dimensions to set to the element
+        * @see org.scilab.modules.gui.uielement.UIElement#setDims(org.scilab.modules.gui.utils.Size)
+        */
+       public void setDims(Size newSize) {
+               ScilabBridge.setDims(this, newSize); 
+       }
+       
+       /**
+        * Gets the dimensions (width and height) of a swing Scilab element
+        * @return the dimensions (width and height) of the element
+        * @see org.scilab.modules.gui.uielement.UIElement#getDims(org.scilab.modules.gui.utils.Size)
+        */
+       public Size getDims() {
+               return ScilabBridge.getDims(this);
+       }
+       
+       /**
+        * Gets the position (X-coordinate and Y-coordinate) of a Scilab element
+        * @return the position of the element
+        * @see org.scilab.modules.gui.uielement.UIElement#getPosition()
+        */
+       public Position getPosition() {
+               return ScilabBridge.getPosition(this);
+       }
+
+       /**
+        * Sets the position (X-coordinate and Y-coordinate) of a Scilab element
+        * @param newPosition the position we want to set to the element
+        * @see org.scilab.modules.gui.uielement.UIElement#setPosition(org.scilab.modules.gui.utils.Position)
+        */
+       public void setPosition(Position newPosition) {
+               ScilabBridge.setPosition(this, newPosition);
+       }
+
+       /**
+        * Gets the visibility status of an UIElement
+        * @return the visibility status of the UIElement (true if the UIElement is visible, false if not)
+        */
+       public boolean isVisible() {
+               return ScilabBridge.isVisible(this);
+       }
+       
+       /**
+        * Sets the visibility status of a Menu
+        * @param newVisibleState the visibility status we want to set for the UIElement
+        *                      (true if the UIElement is visible, false if not)
+        */
+       public void setVisible(boolean newVisibleState) {
+               ScilabBridge.setVisible(this, newVisibleState);
+       }
+
+       /**
+        * To get the Background color of the element.
+        * @return color the Color
+        */
+       public Color getBackground() {
+               return ScilabBridge.getBackground(this);
+       }
+
+       /**
+        * To get the Font of the element.
+        * @return font the Font
+        */
+       public Font getFont() {
+               return ScilabBridge.getFont(this);
+       }
+
+       /**
+        * To get the Foreground color of the element.
+        * @return color the Color
+        */
+       public Color getForeground() {
+               return ScilabBridge.getForeground(this);
+       }
+
+       /**
+        * To set the Background color of the element.
+        * @param color the Color
+        */
+       public void setBackground(Color color) {
+               ScilabBridge.setBackground(this, color);
+       }
+
+       /**
+        * To set the Font of the element.
+        * @param font the Font
+        */
+       public void setFont(Font font) {
+               ScilabBridge.setFont(this, font);
+       }
+
+       /**
+        * To set the Foreground color of the element.
+        * @param color the Color
+        */
+       public void setForeground(Color color) {
+               ScilabBridge.setForeground(this, color);
+       }
+       
+       /**
+        * Add a callback to the Slider
+        * @param command the Scilab command to execute when the Slider is activated
+        * @param commandType the type of the command that will be executed.
+        */
+       public void setCallback(String command, int commandType) {
+               ScilabBridge.setCallback(this, command, commandType);
+       }
+       
+       /**
+        * Set if the Slider is enabled or not
+        * @param status true if the Slider is enabled
+        */
+       public void setEnabled(boolean status) {
+               ScilabBridge.setEnabled(this, status);
+       }
+
+
+}
index ccc9d11..22b5116 100644 (file)
@@ -3,8 +3,16 @@
 
 package org.scilab.modules.gui.slider;
 
+import java.awt.Color;
+import java.awt.Font;
+
+import org.scilab.modules.gui.bridge.slider.SwingScilabSlider;
+import org.scilab.modules.gui.utils.Position;
+import org.scilab.modules.gui.utils.Size;
+
 /**
  * Bridge for Scilab Sliders in GUIs
+ * @author Vincent COUVERT
  * @author Marouane BEN JELLOUL
  */
 public class ScilabSliderBridge {
@@ -20,9 +28,167 @@ public class ScilabSliderBridge {
         * Creates a Scilab Slider
         * @return the created Slider
         */
-       public static Slider createSlider() {
-//              FIXME : UI CONTROL must be developped last !!!!!
-//             return new SwingScilabSlider();
-               return null;
+       public static SimpleSlider createSlider() {
+               return new SwingScilabSlider();
+       }
+       
+       /**
+        * Sets the Text of a Scilab Slider
+        * @param slider the Slider we want to set the Text of
+        * @param newText the Text we want to set to the Slider
+        */
+       public static void setText(Slider slider, String newText) {
+               slider.getAsSimpleSlider().setText(newText);
+       }
+       
+       /**
+        * Sets the Text of a Scilab Slider
+        * @param slider the Slider we want to get the Text of
+        * @return the text of the Slider
+        */
+       public static String getText(Slider slider) {
+               return slider.getAsSimpleSlider().getText();
+       }
+       
+       /**
+        * Draws a Scilab Slider
+        * @param slider the Slider to draw
+        * @see org.scilab.modules.gui.UIElement#draw()
+        */
+       public static void draw(Slider slider) {
+               slider.getAsSimpleSlider().draw();
+       }
+
+       /**
+        * Gets the dimensions (width and height) of a Scilab Slider
+        * @param slider the Slider we want to get the dimensions of
+        * @return the size of the Slider
+        * @see org.scilab.modules.gui.UIElement#getDims()
+        */
+       public static Size getDims(Slider slider) {
+               return slider.getAsSimpleSlider().getDims();
+       }
+
+       /**
+        * Gets the position (X-coordinate and Y-coordinate) of a Scilab Slider
+        * @param slider the Slider we want to get the position of
+        * @return the position of the Slider
+        * @see org.scilab.modules.gui.UIElement#getPosition()
+        */
+       public static Position getPosition(Slider slider) {
+               return slider.getAsSimpleSlider().getPosition();
+       }
+
+       /**
+        * Gets the visibility status of a Scilab Slider
+        * @param slider the Slider we want to get the visiblity status of
+        * @return the visibility status of the Slider (true if the Slider is visible, false if not)
+        * @see org.scilab.modules.gui.UIElement#isVisible()
+        */
+       public static boolean isVisible(Slider slider) {
+               return slider.getAsSimpleSlider().isVisible();
+       }
+
+       /**
+        * Sets the dimensions (width and height) of a Scilab Slider
+        * @param slider the Slider we want to set the dimensions of
+        * @param newSize the size we want to set to the Slider
+        * @see org.scilab.modules.gui.UIElement#setDims(org.scilab.modules.gui.utils.Size)
+        */
+       public static void setDims(Slider slider, Size newSize) {
+               slider.getAsSimpleSlider().setDims(newSize);
+       }
+
+       /**
+        * Sets the position (X-coordinate and Y-coordinate) of a Scilab Slider
+        * @param slider the Slider we want to set the position of
+        * @param newPosition the position we want to set to the Slider
+        * @see org.scilab.modules.gui.UIElement#setPosition(org.scilab.modules.gui.utils.Position)
+        */
+       public static void setPosition(Slider slider, Position newPosition) {
+               slider.getAsSimpleSlider().setPosition(newPosition);
+       }
+
+       /**
+        * Sets the visibility status of a Scilab Slider
+        * @param slider the Slider we want to set the visiblity status of
+        * @param newVisibleState the visibility status we want to set to the Slider (true to set the Slider visible, false else)
+        * @see org.scilab.modules.gui.UIElement#setVisible(boolean)
+        */
+       public static void setVisible(Slider slider, boolean newVisibleState) {
+               slider.getAsSimpleSlider().setVisible(newVisibleState);
+       }
+       
+       /**
+        * Add a callback to the Slider
+        * @param slider the Slider we want to set the callback of
+        * @param command the Scilab command to execute when the contents of the Slider is validated
+        * @param commandType the type of the command that will be executed.
+        */
+       public static void setCallback(Slider slider, String command, int commandType) {
+               slider.getAsSimpleSlider().setCallback(command, commandType);
+       }
+       
+       /**
+        * To set the Background color of the Slider
+        * @param slider the Slider we want to set the background of
+        * @param color the Color
+        */
+       public static void setBackground(Slider slider, Color color) {
+               slider.getAsSimpleSlider().setBackground(color);
+       }
+
+       /**
+        * Get the Background color of the Slider
+        * @param slider the Slider we want to get the background of
+        * @return the Color
+        */
+       public static Color getBackground(Slider slider) {
+               return slider.getAsSimpleSlider().getBackground();
+       }
+
+       /**
+        * To set the Foreground color of the Slider
+        * @param slider the Slider we want to set the foreground of
+        * @param color the Color
+        */
+       public static void setForeground(Slider slider, Color color) {
+               slider.getAsSimpleSlider().setForeground(color);
+       }
+
+       /**
+        * Get the Foreground color of the Slider
+        * @param slider the Slider we want to get the foreground of
+        * @return the Color
+        */
+       public static Color getForeground(Slider slider) {
+               return slider.getAsSimpleSlider().getForeground();
+       }
+
+       /**
+        * Set the font of the Slider.
+        * @param slider the Slider we want to set the font of
+        * @param font the font
+        */
+       public static void setFont(Slider slider, Font font) {
+               slider.getAsSimpleSlider().setFont(font);
+       }
+       
+       /**
+        * Get the font of the Slider.
+        * @param slider the Slider we want to get the font of
+        * @return the font
+        */
+       public static Font getFont(Slider slider) {
+               return slider.getAsSimpleSlider().getFont();
+       }
+       
+       /**
+        * Set if the Slider is enabled or not
+        * @param slider the Slider we want to set the status of
+        * @param status true if the Slider is enabled
+        */
+       public static void setEnabled(Slider slider, boolean status) {
+               slider.getAsSimpleSlider().setEnabled(status);
        }
 }
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/slider/SimpleSlider.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/slider/SimpleSlider.java
new file mode 100644 (file)
index 0000000..f81e111
--- /dev/null
@@ -0,0 +1,13 @@
+
+/* Copyright INRIA 2008 */
+
+package org.scilab.modules.gui.slider;
+
+import org.scilab.modules.gui.widget.Widget;
+
+/**
+ * Interface for SliderBridge the associated object to Scilab GUIs Slider
+ * @author Vincent COUVERT
+ */
+public interface SimpleSlider extends Widget {
+}
index 4b6bec8..fbd454a 100644 (file)
 
 package org.scilab.modules.gui.slider;
 
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.Font;
-
-import javax.swing.border.LineBorder;
-
 import org.scilab.modules.gui.widget.Widget;
 
 /**
  * Interface for RadioGroup associated to objects in Scilab GUIs
+ * @author Vincent COUVERT
  * @author Marouane BEN JELLOUL
  */
 public interface Slider extends Widget {
+       
+       /**
+        * Gets this Bridge component object
+        * @return this Bridge component object
+        */
+       SimpleSlider getAsSimpleSlider();
 
        /**
         * Returns the slider's current value
         * @return the current value of the slider
         */
-       int getValue();
+       //int getValue();
        
        /**
         * Sets the slider's current value to n. This method forwards the new value to the model.
         * If the new value is different from the previous value, all change listeners are notified.
         * @param n - the new value
         */
-       void setValue(int n);
+       //void setValue(int n);
        
        /**
      * This method sets the major tick spacing.
      * @param n - new value for the major tick spacing.
      */
-       void setMajorTickSpacing(int n);
+       //void setMajorTickSpacing(int n);
        
        /**
         * Sets the slider's maximum value to maximum.
         * @param value the value to set
         */
-       void setMaximum(int value);
+       //void setMaximum(int value);
        
        /**
         * Sets the slider's minimum value to minimum.
         * @param value the value to set
         */
-       void setMinimum(int value);
+       //void setMinimum(int value);
        
        /**
      * This method sets the minior tick spacing.
      * @param n - new value for the minior tick spacing.
      */
-       void setMinorTickSpacing(int n);
-       
-       /**
-        * Tells if tick marks are to be painted.
-        * @return true if tick marks are painted, else false 
-        */
-       boolean getPaintTicks();
-       
-       /**
-        * Determines whether tick marks are painted on the slider. By default, this property is false.
-        * @param b - whether or not tick marks should be painted
-        */
-       void setPaintTicks(boolean b);
-       
-       /**
-        * Tells if labels are to be painted.
-        * @return true if labels are painted, else false
-        */
-       boolean getPaintLabels();
-       
-       /**
-        * Determines whether tick marks are painted on the slider. By default, this property is false.
-        * By default, this property is false.
-        * @param b - whether or not to paint labels
-        */
-       void setPaintLabels(boolean b);
-       
-       /**
-        * To set the Background color of the element.
-        * @param color the Color
-        */
-       void setBackground(Color color);
-       
-       /**
-        * To get the Background color of the element.
-        * @return color the Color
-        */
-       Color getBackground();
-       
-       /**
-        * To set the Foreground color of the element.
-        * @param color the Color
-        */
-       void setForeground(Color color);
-       
-       /**
-        * To get the Foreground color of the element.
-        * @return color the Color
-        */
-       Color getForeground();
-       
-       /**
-        * To set the Border color and size of the element.
-        * @param lineBorder the LineBorder
-        */
-       void setBorder(LineBorder lineBorder);
-       
-       /**
-        * To set the Font of the element.
-        * @param font the Font
-        */
-       void setFont(Font font);
-       
-       /**
-        * To get the Font of the element.
-        * @return font the Font
-        */
-       Font getFont();
-       
-       /**
-        * To set the Dimension of the element.
-        * @param dimension the Dimension
-        */
-       void setSize(Dimension dimension);
-       
-       /**
-        * To get the Dimension of the element.
-        * @return the Dimension
-        */
-       Dimension getSize();
-       
-       /**
-        * Moves this component to a new location. The top-left corner of the new location is specified by the x and y 
-        * parameters in the coordinate space of this component's parent.
-        * @param x - the x-coordinate of the new location's top-left corner in the parent's coordinate space
-        * @param y - the y-coordinate of the new location's top-left corner in the parent's coordinate space
-        */
-       void setLocation(int x, int y);
-       
-       /**
-        * To get the x coordinate  of the element.
-        * @return the x coordinate
-        */
-       int getX();
-       
-       /**
-        * To get the y coordinate  of the element.
-        * @return the y coordinate
-        */
-       int getY();
+       //void setMinorTickSpacing(int n);
 }
index 9d0e068..f9d351d 100644 (file)
@@ -5,14 +5,19 @@ package org.scilab.modules.gui.tab;
 
 import org.scilab.modules.gui.bridge.ScilabBridge;
 import org.scilab.modules.gui.canvas.Canvas;
+import org.scilab.modules.gui.checkbox.CheckBox;
 import org.scilab.modules.gui.console.Console;
 import org.scilab.modules.gui.container.ScilabContainer;
 import org.scilab.modules.gui.dockable.Dockable;
 import org.scilab.modules.gui.editbox.EditBox;
 import org.scilab.modules.gui.frame.Frame;
 import org.scilab.modules.gui.label.Label;
+import org.scilab.modules.gui.listbox.ListBox;
 import org.scilab.modules.gui.menubar.MenuBar;
+import org.scilab.modules.gui.popupmenu.PopupMenu;
 import org.scilab.modules.gui.pushbutton.PushButton;
+import org.scilab.modules.gui.radiobutton.RadioButton;
+import org.scilab.modules.gui.slider.Slider;
 import org.scilab.modules.gui.toolbar.ToolBar;
 import org.scilab.modules.gui.uielement.UIElement;
 import org.scilab.modules.gui.utils.Position;
@@ -207,6 +212,51 @@ public class ScilabTab extends ScilabContainer implements Tab {
        }
 
        /**
+        * We want to be able to add directly a checkbox in a Tab.
+        * @param member the checkbox to add
+        * @return the position of the checkbox in the member list.
+        */
+       public int addMember(CheckBox member) {
+               return ScilabBridge.addMember(this, member);
+       }
+
+       /**
+        * We want to be able to add directly a RadioButton in a Tab.
+        * @param member the RadioButton to add
+        * @return the position of the RadioButton in the member list.
+        */
+       public int addMember(RadioButton member) {
+               return ScilabBridge.addMember(this, member);
+       }
+
+       /**
+        * We want to be able to add directly a Slider in a Tab.
+        * @param member the Slider to add
+        * @return the position of the Slider in the member list.
+        */
+       public int addMember(Slider member) {
+               return ScilabBridge.addMember(this, member);
+       }
+
+       /**
+        * We want to be able to add directly a ListBox in a Tab.
+        * @param member the ListBox to add
+        * @return the position of the ListBox in the member list.
+        */
+       public int addMember(ListBox member) {
+               return ScilabBridge.addMember(this, member);
+       }
+
+       /**
+        * We want to be able to add directly a PopupMenu in a Tab.
+        * @param member the PopupMenu to add
+        * @return the position of the PopupMenu in the member list.
+        */
+       public int addMember(PopupMenu member) {
+               return ScilabBridge.addMember(this, member);
+       }
+
+       /**
         * Get the current status of the Tab in its parent
         * @return true is the tab is the tab currently "on top" in its parent
         * @see org.scilab.modules.gui.tab.Tab#isCurrentTab()
index 2d7a2ec..cf518e3 100644 (file)
@@ -3,14 +3,19 @@
 
 package org.scilab.modules.gui.tab;
 
+import org.scilab.modules.gui.checkbox.CheckBox;
 import org.scilab.modules.gui.console.Console;
 import org.scilab.modules.gui.bridge.tab.SwingScilabTab;
 import org.scilab.modules.gui.canvas.Canvas;
 import org.scilab.modules.gui.editbox.EditBox;
 import org.scilab.modules.gui.frame.Frame;
 import org.scilab.modules.gui.label.Label;
+import org.scilab.modules.gui.listbox.ListBox;
 import org.scilab.modules.gui.menubar.MenuBar;
+import org.scilab.modules.gui.popupmenu.PopupMenu;
 import org.scilab.modules.gui.pushbutton.PushButton;
+import org.scilab.modules.gui.radiobutton.RadioButton;
+import org.scilab.modules.gui.slider.Slider;
 import org.scilab.modules.gui.utils.Position;
 import org.scilab.modules.gui.utils.Size;
 
@@ -177,6 +182,56 @@ public class ScilabTabBridge {
        }
 
        /**
+        * Add a member (dockable element) to a tab and returns the index of this member
+        * @param tab the tab which we want to add the CheckBox to
+        * @param member the CheckBox to add
+        * @return the position of the CheckBox in the member list.
+        */
+       public static int addMember(Tab tab, CheckBox member) {
+               return (tab.getAsSimpleTab().addMember(member));
+       }
+
+       /**
+        * Add a member (dockable element) to a tab and returns the index of this member
+        * @param tab the tab which we want to add the RadioButton to
+        * @param member the RadioButton to add
+        * @return the position of the RadioButton in the member list.
+        */
+       public static int addMember(Tab tab, RadioButton member) {
+               return (tab.getAsSimpleTab().addMember(member));
+       }
+
+       /**
+        * Add a member (dockable element) to a tab and returns the index of this member
+        * @param tab the tab which we want to add the Slider to
+        * @param member the Slider to add
+        * @return the position of the Slider in the member list.
+        */
+       public static int addMember(Tab tab, Slider member) {
+               return (tab.getAsSimpleTab().addMember(member));
+       }
+
+       /**
+        * Add a member (dockable element) to a tab and returns the index of this member
+        * @param tab the tab which we want to add the ListBox to
+        * @param member the ListBox to add
+        * @return the position of the ListBox in the member list.
+        */
+       public static int addMember(Tab tab, ListBox member) {
+               return (tab.getAsSimpleTab().addMember(member));
+       }
+
+       /**
+        * Add a member (dockable element) to a tab and returns the index of this member
+        * @param tab the tab which we want to add the PopupMenu to
+        * @param member the PopupMenu to add
+        * @return the position of the PopupMenu in the member list.
+        */
+       public static int addMember(Tab tab, PopupMenu member) {
+               return (tab.getAsSimpleTab().addMember(member));
+       }
+
+       /**
         * Sets a MenuBar to a Scilab tab
         * @param tab the tab which we want to add the MenuBar to
         * @param newMenuBar the MenuBar to add to the tab
index af48957..f688b65 100644 (file)
@@ -4,13 +4,18 @@
 package org.scilab.modules.gui.tab;
 
 
+import org.scilab.modules.gui.checkbox.CheckBox;
 import org.scilab.modules.gui.console.Console;
 import org.scilab.modules.gui.canvas.Canvas;
 import org.scilab.modules.gui.editbox.EditBox;
 import org.scilab.modules.gui.frame.Frame;
 import org.scilab.modules.gui.label.Label;
+import org.scilab.modules.gui.listbox.ListBox;
 import org.scilab.modules.gui.menubar.MenuBar;
+import org.scilab.modules.gui.popupmenu.PopupMenu;
 import org.scilab.modules.gui.pushbutton.PushButton;
+import org.scilab.modules.gui.radiobutton.RadioButton;
+import org.scilab.modules.gui.slider.Slider;
 import org.scilab.modules.gui.toolbar.ToolBar;
 import org.scilab.modules.gui.utils.Position;
 import org.scilab.modules.gui.utils.Size;
@@ -78,6 +83,41 @@ public interface SimpleTab {
        int addMember(Label member);
 
        /**
+        * We want to be able to add directly a checkbox in a Tab.
+        * @param member the checkbox to add
+        * @return the position of the checkbox in the member list.
+        */
+       int addMember(CheckBox member);
+
+       /**
+        * We want to be able to add directly a RadioButton in a Tab.
+        * @param member the RadioButton to add
+        * @return the position of the RadioButton in the member list.
+        */
+       int addMember(RadioButton member);
+
+       /**
+        * We want to be able to add directly a Slider in a Tab.
+        * @param member the Slider to add
+        * @return the position of the Slider in the member list.
+        */
+       int addMember(Slider member);
+
+       /**
+        * We want to be able to add directly a ListBox in a Tab.
+        * @param member the ListBox to add
+        * @return the position of the ListBox in the member list.
+        */
+       int addMember(ListBox member);
+
+       /**
+        * We want to be able to add directly a PopupMenu in a Tab.
+        * @param member the PopupMenu to add
+        * @return the position of the PopupMenu in the member list.
+        */
+       int addMember(PopupMenu member);
+
+       /**
         * Gets the size of an Tab (width and height)
         * @return the size of the Tab
         */
index 83738b1..048b2f9 100644 (file)
@@ -3,13 +3,18 @@
 
 package org.scilab.modules.gui.tab;
 
+import org.scilab.modules.gui.checkbox.CheckBox;
 import org.scilab.modules.gui.console.Console;
 import org.scilab.modules.gui.canvas.Canvas;
 import org.scilab.modules.gui.container.Container;
 import org.scilab.modules.gui.editbox.EditBox;
 import org.scilab.modules.gui.frame.Frame;
 import org.scilab.modules.gui.label.Label;
+import org.scilab.modules.gui.listbox.ListBox;
+import org.scilab.modules.gui.popupmenu.PopupMenu;
 import org.scilab.modules.gui.pushbutton.PushButton;
+import org.scilab.modules.gui.radiobutton.RadioButton;
+import org.scilab.modules.gui.slider.Slider;
 
 /**
  * Interface for tabs in Scilab GUIs
@@ -78,6 +83,41 @@ public interface Tab extends Container {
        int addMember(Label member);
 
        /**
+        * We want to be able to add directly a checkbox in a Tab.
+        * @param member the checkbox to add
+        * @return the position of the checkbox in the member list.
+        */
+       int addMember(CheckBox member);
+
+       /**
+        * We want to be able to add directly a RadioButton in a Tab.
+        * @param member the RadioButton to add
+        * @return the position of the RadioButton in the member list.
+        */
+       int addMember(RadioButton member);
+
+       /**
+        * We want to be able to add directly a Slider in a Tab.
+        * @param member the Slider to add
+        * @return the position of the Slider in the member list.
+        */
+       int addMember(Slider member);
+
+       /**
+        * We want to be able to add directly a ListBox in a Tab.
+        * @param member the ListBox to add
+        * @return the position of the ListBox in the member list.
+        */
+       int addMember(ListBox member);
+
+       /**
+        * We want to be able to add directly a PopupMenu in a Tab.
+        * @param member the PopupMenu to add
+        * @return the position of the PopupMenu in the member list.
+        */
+       int addMember(PopupMenu member);
+
+       /**
         * Get the current status of the Tab in its parent
         * @return true is the tab is the tab currently "on top" in its parent
         */