Fix default value for relief property. 79/13779/1
Vincent COUVERT [Tue, 18 Feb 2014 14:31:10 +0000 (15:31 +0100)]
To test:
test_run gui bug_3675
test_run graphics save_load
test_run graphics bug_11411

Change-Id: I3b39e1983fafe64477ac792ad6542f2966065305

23 files changed:
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/uicontrol/Uicontrol.java
scilab/modules/gui/help/en_US/uicontrol.xml
scilab/modules/gui/src/cpp/SetUicontrolRelief.cpp
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/checkbox/SwingScilabCheckBox.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/checkboxmenuitem/SwingScilabCheckBoxMenuItem.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/contextmenu/SwingScilabContextMenu.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/editbox/SwingScilabEditBox.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/frame/SwingScilabFrame.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/frame/SwingScilabScrollableFrame.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/label/SwingScilabLabel.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/listbox/SwingScilabListBox.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/menu/SwingScilabMenu.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/menuitem/SwingScilabMenuItem.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/popupmenu/SwingScilabPopupMenu.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/pushbutton/SwingScilabPushButton.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/SwingScilabScroll.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/slider/SwingScilabSlider.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/textbox/SwingScilabTextBox.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/uidisplaytree/SwingScilabUiDisplayTree.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/uiimage/SwingScilabUiImage.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/uitable/SwingScilabUiTable.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/ScilabRelief.java

index cdd9338..6547a50 100644 (file)
@@ -261,7 +261,7 @@ public class Uicontrol extends GraphicObject {
         }
     }
 
-    protected static final String RELIEF_NONE   = "";
+    protected static final String RELIEF_DEFAULT   = "default";
     protected static final String RELIEF_FLAT   = "flat";
     protected static final String RELIEF_RAISED = "raised";
     protected static final String RELIEF_SUNKEN = "sunken";
