Allow mutiplie axes within frames.
[scilab.git] / scilab / modules / gui / src / java / org / scilab / modules / gui / SwingView.java
index d3f79ac..73492f1 100644 (file)
@@ -1073,22 +1073,27 @@ public final class SwingView implements GraphicView {
     private void updateFrameChildren(TypedObject updatedObject, Integer[] newChildren) {
         SwingScilabFrame updatedComponent = (SwingScilabFrame) updatedObject.getValue();
         boolean needRevalidate = false;
-
+        boolean hasOpenGLAxes = false;
+        
         // Add new children
         for (Integer childId : newChildren) {
+            int childType = (Integer) GraphicController.getController().getProperty(childId, __GO_TYPE__);
             if (!updatedObject.hasChild(childId)) {
 
                 // Add the child
                 updatedObject.addChild(childId);
 
-                int childType = (Integer) GraphicController.getController().getProperty(childId, __GO_TYPE__);
-
                 /* Add an uicontrol */
                 if (childType == __GO_UICONTROL__ || childType == __GO_AXES__) {
                     updatedComponent.addMember(allObjects.get(childId).getValue());
                     needRevalidate = true;
                 }
             }
+            
+            if (childType == __GO_AXES__) {
+                hasOpenGLAxes = true;
+            }
+            
         }
 
         // Remove children which have been deleted
@@ -1108,14 +1113,14 @@ public final class SwingView implements GraphicView {
                     updatedComponent.remove((Component) allObjects.get(childId).getValue());
                     needRevalidate = true;
                 }
-                
-                if (childType == __GO_AXES__) {
-                    updatedComponent.removeAxes();
-                    needRevalidate = true;
-                }
-                
             }
         }
+        
+        if (!hasOpenGLAxes) {
+            updatedComponent.removeAxes();
+            needRevalidate = true;
+        }
+        
         if (needRevalidate && updatedComponent != null) {
             updatedComponent.revalidate();
         }