disable new composant if parent is disable 79/13979/2
Antoine ELIAS [Tue, 11 Mar 2014 16:27:33 +0000 (17:27 +0100)]
Change-Id: Ieb64344bc53545244501ab792a35d932f1c3c717

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/tab/SwingScilabTabGroup.java

index 7bcb72e..e525969 100644 (file)
@@ -199,6 +199,11 @@ public class SwingScilabFrame extends JPanel implements SwingViewObject, SimpleF
      * @param member the member to add
      */
     public void addMember(SwingViewObject member) {
+        //forward disable status
+        if (isEnabled() == false) {
+            ((Component) member).setEnabled(false);
+        }
+
         if (member instanceof SwingScilabAxes) {
             AxesContainer frame = (AxesContainer) GraphicModel.getModel().getObjectFromId(getId());
             SwingScilabCanvas canvas = new SwingScilabCanvas(frame);
index ba35640..a1094d1 100644 (file)
@@ -146,6 +146,11 @@ public class SwingScilabScrollableFrame extends JScrollPane implements SwingView
      * @param member the member to add
      */
     public void addMember(SwingViewObject member) {
+        //forward disable status
+        if (isEnabled() == false) {
+            ((Component) member).setEnabled(false);
+        }
+
         Uicontrol uicontrol = (Uicontrol) GraphicModel.getModel().getObjectFromId(member.getId());
         if (getLayout() instanceof BorderLayout) {
             switch (uicontrol.getBorderPositionAsEnum()) {
index 444384e..7fd4388 100644 (file)
@@ -291,7 +291,7 @@ public class SwingScilabTabGroup extends JTabbedPane implements SwingViewObject,
         //disable current selected tab, select another enable tab if possible
         if (enabled == false && index == getSelectedIndex()) {
             //looking first enable tab and select it.
-            for (int i = 0 ; i < getComponentCount() ; i++) {
+            for (int i = 0 ; i < getTabCount() ; i++) {
                 if (getComponentAt(i).isEnabled()) {
                     setSelectedIndex(i);
                     break;