@@ -299,7 +299,7 @@ public class Uicontrol extends GraphicObject {
     private double max = 1.0;
     private double min;
     private Double[] position = {DEFAULT_X, DEFAULT_Y, DEFAULT_WIDTH, DEFAULT_HEIGHT};
-    private String relief = RELIEF_NONE;
+    private String relief = RELIEF_DEFAULT;
     private Double[] sliderStep = {0.01, 0.1};
     private String[] string = {""};
     private int stringColNb = 1; // Used for tables
index fe4d23f..a89f6d7 100644 (file)
             <varlistentry>
                 <term>Relief</term>
                 <listitem>
-                    <para>flat | groove | raised | ridge | solid | sunken</para>
-                    <para>Appearance of the border of the uicontrol:</para>
+                    <para>{default} | flat | groove | raised | ridge | solid | sunken</para>
+                    <para>
+                        Appearance of the border of the uicontrol. <literal>"default"</literal> means that the application look and feel will be used to set the relief.
+                    </para>
+                    <para>When using the deprecated skin for uicontrols, default values are related to uicontrol style:</para>
                     <itemizedlist>
                         <listitem>
                             <para>PushButtons: the default value for "Relief" property is
index b954e56..653776d 100644 (file)
@@ -27,14 +27,14 @@ int SetUicontrolRelief(void* _pvCtx, int iObjUID, void* _pvData, int valueType,
     if (valueType != sci_strings)
     {
         /* Wrong datatype */
-        Scierror(999, const_cast<char*>(_("Wrong type for '%s' property: '%s', '%s', '%s', '%s', '%s' or '%s' expected.\n")), "Relief", "flat", "groove", "raised", "ridge", "solid", "sunken");
+        Scierror(999, const_cast<char*>(_("Wrong type for '%s' property: '%s', '%s', '%s', '%s', '%s', '%s' or '%s' expected.\n")), "Relief", "flat", "groove", "raised", "ridge", "solid", "sunken", "default");
         return SET_PROPERTY_ERROR;
     }
 
     if (nbCol != 1 || nbRow == 0)
     {
         /* Wrong string size */
-        Scierror(999, const_cast<char*>(_("Wrong size for '%s' property: '%s', '%s', '%s', '%s', '%s' or '%s' expected.\n")), "Relief", "flat", "groove", "raised", "ridge", "solid", "sunken");
+        Scierror(999, const_cast<char*>(_("Wrong type for '%s' property: '%s', '%s', '%s', '%s', '%s', '%s' or '%s' expected.\n")), "Relief", "flat", "groove", "raised", "ridge", "solid", "sunken", "default");
         return SET_PROPERTY_ERROR;
     }
 
@@ -45,10 +45,11 @@ int SetUicontrolRelief(void* _pvCtx, int iObjUID, void* _pvData, int valueType,
             && stricmp(relief, "raised") != 0
             && stricmp(relief, "ridge") != 0
             && stricmp(relief, "solid") != 0
-            && stricmp(relief, "sunken") != 0)
+            && stricmp(relief, "sunken") != 0
+            && stricmp(relief, "default") != 0)
     {
         /* Wrong string format */
-        Scierror(999, const_cast<char*>(_("Wrong value for '%s' property: '%s', '%s', '%s', '%s', '%s' or '%s' expected.\n")), "Relief", "flat", "groove", "raised", "ridge", "solid", "sunken");
+        Scierror(999, const_cast<char*>(_("Wrong type for '%s' property: '%s', '%s', '%s', '%s', '%s', '%s' or '%s' expected.\n")), "Relief", "flat", "groove", "raised", "ridge", "solid", "sunken", "default");
         return SET_PROPERTY_ERROR;
     }
 
index fa1f5ce..7486cbb 100644 (file)
@@ -26,6 +26,7 @@ import java.util.Enumeration;
 import javax.swing.AbstractButton;
 import javax.swing.JCheckBox;
 import javax.swing.UIManager;
+import javax.swing.border.Border;
 
 import org.scilab.modules.graphic_objects.graphicController.GraphicController;
 import org.scilab.modules.gui.SwingViewObject;
@@ -58,6 +59,8 @@ public class SwingScilabCheckBox extends JCheckBox implements SwingViewObject, S
 
     private ActionListener actListener;
 
+    private Border defaultBorder = null;
+
     /**
      * Constructor
      */
@@ -284,9 +287,10 @@ public class SwingScilabCheckBox extends JCheckBox implements SwingViewObject, S
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
-        if (reliefType.equals("") == false) {
-            setBorder(ScilabRelief.getBorderFromRelief(reliefType));
+        if (defaultBorder == null) {
+            defaultBorder = getBorder();
         }
+        setBorder(ScilabRelief.getBorderFromRelief(reliefType, defaultBorder));
     }
 
     /**
index a15b059..53df433 100644 (file)
@@ -20,6 +20,7 @@ import java.awt.event.ActionListener;
 import javax.swing.JCheckBoxMenuItem;
 import javax.swing.UIManager;
 import javax.swing.JToggleButton.ToggleButtonModel;
+import javax.swing.border.Border;
 
 import org.scilab.modules.commons.utils.StringBlockingResult;
 import org.scilab.modules.console.utils.ScilabSpecialTextUtilities;
@@ -55,6 +56,8 @@ public class SwingScilabCheckBoxMenuItem extends JCheckBoxMenuItem implements Sw
 
     private Integer uid;
 
+    private Border defaultBorder = null;
+
     /**
      * Constructor
      */
@@ -226,7 +229,10 @@ public class SwingScilabCheckBoxMenuItem extends JCheckBoxMenuItem implements Sw
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
-        setBorder(ScilabRelief.getBorderFromRelief(reliefType));
+        if (defaultBorder == null) {
+            defaultBorder = getBorder();
+        }
+        setBorder(ScilabRelief.getBorderFromRelief(reliefType, defaultBorder));
     }
 
     /**
index b952a23..05decf6 100644 (file)
@@ -19,6 +19,7 @@ import java.awt.MouseInfo;
 
 import javax.swing.JPopupMenu;
 import javax.swing.UIManager;
+import javax.swing.border.Border;
 import javax.swing.event.PopupMenuEvent;
 import javax.swing.event.PopupMenuListener;
 
@@ -52,6 +53,8 @@ public class SwingScilabContextMenu extends JPopupMenu implements SwingViewObjec
 
     private boolean checkedState;
 
+    private Border defaultBorder = null;
+
     /**
      * Constructor
      */
