fix delmenu on non dockable figure 12/21412/2
Antoine ELIAS [Wed, 26 Feb 2020 17:49:19 +0000 (18:49 +0100)]
Scenario 1: Menu "File" will not be removed
--> f1 = figure("dockable", "off")
--> delmenu(f1.figure_id, gettext("File"));

Scenario 2: Menu "File" will be removed
-->f1 = figure("dockable", "on")
-->delmenu(f1.figure_id, gettext("File"));

Change-Id: I62b4a8ae0dda054e599b0913676935815563d8be

scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/CallScilabBridge.java

index 0801036..37dd9a1 100644 (file)
@@ -249,9 +249,8 @@ public class CallScilabBridge {
      * @param status true to set the menu enabled
      */
     public static void setMenuEnabled(int parentUID, String menuName, boolean status) {
-        SwingViewObject view = SwingView.getFromId(parentUID);
-        if (view != null && view instanceof SwingScilabDockablePanel) { /** Parent must exist */
-            SwingScilabDockablePanel parentTab = (SwingScilabDockablePanel) view;
+        SwingScilabPanel parentTab = (SwingScilabPanel) SwingView.getFromId(parentUID);
+        if (parentTab != null) { /** Parent must exist */
             parentTab.getMenuBar().getAsSimpleMenuBar().setMenuEnabled(menuName, status);
         }
     }
@@ -264,9 +263,8 @@ public class CallScilabBridge {
      * @param status true to set the menu enabled
      */
     public static void setSubMenuEnabled(int parentUID, String parentMenuName, int menuItemPosition, boolean status) {
-        SwingViewObject view = SwingView.getFromId(parentUID);
-        if (view != null && view instanceof SwingScilabDockablePanel) { /** Parent must exist */
-            SwingScilabDockablePanel parentTab = (SwingScilabDockablePanel) view;
+        SwingScilabPanel parentTab = (SwingScilabPanel) SwingView.getFromId(parentUID);
+        if (parentTab != null) { /** Parent must exist */
             parentTab.getMenuBar().getAsSimpleMenuBar().setSubMenuEnabled(parentMenuName, menuItemPosition, status);
         }
     }
@@ -283,9 +281,8 @@ public class CallScilabBridge {
      * @param menuName the name of the menu
      */
     public static void removeMenu(int parentUID, String menuName) {
-        SwingViewObject view = SwingView.getFromId(parentUID);
-        if (view != null && view instanceof SwingScilabDockablePanel) { /** Parent must exist */
-            SwingScilabDockablePanel parentTab = (SwingScilabDockablePanel) view;
+        SwingScilabPanel parentTab = (SwingScilabPanel) SwingView.getFromId(parentUID);
+        if (parentTab != null) { /** Parent must exist */
             parentTab.getMenuBar().getAsSimpleMenuBar().removeMenu(menuName);
         }
     }