@@ -233,7 +236,10 @@ public class SwingScilabContextMenu extends JPopupMenu implements SwingViewObjec
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
-        setBorder(ScilabRelief.getBorderFromRelief(reliefType));
+        if (defaultBorder == null) {
+            defaultBorder = getBorder();
+        }
+        setBorder(ScilabRelief.getBorderFromRelief(reliefType, defaultBorder));
     }
 
     /**
index e8815c8..87e8ccd 100644 (file)
@@ -32,6 +32,7 @@ import javax.swing.JTextPane;
 import javax.swing.KeyStroke;
 import javax.swing.ScrollPaneConstants;
 import javax.swing.UIManager;
+import javax.swing.border.Border;
 import javax.swing.text.AbstractDocument;
 import javax.swing.text.BoxView;
 import javax.swing.text.ComponentView;
@@ -76,6 +77,8 @@ public class SwingScilabEditBox extends JScrollPane implements SwingViewObject,
 
     private FocusListener focusListener;
 
+    private Border defaultBorder = null;
+
     private StyledDocument doc;
     private SimpleAttributeSet docAttributes = new SimpleAttributeSet();
 
@@ -372,9 +375,10 @@ public class SwingScilabEditBox extends JScrollPane implements SwingViewObject,
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
-        if (reliefType.equals("") == false) {
-            textPane.setBorder(ScilabRelief.getBorderFromRelief(reliefType));
+        if (defaultBorder == null) {
+            defaultBorder = textPane.getBorder();
         }
+        textPane.setBorder(ScilabRelief.getBorderFromRelief(reliefType, defaultBorder));
     }
 
     /**
index 1e5c775..1d26e07 100644 (file)
@@ -104,6 +104,8 @@ public class SwingScilabFrame extends JPanel implements SwingViewObject, SimpleF
     private Integer uid = -1;
     int redraw = 0;
 
+    private Border defaultBorder = null;
+
     /**
      * Constructor
      */
@@ -696,9 +698,10 @@ public class SwingScilabFrame extends JPanel implements SwingViewObject, SimpleF
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
-        if (org.scilab.modules.graphic_objects.console.Console.getConsole().getUseDeprecatedLF()) {
-            setBorder(ScilabRelief.getBorderFromRelief(reliefType));
+        if (defaultBorder == null) {
+            defaultBorder = getBorder();
         }
+        setBorder(ScilabRelief.getBorderFromRelief(reliefType, defaultBorder));
     }
 
     /**
index e56ee46..e8e4cf0 100644 (file)
@@ -80,8 +80,8 @@ public class SwingScilabScrollableFrame extends JScrollPane implements SwingView
 
     private Integer uid;
     private JPanel panel = new JPanel();
-    //    private Dimension panelSize = new Dimension(0, 0);
-    //    private Point panelLoc = new Point(0, 0);
+
+    private Border defaultBorder = null;
 
     /**
      * Constructor
@@ -351,9 +351,10 @@ public class SwingScilabScrollableFrame extends JScrollPane implements SwingView
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
-        if (org.scilab.modules.graphic_objects.console.Console.getConsole().getUseDeprecatedLF()) {
-            setBorder(ScilabRelief.getBorderFromRelief(reliefType));
+        if (defaultBorder == null) {
+            defaultBorder = getBorder();
         }
+        setBorder(ScilabRelief.getBorderFromRelief(reliefType, defaultBorder));
     }
 
     /**
index bafb3c4..8fddb49 100644 (file)
@@ -20,7 +20,6 @@ import java.awt.Dimension;
 import java.awt.Font;
 import java.awt.GridBagConstraints;
 import java.awt.GridBagLayout;
-import java.awt.image.BufferedImage;
 import java.io.File;
 import java.io.IOException;
 
@@ -35,6 +34,7 @@ import javax.swing.JScrollPane;
 import javax.swing.JTextPane;
 import javax.swing.SwingConstants;
 import javax.swing.UIManager;
+import javax.swing.border.Border;
 import javax.swing.event.HyperlinkEvent;
 import javax.swing.event.HyperlinkListener;
 import javax.swing.text.html.HTMLDocument;
@@ -71,12 +71,11 @@ public class SwingScilabLabel extends JScrollPane implements SwingViewObject, Si
 
     private JComponent label = new JLabel();
 
+    private Border defaultBorder = null;
+
     private boolean isJLabel = true;
 
-    private String horizontalAlignment = "left"; /*
-                                                  * Horizontal alignment
-                                                  * property
-                                                  */
+    private String horizontalAlignment = "left"; /* Horizontal alignment property */
 
     private String verticalAlignment = "middle"; /* Vertical alignment property */
 
@@ -282,9 +281,10 @@ public class SwingScilabLabel extends JScrollPane implements SwingViewObject, Si
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
-        if (reliefType.equals("") == false) {
-            setBorder(ScilabRelief.getBorderFromRelief(reliefType));
+        if (defaultBorder == null) {
+            defaultBorder = getBorder();
         }
+        setBorder(ScilabRelief.getBorderFromRelief(reliefType, defaultBorder));
     }
 
     /**
index fe6093c..a1df6f3 100644 (file)
 
 package org.scilab.modules.gui.bridge.listbox;
 
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.*;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_BACKGROUNDCOLOR__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_LISTBOXTOP__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_MAX__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_MIN__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_STRING__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_VALUE__;
 
 import java.awt.Color;
 import java.awt.Font;
@@ -28,6 +33,7 @@ import javax.swing.JList;
 import javax.swing.JScrollPane;
 import javax.swing.ListSelectionModel;
 import javax.swing.UIManager;
+import javax.swing.border.Border;
 
 import org.scilab.modules.graphic_objects.graphicController.GraphicController;
 import org.scilab.modules.gui.SwingViewObject;
@@ -56,6 +62,8 @@ public class SwingScilabListBox extends JScrollPane implements SwingViewObject,
 
     private Integer uid;
 
+    private Border defaultBorder = null;
+
     private CommonCallBack callback;
 
     private MouseListener mouseListener;
@@ -443,9 +451,10 @@ public class SwingScilabListBox extends JScrollPane implements SwingViewObject,
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
-        if (reliefType.equals("") == false) {
-            setBorder(ScilabRelief.getBorderFromRelief(reliefType));
+        if (defaultBorder == null) {
+            defaultBorder = getBorder();
         }
+        setBorder(ScilabRelief.getBorderFromRelief(reliefType, defaultBorder));
     }
 
     /**
index 50fc408..2871bb0 100644 (file)
@@ -20,6 +20,7 @@ import java.awt.event.MouseListener;
 
 import javax.swing.JMenu;
 import javax.swing.UIManager;
+import javax.swing.border.Border;
 
 import org.scilab.modules.console.utils.ScilabSpecialTextUtilities;
 import org.scilab.modules.gui.SwingViewMenu;
@@ -54,6 +55,7 @@ public class SwingScilabMenu extends JMenu implements SwingViewObject, SimpleMen
     private MouseListener customedMouseListener;
     private boolean checkedState;
     private String text = "";
+    private Border defaultBorder = null;
 
     private Integer uid;
 
@@ -372,7 +374,10 @@ public class SwingScilabMenu extends JMenu implements SwingViewObject, SimpleMen
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
-        setBorder(ScilabRelief.getBorderFromRelief(reliefType));
+        if (defaultBorder == null) {
+            defaultBorder = getBorder();
+        }
+        setBorder(ScilabRelief.getBorderFromRelief(reliefType, defaultBorder));
     }
 
     /**
index 8f41631..37d27d7 100644 (file)
@@ -21,6 +21,7 @@ import java.awt.event.ActionListener;
 
 import javax.swing.JMenuItem;
 import javax.swing.UIManager;
+import javax.swing.border.Border;
 
 import org.scilab.modules.commons.utils.StringBlockingResult;
 import org.scilab.modules.console.utils.ScilabSpecialTextUtilities;
@@ -59,6 +60,8 @@ public class SwingScilabMenuItem extends JMenuItem implements SwingViewObject, S
     private boolean autoCheckedMode = true;
     private String text = "";
 
+    private Border defaultBorder = null;
+
     private Integer uid;
 
     /**
@@ -236,7 +239,10 @@ public class SwingScilabMenuItem extends JMenuItem implements SwingViewObject, S
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
-        setBorder(ScilabRelief.getBorderFromRelief(reliefType));
+        if (defaultBorder == null) {
+            defaultBorder = getBorder();
+        }
+        setBorder(ScilabRelief.getBorderFromRelief(reliefType, defaultBorder));
     }
 
     /**
index 12628b8..74a4606 100644 (file)
@@ -23,6 +23,7 @@ import java.awt.event.ActionListener;
 
 import javax.swing.JComboBox;
 import javax.swing.UIManager;
+import javax.swing.border.Border;
 
 import org.scilab.modules.graphic_objects.graphicController.GraphicController;
 import org.scilab.modules.gui.SwingViewObject;
@@ -53,6 +54,8 @@ public class SwingScilabPopupMenu extends JComboBox implements SwingViewObject,
 
     private ActionListener defaultActionListener;
 
+    private Border defaultBorder = null;
+
     /**
      * Constructor
      */
@@ -307,9 +310,10 @@ public class SwingScilabPopupMenu extends JComboBox implements SwingViewObject,
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
-        if (reliefType.equals("") == false) {
-            setBorder(ScilabRelief.getBorderFromRelief(reliefType));
+        if (defaultBorder == null) {
+            defaultBorder = getBorder();
         }
+        setBorder(ScilabRelief.getBorderFromRelief(reliefType, defaultBorder));
     }
 
     /**
index 05fc0ba..635fc66 100644 (file)
@@ -29,6 +29,7 @@ import javax.swing.Icon;
 import javax.swing.ImageIcon;
 import javax.swing.JButton;
 import javax.swing.UIManager;
+import javax.swing.border.Border;
 
 import org.scilab.modules.commons.gui.FindIconHelper;
 import org.scilab.modules.console.utils.ScilabSpecialTextUtilities;
@@ -63,6 +64,8 @@ public class SwingScilabPushButton extends JButton implements SwingViewObject, S
     private boolean isLaTeX;
     private int fontSize;
 
+    private Border defaultBorder = null;
+
     /**
      * Constructor
      */
@@ -260,9 +263,10 @@ public class SwingScilabPushButton extends JButton implements SwingViewObject, S
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
-        if (reliefType.equals("") == false) {
-            setBorder(ScilabRelief.getBorderFromRelief(reliefType));
+        if (defaultBorder == null) {
+            defaultBorder = getBorder();
         }
+        setBorder(ScilabRelief.getBorderFromRelief(reliefType, defaultBorder));
     }
 
     /**
index 2fc9994..244e706 100644 (file)
@@ -25,6 +25,7 @@ import java.util.Enumeration;
 import javax.swing.AbstractButton;
 import javax.swing.JRadioButton;
 import javax.swing.UIManager;
+import javax.swing.border.Border;
 
 import org.scilab.modules.graphic_objects.graphicController.GraphicController;
 import org.scilab.modules.gui.SwingViewObject;
@@ -58,6 +59,8 @@ public class SwingScilabRadioButton extends JRadioButton implements SwingViewObj
 
     private ActionListener actListener;
 
+    private Border defaultBorder = null;
+
     /**
      * Constructor
      */
@@ -285,9 +288,10 @@ public class SwingScilabRadioButton extends JRadioButton implements SwingViewObj
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
-        if (reliefType.equals("") == false) {
-            setBorder(ScilabRelief.getBorderFromRelief(reliefType));
+        if (defaultBorder == null) {
+            defaultBorder = getBorder();
         }
+        setBorder(ScilabRelief.getBorderFromRelief(reliefType, defaultBorder));
     }
 
     /**
index ca8ea53..b2868db 100644 (file)
@@ -25,6 +25,7 @@ import java.awt.event.AdjustmentListener;
 
 import javax.swing.JScrollBar;
 import javax.swing.UIManager;
+import javax.swing.border.Border;
 
 import org.scilab.modules.graphic_objects.graphicController.GraphicController;
 import org.scilab.modules.gui.SwingViewObject;
@@ -60,6 +61,8 @@ public class SwingScilabScroll extends JScrollBar implements SwingViewObject, Si
 
     private AdjustmentListener adjustmentListener;
 
+    private Border defaultBorder = null;
+
     /**
      * Constructor
      */
@@ -231,9 +234,10 @@ public class SwingScilabScroll extends JScrollBar implements SwingViewObject, Si
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
-        if (reliefType.equals("") == false) {
-            setBorder(ScilabRelief.getBorderFromRelief(reliefType));
+        if (defaultBorder == null) {
+            defaultBorder = getBorder();
         }
+        setBorder(ScilabRelief.getBorderFromRelief(reliefType, defaultBorder));
     }
 
     /**
index 561cffd..cd2e377 100644 (file)
@@ -26,6 +26,7 @@ import javax.swing.JScrollBar;
 import javax.swing.JSlider;
 import javax.swing.KeyStroke;
 import javax.swing.UIManager;
+import javax.swing.border.Border;
 import javax.swing.event.ChangeEvent;
 import javax.swing.event.ChangeListener;
 
@@ -60,6 +61,8 @@ public class SwingScilabSlider extends JSlider implements SwingViewObject, Simpl
 
     private ChangeListener changeListener;
 
+    private Border defaultBorder = null;
+
     class CtrlLeftAction extends AbstractAction {
         private static final long serialVersionUID = -3289281207742516486L;
 
@@ -304,9 +307,10 @@ public class SwingScilabSlider extends JSlider implements SwingViewObject, Simpl
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
-        if (reliefType.equals("") == false) {
-            setBorder(ScilabRelief.getBorderFromRelief(reliefType));
+        if (defaultBorder == null) {
+            defaultBorder = getBorder();
         }
+        setBorder(ScilabRelief.getBorderFromRelief(reliefType, defaultBorder));
     }
 
     /**
index 63784e3..f111953 100644 (file)
@@ -16,6 +16,7 @@ import java.awt.Color;
 
 import javax.swing.JTextArea;
 import javax.swing.UIManager;
+import javax.swing.border.Border;
 
 import org.scilab.modules.gui.events.callback.CommonCallBack;
 import org.scilab.modules.gui.menubar.MenuBar;
@@ -36,6 +37,8 @@ public class SwingScilabTextBox extends JTextArea implements SimpleTextBox {
 
     private static final long serialVersionUID = 3632560416759268432L;
 
+    private Border defaultBorder = null;
+
     /**
      * Constructor
      */
@@ -179,7 +182,10 @@ public class SwingScilabTextBox extends JTextArea implements SimpleTextBox {
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
-        setBorder(ScilabRelief.getBorderFromRelief(reliefType));
+        if (defaultBorder == null) {
+            defaultBorder = getBorder();
+        }
+        setBorder(ScilabRelief.getBorderFromRelief(reliefType, defaultBorder));
     }
 
     /**
index b89fef9..370829c 100644 (file)
@@ -17,20 +17,21 @@ import java.awt.Font;
 import javax.swing.JLabel;
 import javax.swing.JScrollPane;
 import javax.swing.UIManager;
+import javax.swing.border.Border;
 
+import org.scilab.modules.gui.bridge.tree.SwingScilabTree;
 import org.scilab.modules.gui.events.callback.CommonCallBack;
-import org.scilab.modules.gui.uidisplaytree.SimpleUiDisplayTree;
 import org.scilab.modules.gui.menubar.MenuBar;
 import org.scilab.modules.gui.textbox.TextBox;
 import org.scilab.modules.gui.toolbar.ToolBar;
+import org.scilab.modules.gui.tree.ScilabDisplayTree;
+import org.scilab.modules.gui.uidisplaytree.SimpleUiDisplayTree;
 import org.scilab.modules.gui.utils.Position;
 import org.scilab.modules.gui.utils.PositionConverter;
 import org.scilab.modules.gui.utils.ScilabAlignment;
 import org.scilab.modules.gui.utils.ScilabRelief;
 import org.scilab.modules.gui.utils.ScilabSwingUtilities;
 import org.scilab.modules.gui.utils.Size;
-import org.scilab.modules.gui.bridge.tree.SwingScilabTree;
-import org.scilab.modules.gui.tree.ScilabDisplayTree;
 
 /**
  * Swing implementation for Scilab UiDisplayTree in GUIs
@@ -43,6 +44,8 @@ public class SwingScilabUiDisplayTree extends JScrollPane implements SimpleUiDis
     private JLabel label;
     private SwingScilabTree sst;
 
+    private Border defaultBorder = null;
+
     /**
      * Constructor
      */
@@ -218,7 +221,10 @@ public class SwingScilabUiDisplayTree extends JScrollPane implements SimpleUiDis
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
-        setBorder(ScilabRelief.getBorderFromRelief(reliefType));
+        if (defaultBorder == null) {
+            defaultBorder = getBorder();
+        }
+        setBorder(ScilabRelief.getBorderFromRelief(reliefType, defaultBorder));
     }
 
     /**
index b33b69d..636efd2 100644 (file)
@@ -22,6 +22,7 @@ import java.awt.image.BufferedImage;
 import javax.swing.ImageIcon;
 import javax.swing.JLabel;
 import javax.swing.UIManager;
+import javax.swing.border.Border;
 
 import org.scilab.modules.gui.SwingViewObject;
 import org.scilab.modules.gui.SwingViewWidget;
@@ -58,6 +59,8 @@ public class SwingScilabUiImage extends JLabel implements SwingViewObject, Simpl
     private double[] shear;
     private double angle;
 
+    private Border defaultBorder = null;
+
     /**
      * Constructor
      */
@@ -182,7 +185,10 @@ public class SwingScilabUiImage extends JLabel implements SwingViewObject, Simpl
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
-        setBorder(ScilabRelief.getBorderFromRelief(reliefType));
+        if (defaultBorder == null) {
+            defaultBorder = getBorder();
+        }
+        setBorder(ScilabRelief.getBorderFromRelief(reliefType, defaultBorder));
     }
 
     /**
index 1d7b7a1..4f26075 100644 (file)
@@ -23,6 +23,7 @@ import javax.swing.JList;
 import javax.swing.JScrollPane;
 import javax.swing.JTable;
 import javax.swing.UIManager;
+import javax.swing.border.Border;
 
 import org.scilab.modules.graphic_objects.graphicController.GraphicController;
 import org.scilab.modules.gui.SwingViewObject;
@@ -49,6 +50,8 @@ public class SwingScilabUiTable extends JScrollPane implements SwingViewObject,
 
     private Integer uid;
 
+    private Border defaultBorder = null;
+
     private JTable uiTable;
     private JList rowHeader;
 
@@ -241,7 +244,10 @@ public class SwingScilabUiTable extends JScrollPane implements SwingViewObject,
      * @param reliefType the type of the relief to set (See ScilabRelief.java)
      */
     public void setRelief(String reliefType) {
-        setBorder(ScilabRelief.getBorderFromRelief(reliefType));
+        if (defaultBorder == null) {
+            defaultBorder = getBorder();
+        }
+        setBorder(ScilabRelief.getBorderFromRelief(reliefType, defaultBorder));
     }
 
     /**
index 1481277..a5f6f80 100644 (file)
@@ -77,6 +77,10 @@ public final class ScilabRelief {
      * Keyword used for SUNKEN relief property
      */
     public static final Border SUNKEN_BORDER = BorderFactory.createLoweredBevelBorder();
+    /**
+     * LaF border property
+     */
+    public static final String DEFAULT = "default";
 
     /**
      * Constructor
@@ -90,7 +94,7 @@ public final class ScilabRelief {
      * @param reliefType Scilab type for relief
      * @return the corresponding border
      */
-    public static Border getBorderFromRelief(String reliefType) {
+    public static Border getBorderFromRelief(String reliefType, Border defaultBorder) {
         Border returnBorder = SUNKEN_BORDER;
         if (reliefType.equals(FLAT)) {
             returnBorder = FLAT_BORDER;
@@ -102,6 +106,8 @@ public final class ScilabRelief {
             returnBorder = RIDGE_BORDER;
         } else if (reliefType.equals(SOLID)) {
             returnBorder = SOLID_BORDER;
+        } else if (reliefType.equals(DEFAULT)) {
+            returnBorder = defaultBorder;
         }
         return returnBorder;
     }