Refactor SwingScilabWindow and SwingScilabPanel 87/13587/3
Bruno JOFRET [Wed, 29 Jan 2014 08:57:59 +0000 (09:57 +0100)]
Change-Id: Ie2714855e7e79289c4ff1dfef77a310560b3e414

84 files changed:
scilab/modules/core/src/java/org/scilab/modules/core/ConsoleTab.java
scilab/modules/core/src/java/org/scilab/modules/core/ConsoleTabFactory.java
scilab/modules/core/src/java/org/scilab/modules/core/Scilab.java
scilab/modules/graphic_objects/includes/graphicObjectProperties.h
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/builder/Builder.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/figure/Figure.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicModel/GraphicModel.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicObject.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicObjectProperties.java
scilab/modules/graphic_objects/src/scripts/propertiesMap.properties
scilab/modules/gui/src/java/org/scilab/modules/gui/SwingView.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/CallScilabBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/filechooser/SwingScilabExportFileChooser.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/frame/SwingScilabFrame.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/AwtScilabScrollPane.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/SwingScilabCommonPanel.java [new file with mode: 0644]
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/SwingScilabDockablePanel.java [moved from scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/SwingScilabDockable.java with 74% similarity]
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/SwingScilabPanel.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/SwingScilabScrollPane.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/SwingScilabStaticPanel.java [new file with mode: 0644]
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tree/SwingScilabTree.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/window/SwingScilabDockingWindow.java [new file with mode: 0644]
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/window/SwingScilabStaticWindow.java [new file with mode: 0644]
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/window/SwingScilabWindow.java
scilab/modules/gui/src/java/org/scilab/modules/gui/ged/Inspector.java
scilab/modules/gui/src/java/org/scilab/modules/gui/ged/InspectorTab.java
scilab/modules/gui/src/java/org/scilab/modules/gui/ged/SwingInspector.java
scilab/modules/gui/src/java/org/scilab/modules/gui/ged/actions/CloseAction.java
scilab/modules/gui/src/java/org/scilab/modules/gui/helpbrowser/ScilabHelpBrowser.java
scilab/modules/gui/src/java/org/scilab/modules/gui/plotbrowser/PlotBrowser.java
scilab/modules/gui/src/java/org/scilab/modules/gui/plotbrowser/PlotBrowserTab.java
scilab/modules/gui/src/java/org/scilab/modules/gui/plotbrowser/SwingPlotBrowser.java
scilab/modules/gui/src/java/org/scilab/modules/gui/plotbrowser/actions/CloseAction.java
scilab/modules/gui/src/java/org/scilab/modules/gui/tab/ScilabTabBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/tabfactory/AbstractScilabTabFactory.java
scilab/modules/gui/src/java/org/scilab/modules/gui/tabfactory/HelpBrowserTab.java
scilab/modules/gui/src/java/org/scilab/modules/gui/tabfactory/HelpBrowserTabFactory.java
scilab/modules/gui/src/java/org/scilab/modules/gui/tabfactory/ScilabTabFactory.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/BarUpdater.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/ClosingOperationsManager.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/SciClosingAction.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/SciDockingListener.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/SciHelpOnComponentAction.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/SciUndockingAction.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/WindowsConfigurationManager.java
scilab/modules/gui/src/java/org/scilab/modules/gui/window/ScilabWindowBridge.java
scilab/modules/gui/src/java/org/scilab/modules/gui/window/SimpleWindow.java
scilab/modules/history_browser/src/java/org/scilab/modules/history_browser/CommandHistory.java
scilab/modules/history_browser/src/java/org/scilab/modules/history_browser/CommandHistoryTab.java
scilab/modules/history_browser/src/java/org/scilab/modules/history_browser/CommandHistoryTabFactory.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/SciNotes.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/SciNotesGUI.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/tabfactory/CodeNavigatorTab.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/tabfactory/CodeNavigatorTabFactory.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/tabfactory/SciNotesTab.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/tabfactory/SciNotesTabFactory.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/tabfactory/SearchInFilesTab.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/tabfactory/SearchInFilesTabFactory.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/utils/NavigatorWindow.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/utils/ScilabTabbedPane.java
scilab/modules/scinotes/src/java/org/scilab/modules/scinotes/utils/SearchFile.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/SwingScilabFileBrowser.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/actions/CloseAction.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/actions/EditFileWithDefaultAppAction.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/actions/ExecuteCommandAction.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/filebrowser/actions/OpenFileWithDefaultAppAction.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/tabfactory/FileBrowserTab.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/tabfactory/FileBrowserTabFactory.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/tabfactory/VariableBrowserTab.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/tabfactory/VariableBrowserTabFactory.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/variablebrowser/ScilabVariableBrowser.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/variablebrowser/SwingScilabVariableBrowser.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/variableeditor/ScilabVariableEditor.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/variableeditor/SwingScilabVariableEditor.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/variableeditor/actions/ExportToCsvAction.java
scilab/modules/ui_data/src/java/org/scilab/modules/ui_data/variableeditor/actions/PlotAction.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/ViewPortTab.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/Xcos.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/XcosTab.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/actions/CloseAction.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/actions/ViewViewportAction.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/graph/XcosDiagram.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/PaletteManager.java
scilab/modules/xcos/src/java/org/scilab/modules/xcos/palette/view/PaletteManagerView.java

index dd55c10..8f70039 100644 (file)
@@ -22,7 +22,7 @@ import org.scilab.modules.commons.ScilabCommonsUtils;
 import org.scilab.modules.commons.ScilabConstants;
 import org.scilab.modules.gui.ScilabTermination;
 import org.scilab.modules.gui.bridge.CallScilabBridge;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.console.ScilabConsole;
 import org.scilab.modules.gui.menubar.MenuBar;
 import org.scilab.modules.gui.menubar.ScilabMenuBar;
@@ -60,8 +60,8 @@ public class ConsoleTab {
             Tab tab = ScilabTab.createTab(EMPTYTAB, uuid);
             JTextArea textarea = new JTextArea(NOCONSOLE);
             textarea.setEditable(false);
-            ((SwingScilabDockable) tab.getAsSimpleTab()).setContentPane(textarea);
-            ((SwingScilabDockable) tab.getAsSimpleTab()).setAssociatedXMLIDForHelp("console");
+            ((SwingScilabDockablePanel) tab.getAsSimpleTab()).setContentPane(textarea);
+            ((SwingScilabDockablePanel) tab.getAsSimpleTab()).setAssociatedXMLIDForHelp("console");
 
             ClosingOperationsManager.registerClosingOperation(tab, new ClosingOperationsManager.ClosingOperation() {
 
@@ -71,18 +71,18 @@ public class ConsoleTab {
 
                 public void destroy() { }
 
-                public String askForClosing(final List<SwingScilabDockable> list) {
+                public String askForClosing(final List<SwingScilabDockablePanel> list) {
                     return null;
                 }
 
                 @Override
-                public void updateDependencies(List<SwingScilabDockable> list,
-                                               ListIterator<SwingScilabDockable> it) {
+                public void updateDependencies(List<SwingScilabDockablePanel> list,
+                                               ListIterator<SwingScilabDockablePanel> it) {
                 }
             });
 
             ClosingOperationsManager.addDependencyWithRoot(tab);
-            WindowsConfigurationManager.restorationFinished((SwingScilabDockable) tab.getAsSimpleTab());
+            WindowsConfigurationManager.restorationFinished((SwingScilabDockablePanel) tab.getAsSimpleTab());
 
             return tab;
         }
@@ -114,13 +114,13 @@ public class ConsoleTab {
                     }
                 }
 
-                public String askForClosing(final List<SwingScilabDockable> list) {
+                public String askForClosing(final List<SwingScilabDockablePanel> list) {
                     return "Scilab";
                 }
 
                 @Override
-                public void updateDependencies(List<SwingScilabDockable> list,
-                                               ListIterator<SwingScilabDockable> it) {
+                public void updateDependencies(List<SwingScilabDockablePanel> list,
+                                               ListIterator<SwingScilabDockablePanel> it) {
                 }
             });
 
@@ -137,10 +137,10 @@ public class ConsoleTab {
         /** Adding content into container */
         ScilabConsole.getConsole().setMaxOutputSize(ConfigManager.getMaxOutputSize());
         consoleTab.addMember(ScilabConsole.getConsole());
-        ((SwingScilabDockable) consoleTab.getAsSimpleTab()).setAssociatedXMLIDForHelp("console");
+        ((SwingScilabDockablePanel) consoleTab.getAsSimpleTab()).setAssociatedXMLIDForHelp("console");
 
         MenuBar menuBar = ScilabMenuBar.createMenuBar();
-        ((SwingScilabDockable) consoleTab.getAsSimpleTab()).setMenuBar(menuBar);
+        ((SwingScilabDockablePanel) consoleTab.getAsSimpleTab()).setMenuBar(menuBar);
         ScilabConsole.getConsole().addMenuBar(menuBar);
 
         ToolBar toolBar = ToolBarBuilder.buildToolBar(MAINTOOLBARXMLFILE);
@@ -148,8 +148,8 @@ public class ConsoleTab {
 
         toolBar.setVisible(true); // Enabled in scilab.start
 
-        ((SwingScilabDockable) consoleTab.getAsSimpleTab()).setToolBar(toolBar);
-        ((SwingScilabDockable) consoleTab.getAsSimpleTab()).setInfoBar(infoBar);
+        ((SwingScilabDockablePanel) consoleTab.getAsSimpleTab()).setToolBar(toolBar);
+        ((SwingScilabDockablePanel) consoleTab.getAsSimpleTab()).setInfoBar(infoBar);
 
         ScilabConsole.getConsole().addMenuBar(consoleTab.getMenuBar());
         ScilabConsole.getConsole().addToolBar(toolBar);
index 4e82991..23cfe45 100644 (file)
@@ -13,7 +13,7 @@
 package org.scilab.modules.core;
 
 import org.scilab.modules.gui.SwingView;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.tabfactory.AbstractScilabTabFactory;
 
 /**
@@ -35,9 +35,9 @@ public class ConsoleTabFactory extends AbstractScilabTabFactory {
      */
     public ConsoleTabFactory() { }
 
-    public SwingScilabDockable getTab(String uuid) {
+    public SwingScilabDockablePanel getTab(String uuid) {
         if (isAValidUUID(uuid)) {
-            return (SwingScilabDockable) ConsoleTab.getConsoleTab(uuid).getAsSimpleTab();
+            return (SwingScilabDockablePanel) ConsoleTab.getConsoleTab(uuid).getAsSimpleTab();
         }
         return null;
     }
index 2792c8e..232a7a6 100644 (file)
@@ -35,7 +35,7 @@ import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.Type;
 import org.scilab.modules.graphic_objects.utils.MenuBarBuilder;
 import org.scilab.modules.gui.SwingView;
 import org.scilab.modules.gui.bridge.console.SwingScilabConsole;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
 import org.scilab.modules.gui.console.ScilabConsole;
 import org.scilab.modules.gui.tabfactory.ScilabTabFactory;
@@ -187,7 +187,7 @@ public class Scilab {
             MenuBarBuilder.buildConsoleMenuBar(consoleId);
 
             SwingScilabConsole sciConsole = ((SwingScilabConsole) ScilabConsole.getConsole().getAsSimpleConsole());
-            SwingScilabDockable consoleTab = (SwingScilabDockable) sciConsole.getParent();
+            SwingScilabDockablePanel consoleTab = (SwingScilabDockablePanel) sciConsole.getParent();
 
             WindowsConfigurationManager.restorationFinished(consoleTab);
 
index 14450e9..f967fb6 100755 (executable)
 #define __GO_FEC__ 7
 #define __GO_FIGURE__ 8
 #define __GO_FIGUREMODEL__ 9
-#define __GO_GRAYPLOT__ 10
-#define __GO_LABEL__ 11
-#define __GO_LEGEND__ 12
-#define __GO_MATPLOT__ 13
-#define __GO_PLOT3D__ 14
-#define __GO_POLYLINE__ 15
-#define __GO_RECTANGLE__ 16
-#define __GO_SEGS__ 17
-#define __GO_TEXT__ 18
-#define __GO_UICONTROL__ 19
-#define __GO_UIMENU__ 20
-#define __GO_UICONTEXTMENU__ 21
-#define __GO_CHILDREN__ 22
-#define __GO_CHILDREN_COUNT__ 23
-#define __GO_PARENT__ 24
-#define __GO_USER_DATA__ 25
-#define __GO_USER_DATA_SIZE__ 26
-#define __GO_VISIBLE__ 27
-#define __GO_HIDDEN__ 28
-#define __GO_TYPE__ 29
-#define __GO_DATA_MODEL__ 30
-#define __GO_PARENT_FIGURE__ 31
-#define __GO_PARENT_AXES__ 32
-#define __GO_HAS_LEGEND_CHILD__ 33
-#define __GO_LEGEND_CHILD__ 34
-#define __GO_SELECTED_CHILD__ 35
-#define __GO_CALLBACK__ 36
-#define __GO_CALLBACKTYPE__ 37
-#define __GO_DATA_MODEL_COORDINATES__ 38
-#define __GO_DATA_MODEL_X__ 39
-#define __GO_DATA_MODEL_Y__ 40
-#define __GO_DATA_MODEL_Z__ 41
-#define __GO_DATA_MODEL_X_COORDINATES_SHIFT__ 42
-#define __GO_DATA_MODEL_Y_COORDINATES_SHIFT__ 43
-#define __GO_DATA_MODEL_Z_COORDINATES_SHIFT__ 44
-#define __GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__ 45
-#define __GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__ 46
-#define __GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__ 47
-#define __GO_DATA_MODEL_NUM_ELEMENTS__ 48
-#define __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__ 49
-#define __GO_DATA_MODEL_NUM_VERTICES_PER_GON__ 50
-#define __GO_DATA_MODEL_NUM_GONS__ 51
-#define __GO_DATA_MODEL_Z_COORDINATES_SET__ 52
-#define __GO_DATA_MODEL_COLORS__ 53
-#define __GO_DATA_MODEL_NUM_COLORS__ 54
-#define __GO_DATA_MODEL_NUM_VERTICES__ 55
-#define __GO_DATA_MODEL_NUM_INDICES__ 56
-#define __GO_DATA_MODEL_INDICES__ 57
-#define __GO_DATA_MODEL_VALUES__ 58
-#define __GO_DATA_MODEL_FEC_TRIANGLES__ 59
-#define __GO_DATA_MODEL_NUM_X__ 60
-#define __GO_DATA_MODEL_NUM_Y__ 61
-#define __GO_DATA_MODEL_NUM_Z__ 62
-#define __GO_DATA_MODEL_GRID_SIZE__ 63
-#define __GO_DATA_MODEL_X_DIMENSIONS__ 64
-#define __GO_DATA_MODEL_Y_DIMENSIONS__ 65
-#define __GO_MATPLOT_TRANSLATE__ 66
-#define __GO_MATPLOT_SCALE__ 67
-#define __GO_DATA_MODEL_MATPLOT_BOUNDS__ 68
-#define __GO_DATA_MODEL_MATPLOT_TYPE__ 69
-#define __GO_DATA_MODEL_MATPLOT_GL_TYPE__ 70
-#define __GO_DATA_MODEL_MATPLOT_DATA_INFOS__ 71
-#define __GO_DATA_MODEL_MATPLOT_DATA_TYPE__ 72
-#define __GO_DATA_MODEL_MATPLOT_DATA_ORDER__ 73
-#define __GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__ 74
-#define __GO_DATA_MODEL_MATPLOT_IMAGE_DATA__ 75
-#define __GO_DATA_MODEL_MATPLOT_IMAGE_DATASIZE__ 76
-#define __GO_REFERENCED__ 77
-#define __GO_VALID__ 78
-#define __GO_POSITION__ 79
-#define __GO_SIZE__ 80
-#define __GO_CANVAS__ 81
-#define __GO_AUTORESIZE__ 82
-#define __GO_VIEWPORT__ 83
-#define __GO_AXES_SIZE__ 84
-#define __GO_FIGURE_NAME__ 85
-#define __GO_NAME__ 86
-#define __GO_ID__ 87
-#define __GO_INFO_MESSAGE__ 88
-#define __GO_COLORMAP__ 89
-#define __GO_COLORMAP_SIZE__ 90
-#define __GO_RENDERING_MODE__ 91
-#define __GO_PIXMAP__ 92
-#define __GO_PIXEL_DRAWING_MODE__ 93
-#define __GO_ANTIALIASING__ 94
-#define __GO_IMMEDIATE_DRAWING__ 95
-#define __GO_BACKGROUND__ 96
-#define __GO_EVENTHANDLER__ 97
-#define __GO_EVENTHANDLER_NAME__ 98
-#define __GO_EVENTHANDLER_ENABLE__ 99
-#define __GO_TAG__ 100
-#define __GO_ROTATION_TYPE__ 101
-#define __GO_RESIZEFCN__ 102
-#define __GO_CLOSEREQUESTFCN__ 103
-#define __GO_UPPER_LEFT_POINT__ 104
-#define __GO_WIDTH__ 105
-#define __GO_HEIGHT__ 106
-#define __GO_START_ANGLE__ 107
-#define __GO_END_ANGLE__ 108
-#define __GO_ARC_DRAWING_METHOD__ 109
-#define __GO_X_AXIS_VISIBLE__ 110
-#define __GO_X_AXIS_REVERSE__ 111
-#define __GO_X_AXIS_GRID_COLOR__ 112
-#define __GO_X_AXIS_GRID_THICKNESS__ 113
-#define __GO_X_AXIS_GRID_STYLE__ 114
-#define __GO_X_AXIS_LABEL__ 115
-#define __GO_X_AXIS_LOCATION__ 116
-#define __GO_X_AXIS_LOG_FLAG__ 117
-#define __GO_X_AXIS_TICKS__ 118
-#define __GO_X_AXIS_AUTO_TICKS__ 119
-#define __GO_X_AXIS_NUMBER_TICKS__ 120
-#define __GO_X_AXIS_TICKS_LOCATIONS__ 121
-#define __GO_X_AXIS_TICKS_LABELS__ 122
-#define __GO_X_AXIS_SUBTICKS__ 123
-#define __GO_Y_AXIS_VISIBLE__ 124
-#define __GO_Y_AXIS_REVERSE__ 125
-#define __GO_Y_AXIS_GRID_COLOR__ 126
-#define __GO_Y_AXIS_GRID_THICKNESS__ 127
-#define __GO_Y_AXIS_GRID_STYLE__ 128
-#define __GO_Y_AXIS_LABEL__ 129
-#define __GO_Y_AXIS_LOCATION__ 130
-#define __GO_Y_AXIS_LOG_FLAG__ 131
-#define __GO_Y_AXIS_TICKS__ 132
-#define __GO_Y_AXIS_AUTO_TICKS__ 133
-#define __GO_Y_AXIS_NUMBER_TICKS__ 134
-#define __GO_Y_AXIS_TICKS_LOCATIONS__ 135
-#define __GO_Y_AXIS_TICKS_LABELS__ 136
-#define __GO_Y_AXIS_SUBTICKS__ 137
-#define __GO_Z_AXIS_VISIBLE__ 138
-#define __GO_Z_AXIS_REVERSE__ 139
-#define __GO_Z_AXIS_GRID_COLOR__ 140
-#define __GO_Z_AXIS_GRID_THICKNESS__ 141
-#define __GO_Z_AXIS_GRID_STYLE__ 142
-#define __GO_Z_AXIS_LABEL__ 143
-#define __GO_Z_AXIS_LOCATION__ 144
-#define __GO_Z_AXIS_LOG_FLAG__ 145
-#define __GO_Z_AXIS_TICKS__ 146
-#define __GO_Z_AXIS_AUTO_TICKS__ 147
-#define __GO_Z_AXIS_NUMBER_TICKS__ 148
-#define __GO_Z_AXIS_TICKS_LOCATIONS__ 149
-#define __GO_Z_AXIS_TICKS_LABELS__ 150
-#define __GO_Z_AXIS_SUBTICKS__ 151
-#define __GO_AUTO_SUBTICKS__ 152
-#define __GO_GRID_POSITION__ 153
-#define __GO_TITLE__ 154
-#define __GO_AUTO_CLEAR__ 155
-#define __GO_FILLED__ 156
-#define __GO_CAMERA__ 157
-#define __GO_VIEW__ 158
-#define __GO_ISOVIEW__ 159
-#define __GO_CUBE_SCALING__ 160
-#define __GO_ROTATION_ANGLES__ 161
-#define __GO_ROTATION_ANGLES_3D__ 162
-#define __GO_BOX_TYPE__ 163
-#define __GO_HIDDEN_AXIS_COLOR__ 164
-#define __GO_TIGHT_LIMITS__ 165
-#define __GO_DATA_BOUNDS__ 166
-#define __GO_REAL_DATA_BOUNDS__ 167
-#define __GO_ZOOM_ENABLED__ 168
-#define __GO_ZOOM_BOX__ 169
-#define __GO_AUTO_SCALE__ 170
-#define __GO_FIRST_PLOT__ 171
-#define __GO_MARGINS__ 172
-#define __GO_AXES_BOUNDS__ 173
-#define __GO_CLIP_PROPERTY__ 174
-#define __GO_CLIP_STATE__ 175
-#define __GO_CLIP_BOX__ 176
-#define __GO_CLIP_BOX_SET__ 177
-#define __GO_LINE__ 178
-#define __GO_LINE_MODE__ 179
-#define __GO_LINE_STYLE__ 180
-#define __GO_LINE_THICKNESS__ 181
-#define __GO_LINE_COLOR__ 182
-#define __GO_FILL_MODE__ 183
-#define __GO_MARK__ 184
-#define __GO_MARK_MODE__ 185
-#define __GO_MARK_STYLE__ 186
-#define __GO_MARK_SIZE_UNIT__ 187
-#define __GO_MARK_SIZE__ 188
-#define __GO_MARK_FOREGROUND__ 189
-#define __GO_MARK_BACKGROUND__ 190
-#define __GO_MARK_OFFSET__ 191
-#define __GO_MARK_STRIDE__ 192
-#define __GO_TICKS_DIRECTION__ 193
-#define __GO_X_NUMBER_TICKS__ 194
-#define __GO_Y_NUMBER_TICKS__ 195
-#define __GO_X_TICKS_COORDS__ 196
-#define __GO_Y_TICKS_COORDS__ 197
-#define __GO_TICKS_COLOR__ 198
-#define __GO_TICKS_SEGMENT__ 199
-#define __GO_TICKS_STYLE__ 200
-#define __GO_SUBTICKS__ 201
-#define __GO_NUMBER_TICKS_LABELS__ 202
-#define __GO_TICKS_LABELS__ 203
-#define __GO_FORMATN__ 204
-#define __GO_FONT__ 205
-#define __GO_FONT_STYLE__ 206
-#define __GO_FONT_SIZE__ 207
-#define __GO_FONT_COLOR__ 208
-#define __GO_FONT_FRACTIONAL__ 209
-#define __GO_Z_BOUNDS__ 210
-#define __GO_OUTSIDE_COLOR__ 211
-#define __GO_COLOR_RANGE__ 212
-#define __GO_DATA_MAPPING__ 213
-#define __GO_FONT_ANGLE__ 214
-#define __GO_AUTO_POSITION__ 215
-#define __GO_CORNERS__ 216
-#define __GO_AUTO_ROTATION__ 217
-#define __GO_LINKS__ 218
-#define __GO_LINKS_COUNT__ 219
-#define __GO_LEGEND_LOCATION__ 220
-#define __GO_CLOSED__ 221
-#define __GO_ARROW_SIZE_FACTOR__ 222
-#define __GO_POLYLINE_STYLE__ 223
-#define __GO_INTERP_COLOR_VECTOR__ 224
-#define __GO_INTERP_COLOR_VECTOR_SET__ 225
-#define __GO_INTERP_COLOR_MODE__ 226
-#define __GO_X_SHIFT__ 227
-#define __GO_Y_SHIFT__ 228
-#define __GO_Z_SHIFT__ 229
-#define __GO_BAR_WIDTH__ 230
-#define __GO_SURFACE_MODE__ 231
-#define __GO_COLOR_MODE__ 232
-#define __GO_COLOR_FLAG__ 233
-#define __GO_ALIGNMENT__ 234
-#define __GO_BOX__ 235
-#define __GO_TEXT_BOX__ 236
-#define __GO_TEXT_BOX_MODE__ 237
-#define __GO_AUTO_DIMENSIONING__ 238
-#define __GO_FORMATTED_TEXT__ 239
-#define __GO_TEXT_ARRAY_DIMENSIONS__ 240
-#define __GO_TEXT_STRINGS__ 241
-#define __GO_BASE__ 242
-#define __GO_BASE_X__ 243
-#define __GO_BASE_Y__ 244
-#define __GO_BASE_Z__ 245
-#define __GO_DIRECTION__ 246
-#define __GO_DIRECTION_X__ 247
-#define __GO_DIRECTION_Y__ 248
-#define __GO_DIRECTION_Z__ 249
-#define __GO_ARROW_SIZE__ 250
-#define __GO_SEGS_COLORS__ 251
-#define __GO_COLORED__ 252
-#define __GO_ARROWS__ 253
-#define __GO_NUMBER_ARROWS__ 254
-#define __GO_CHAMP_DIMENSIONS__ 255
-#define __GO_BOUNDING_BOX__ 256
-#define __GO_MAX_LENGTH__ 257
-#define __GO_MAX_USABLE_LENGTH__ 258
-#define __GO_HIDDEN_COLOR__ 259
-#define __GO_STYLE__ 260
-#define __GO_UI_CHECKBOX__ 261
-#define __GO_UI_EDIT__ 262
-#define __GO_UI_FRAME__ 263
-#define __GO_UI_IMAGE__ 264
-#define __GO_UI_LISTBOX__ 265
-#define __GO_UI_POPUPMENU__ 266
-#define __GO_UI_PUSHBUTTON__ 267
-#define __GO_UI_RADIOBUTTON__ 268
-#define __GO_UI_SLIDER__ 269
-#define __GO_UI_TABLE__ 270
-#define __GO_UI_TEXT__ 271
-#define __GO_UI_LAYER__ 272
-#define __GO_UI_BACKGROUNDCOLOR__ 273
-#define __GO_UI_ENABLE__ 274
-#define __GO_UI_FONTANGLE__ 275
-#define __GO_UI_FONTNAME__ 276
-#define __GO_UI_FONTSIZE__ 277
-#define __GO_UI_FONTUNITS__ 278
-#define __GO_UI_FONTWEIGHT__ 279
-#define __GO_UI_FOREGROUNDCOLOR__ 280
-#define __GO_UI_HORIZONTALALIGNMENT__ 281
-#define __GO_UI_LISTBOXTOP__ 282
-#define __GO_UI_LISTBOXTOP_SIZE__ 283
-#define __GO_UI_MAX__ 284
-#define __GO_UI_MIN__ 285
-#define __GO_UI_RELIEF__ 286
-#define __GO_UI_STRING__ 287
-#define __GO_UI_STRING_SIZE__ 288
-#define __GO_UI_STRING_COLNB__ 289
-#define __GO_UI_TOOLTIPSTRING__ 290
-#define __GO_UI_TOOLTIPSTRING_SIZE__ 291
-#define __GO_UI_SLIDERSTEP__ 292
-#define __GO_UI_UNITS__ 293
-#define __GO_UI_VALUE__ 294
-#define __GO_UI_VALUE_SIZE__ 295
-#define __GO_UI_VERTICALALIGNMENT__ 296
-#define __GO_UIPARENTMENU__ 297
-#define __GO_UICHILDMENU__ 298
-#define __GO_UICHECKEDMENU__ 299
-#define __GO_UI_CHECKED__ 300
-#define __GO_UI_LABEL__ 301
-#define __GO_UI_MNEMONIC__ 302
-#define __GO_UI_ACCELERATOR__ 303
-#define __GO_UI_SEPARATOR__ 304
-#define __GO_UI_ICON__ 305
-#define __GO_CONSOLE__ 306
-#define __GO_SHOWHIDDENHANDLES__ 307
-#define __GO_WAITBAR__ 308
-#define __GO_PROGRESSIONBAR__ 309
-#define __GO_UI_MESSAGE__ 310
-#define __GO_UI_MESSAGE_SIZE__ 311
-#define __GO_DATATIP__ 312
-#define __GO_DATATIP_DATA__ 313
-#define __GO_DATATIP_ORIENTATION__ 314
-#define __GO_DATATIP_3COMPONENT__ 315
-#define __GO_DATATIP_AUTOORIENTATION__ 316
-#define __GO_DATATIP_INTERP_MODE__ 317
-#define __GO_DATATIP_DISPLAY_FNC__ 318
-#define __GO_DATATIP_BOX_MODE__ 319
-#define __GO_DATATIP_LABEL_MODE__ 320
-#define __GO_AMBIENTCOLOR__ 321
-#define __GO_DIFFUSECOLOR__ 322
-#define __GO_SPECULARCOLOR__ 323
-#define __GO_COLOR_MATERIAL__ 324
-#define __GO_MATERIAL_SHININESS__ 325
-#define __GO_LIGHT__ 326
-#define __GO_LIGHT_TYPE__ 327
-#define __GO_DATATIPS__ 328
-#define __GO_DATATIPS_COUNT__ 329
-#define __GO_DATATIP_INDEXES__ 330
-#define __GO_DATA_MODEL_DISPLAY_FUNCTION__ 331
-#define __GO_DATA_MODEL_DISPLAY_FUNCTION_SIZE__ 332
-#define __GO_RESIZE__ 333
-#define __GO_TOOLBAR__ 334
-#define __GO_TOOLBAR_VISIBLE__ 335
-#define __GO_MENUBAR__ 336
-#define __GO_MENUBAR_VISIBLE__ 337
-#define __GO_INFOBAR_VISIBLE__ 338
-#define __GO_DOCKABLE__ 339
-#define __GO_LAYOUT__ 340
-#define __GO_LAYOUT_SET__ 341
-#define __GO_UI_TAB__ 342
-#define __GO_UI_GRIDBAG_GRID__ 343
-#define __GO_UI_GRIDBAG_WEIGHT__ 344
-#define __GO_UI_GRIDBAG_FILL__ 345
-#define __GO_UI_GRIDBAG_ANCHOR__ 346
-#define __GO_UI_GRIDBAG_PADDING__ 347
-#define __GO_UI_GRID_GRID__ 348
-#define __GO_UI_GRID_PADDING__ 349
-#define __GO_UI_BORDER_POSITION__ 350
-#define __GO_GRID_OPT_GRID__ 351
-#define __GO_GRID_OPT_PADDING__ 352
-#define __GO_BORDER_OPT_PADDING__ 353
-#define __GO_UI_FRAME_BORDER__ 354
-#define __GO_UI_FRAME_BORDER_COLOR__ 355
-#define __GO_UI_FRAME_BORDER_HIGHLIGHT_IN__ 356
-#define __GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__ 357
-#define __GO_UI_FRAME_BORDER_IN_BORDER__ 358
-#define __GO_UI_FRAME_BORDER_JUSTIFICATION__ 359
-#define __GO_UI_FRAME_BORDER_OUT_BORDER__ 360
-#define __GO_UI_FRAME_BORDER_ROUNDED__ 361
-#define __GO_UI_FRAME_BORDER_SHADOW_IN__ 362
-#define __GO_UI_FRAME_BORDER_SHADOW_OUT__ 363
-#define __GO_UI_FRAME_BORDER_TITLE__ 364
-#define __GO_UI_FRAME_BORDER_POSITION__ 365
-#define __GO_UI_FRAME_BORDER_STYLE__ 366
-#define __GO_UI_GROUP_NAME__ 367
+#define __GO_WINDOW__ 10
+#define __GO_GRAYPLOT__ 11
+#define __GO_LABEL__ 12
+#define __GO_LEGEND__ 13
+#define __GO_MATPLOT__ 14
+#define __GO_PLOT3D__ 15
+#define __GO_POLYLINE__ 16
+#define __GO_RECTANGLE__ 17
+#define __GO_SEGS__ 18
+#define __GO_TEXT__ 19
+#define __GO_UICONTROL__ 20
+#define __GO_UIMENU__ 21
+#define __GO_UICONTEXTMENU__ 22
+#define __GO_CHILDREN__ 23
+#define __GO_CHILDREN_COUNT__ 24
+#define __GO_PARENT__ 25
+#define __GO_USER_DATA__ 26
+#define __GO_USER_DATA_SIZE__ 27
+#define __GO_VISIBLE__ 28
+#define __GO_HIDDEN__ 29
+#define __GO_TYPE__ 30
+#define __GO_DATA_MODEL__ 31
+#define __GO_PARENT_FIGURE__ 32
+#define __GO_PARENT_AXES__ 33
+#define __GO_HAS_LEGEND_CHILD__ 34
+#define __GO_LEGEND_CHILD__ 35
+#define __GO_SELECTED_CHILD__ 36
+#define __GO_CALLBACK__ 37
+#define __GO_CALLBACKTYPE__ 38
+#define __GO_DATA_MODEL_COORDINATES__ 39
+#define __GO_DATA_MODEL_X__ 40
+#define __GO_DATA_MODEL_Y__ 41
+#define __GO_DATA_MODEL_Z__ 42
+#define __GO_DATA_MODEL_X_COORDINATES_SHIFT__ 43
+#define __GO_DATA_MODEL_Y_COORDINATES_SHIFT__ 44
+#define __GO_DATA_MODEL_Z_COORDINATES_SHIFT__ 45
+#define __GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__ 46
+#define __GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__ 47
+#define __GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__ 48
+#define __GO_DATA_MODEL_NUM_ELEMENTS__ 49
+#define __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__ 50
+#define __GO_DATA_MODEL_NUM_VERTICES_PER_GON__ 51
+#define __GO_DATA_MODEL_NUM_GONS__ 52
+#define __GO_DATA_MODEL_Z_COORDINATES_SET__ 53
+#define __GO_DATA_MODEL_COLORS__ 54
+#define __GO_DATA_MODEL_NUM_COLORS__ 55
+#define __GO_DATA_MODEL_NUM_VERTICES__ 56
+#define __GO_DATA_MODEL_NUM_INDICES__ 57
+#define __GO_DATA_MODEL_INDICES__ 58
+#define __GO_DATA_MODEL_VALUES__ 59
+#define __GO_DATA_MODEL_FEC_TRIANGLES__ 60
+#define __GO_DATA_MODEL_NUM_X__ 61
+#define __GO_DATA_MODEL_NUM_Y__ 62
+#define __GO_DATA_MODEL_NUM_Z__ 63
+#define __GO_DATA_MODEL_GRID_SIZE__ 64
+#define __GO_DATA_MODEL_X_DIMENSIONS__ 65
+#define __GO_DATA_MODEL_Y_DIMENSIONS__ 66
+#define __GO_MATPLOT_TRANSLATE__ 67
+#define __GO_MATPLOT_SCALE__ 68
+#define __GO_DATA_MODEL_MATPLOT_BOUNDS__ 69
+#define __GO_DATA_MODEL_MATPLOT_TYPE__ 70
+#define __GO_DATA_MODEL_MATPLOT_GL_TYPE__ 71
+#define __GO_DATA_MODEL_MATPLOT_DATA_INFOS__ 72
+#define __GO_DATA_MODEL_MATPLOT_DATA_TYPE__ 73
+#define __GO_DATA_MODEL_MATPLOT_DATA_ORDER__ 74
+#define __GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__ 75
+#define __GO_DATA_MODEL_MATPLOT_IMAGE_DATA__ 76
+#define __GO_DATA_MODEL_MATPLOT_IMAGE_DATASIZE__ 77
+#define __GO_REFERENCED__ 78
+#define __GO_VALID__ 79
+#define __GO_POSITION__ 80
+#define __GO_SIZE__ 81
+#define __GO_CANVAS__ 82
+#define __GO_AUTORESIZE__ 83
+#define __GO_VIEWPORT__ 84
+#define __GO_AXES_SIZE__ 85
+#define __GO_FIGURE_NAME__ 86
+#define __GO_NAME__ 87
+#define __GO_ID__ 88
+#define __GO_INFO_MESSAGE__ 89
+#define __GO_COLORMAP__ 90
+#define __GO_COLORMAP_SIZE__ 91
+#define __GO_RENDERING_MODE__ 92
+#define __GO_PIXMAP__ 93
+#define __GO_PIXEL_DRAWING_MODE__ 94
+#define __GO_ANTIALIASING__ 95
+#define __GO_IMMEDIATE_DRAWING__ 96
+#define __GO_BACKGROUND__ 97
+#define __GO_EVENTHANDLER__ 98
+#define __GO_EVENTHANDLER_NAME__ 99
+#define __GO_EVENTHANDLER_ENABLE__ 100
+#define __GO_TAG__ 101
+#define __GO_ROTATION_TYPE__ 102
+#define __GO_RESIZEFCN__ 103
+#define __GO_CLOSEREQUESTFCN__ 104
+#define __GO_UPPER_LEFT_POINT__ 105
+#define __GO_WIDTH__ 106
+#define __GO_HEIGHT__ 107
+#define __GO_START_ANGLE__ 108
+#define __GO_END_ANGLE__ 109
+#define __GO_ARC_DRAWING_METHOD__ 110
+#define __GO_X_AXIS_VISIBLE__ 111
+#define __GO_X_AXIS_REVERSE__ 112
+#define __GO_X_AXIS_GRID_COLOR__ 113
+#define __GO_X_AXIS_GRID_THICKNESS__ 114
+#define __GO_X_AXIS_GRID_STYLE__ 115
+#define __GO_X_AXIS_LABEL__ 116
+#define __GO_X_AXIS_LOCATION__ 117
+#define __GO_X_AXIS_LOG_FLAG__ 118
+#define __GO_X_AXIS_TICKS__ 119
+#define __GO_X_AXIS_AUTO_TICKS__ 120
+#define __GO_X_AXIS_NUMBER_TICKS__ 121
+#define __GO_X_AXIS_TICKS_LOCATIONS__ 122
+#define __GO_X_AXIS_TICKS_LABELS__ 123
+#define __GO_X_AXIS_SUBTICKS__ 124
+#define __GO_Y_AXIS_VISIBLE__ 125
+#define __GO_Y_AXIS_REVERSE__ 126
+#define __GO_Y_AXIS_GRID_COLOR__ 127
+#define __GO_Y_AXIS_GRID_THICKNESS__ 128
+#define __GO_Y_AXIS_GRID_STYLE__ 129
+#define __GO_Y_AXIS_LABEL__ 130
+#define __GO_Y_AXIS_LOCATION__ 131
+#define __GO_Y_AXIS_LOG_FLAG__ 132
+#define __GO_Y_AXIS_TICKS__ 133
+#define __GO_Y_AXIS_AUTO_TICKS__ 134
+#define __GO_Y_AXIS_NUMBER_TICKS__ 135
+#define __GO_Y_AXIS_TICKS_LOCATIONS__ 136
+#define __GO_Y_AXIS_TICKS_LABELS__ 137
+#define __GO_Y_AXIS_SUBTICKS__ 138
+#define __GO_Z_AXIS_VISIBLE__ 139
+#define __GO_Z_AXIS_REVERSE__ 140
+#define __GO_Z_AXIS_GRID_COLOR__ 141
+#define __GO_Z_AXIS_GRID_THICKNESS__ 142
+#define __GO_Z_AXIS_GRID_STYLE__ 143
+#define __GO_Z_AXIS_LABEL__ 144
+#define __GO_Z_AXIS_LOCATION__ 145
+#define __GO_Z_AXIS_LOG_FLAG__ 146
+#define __GO_Z_AXIS_TICKS__ 147
+#define __GO_Z_AXIS_AUTO_TICKS__ 148
+#define __GO_Z_AXIS_NUMBER_TICKS__ 149
+#define __GO_Z_AXIS_TICKS_LOCATIONS__ 150
+#define __GO_Z_AXIS_TICKS_LABELS__ 151
+#define __GO_Z_AXIS_SUBTICKS__ 152
+#define __GO_AUTO_SUBTICKS__ 153
+#define __GO_GRID_POSITION__ 154
+#define __GO_TITLE__ 155
+#define __GO_AUTO_CLEAR__ 156
+#define __GO_FILLED__ 157
+#define __GO_CAMERA__ 158
+#define __GO_VIEW__ 159
+#define __GO_ISOVIEW__ 160
+#define __GO_CUBE_SCALING__ 161
+#define __GO_ROTATION_ANGLES__ 162
+#define __GO_ROTATION_ANGLES_3D__ 163
+#define __GO_BOX_TYPE__ 164
+#define __GO_HIDDEN_AXIS_COLOR__ 165
+#define __GO_TIGHT_LIMITS__ 166
+#define __GO_DATA_BOUNDS__ 167
+#define __GO_REAL_DATA_BOUNDS__ 168
+#define __GO_ZOOM_ENABLED__ 169
+#define __GO_ZOOM_BOX__ 170
+#define __GO_AUTO_SCALE__ 171
+#define __GO_FIRST_PLOT__ 172
+#define __GO_MARGINS__ 173
+#define __GO_AXES_BOUNDS__ 174
+#define __GO_CLIP_PROPERTY__ 175
+#define __GO_CLIP_STATE__ 176
+#define __GO_CLIP_BOX__ 177
+#define __GO_CLIP_BOX_SET__ 178
+#define __GO_LINE__ 179
+#define __GO_LINE_MODE__ 180
+#define __GO_LINE_STYLE__ 181
+#define __GO_LINE_THICKNESS__ 182
+#define __GO_LINE_COLOR__ 183
+#define __GO_FILL_MODE__ 184
+#define __GO_MARK__ 185
+#define __GO_MARK_MODE__ 186
+#define __GO_MARK_STYLE__ 187
+#define __GO_MARK_SIZE_UNIT__ 188
+#define __GO_MARK_SIZE__ 189
+#define __GO_MARK_FOREGROUND__ 190
+#define __GO_MARK_BACKGROUND__ 191
+#define __GO_MARK_OFFSET__ 192
+#define __GO_MARK_STRIDE__ 193
+#define __GO_TICKS_DIRECTION__ 194
+#define __GO_X_NUMBER_TICKS__ 195
+#define __GO_Y_NUMBER_TICKS__ 196
+#define __GO_X_TICKS_COORDS__ 197
+#define __GO_Y_TICKS_COORDS__ 198
+#define __GO_TICKS_COLOR__ 199
+#define __GO_TICKS_SEGMENT__ 200
+#define __GO_TICKS_STYLE__ 201
+#define __GO_SUBTICKS__ 202
+#define __GO_NUMBER_TICKS_LABELS__ 203
+#define __GO_TICKS_LABELS__ 204
+#define __GO_FORMATN__ 205
+#define __GO_FONT__ 206
+#define __GO_FONT_STYLE__ 207
+#define __GO_FONT_SIZE__ 208
+#define __GO_FONT_COLOR__ 209
+#define __GO_FONT_FRACTIONAL__ 210
+#define __GO_Z_BOUNDS__ 211
+#define __GO_OUTSIDE_COLOR__ 212
+#define __GO_COLOR_RANGE__ 213
+#define __GO_DATA_MAPPING__ 214
+#define __GO_FONT_ANGLE__ 215
+#define __GO_AUTO_POSITION__ 216
+#define __GO_CORNERS__ 217
+#define __GO_AUTO_ROTATION__ 218
+#define __GO_LINKS__ 219
+#define __GO_LINKS_COUNT__ 220
+#define __GO_LEGEND_LOCATION__ 221
+#define __GO_CLOSED__ 222
+#define __GO_ARROW_SIZE_FACTOR__ 223
+#define __GO_POLYLINE_STYLE__ 224
+#define __GO_INTERP_COLOR_VECTOR__ 225
+#define __GO_INTERP_COLOR_VECTOR_SET__ 226
+#define __GO_INTERP_COLOR_MODE__ 227
+#define __GO_X_SHIFT__ 228
+#define __GO_Y_SHIFT__ 229
+#define __GO_Z_SHIFT__ 230
+#define __GO_BAR_WIDTH__ 231
+#define __GO_SURFACE_MODE__ 232
+#define __GO_COLOR_MODE__ 233
+#define __GO_COLOR_FLAG__ 234
+#define __GO_ALIGNMENT__ 235
+#define __GO_BOX__ 236
+#define __GO_TEXT_BOX__ 237
+#define __GO_TEXT_BOX_MODE__ 238
+#define __GO_AUTO_DIMENSIONING__ 239
+#define __GO_FORMATTED_TEXT__ 240
+#define __GO_TEXT_ARRAY_DIMENSIONS__ 241
+#define __GO_TEXT_STRINGS__ 242
+#define __GO_BASE__ 243
+#define __GO_BASE_X__ 244
+#define __GO_BASE_Y__ 245
+#define __GO_BASE_Z__ 246
+#define __GO_DIRECTION__ 247
+#define __GO_DIRECTION_X__ 248
+#define __GO_DIRECTION_Y__ 249
+#define __GO_DIRECTION_Z__ 250
+#define __GO_ARROW_SIZE__ 251
+#define __GO_SEGS_COLORS__ 252
+#define __GO_COLORED__ 253
+#define __GO_ARROWS__ 254
+#define __GO_NUMBER_ARROWS__ 255
+#define __GO_CHAMP_DIMENSIONS__ 256
+#define __GO_BOUNDING_BOX__ 257
+#define __GO_MAX_LENGTH__ 258
+#define __GO_MAX_USABLE_LENGTH__ 259
+#define __GO_HIDDEN_COLOR__ 260
+#define __GO_STYLE__ 261
+#define __GO_UI_CHECKBOX__ 262
+#define __GO_UI_EDIT__ 263
+#define __GO_UI_FRAME__ 264
+#define __GO_UI_IMAGE__ 265
+#define __GO_UI_LISTBOX__ 266
+#define __GO_UI_POPUPMENU__ 267
+#define __GO_UI_PUSHBUTTON__ 268
+#define __GO_UI_RADIOBUTTON__ 269
+#define __GO_UI_SLIDER__ 270
+#define __GO_UI_TABLE__ 271
+#define __GO_UI_TEXT__ 272
+#define __GO_UI_LAYER__ 273
+#define __GO_UI_BACKGROUNDCOLOR__ 274
+#define __GO_UI_ENABLE__ 275
+#define __GO_UI_FONTANGLE__ 276
+#define __GO_UI_FONTNAME__ 277
+#define __GO_UI_FONTSIZE__ 278
+#define __GO_UI_FONTUNITS__ 279
+#define __GO_UI_FONTWEIGHT__ 280
+#define __GO_UI_FOREGROUNDCOLOR__ 281
+#define __GO_UI_HORIZONTALALIGNMENT__ 282
+#define __GO_UI_LISTBOXTOP__ 283
+#define __GO_UI_LISTBOXTOP_SIZE__ 284
+#define __GO_UI_MAX__ 285
+#define __GO_UI_MIN__ 286
+#define __GO_UI_RELIEF__ 287
+#define __GO_UI_STRING__ 288
+#define __GO_UI_STRING_SIZE__ 289
+#define __GO_UI_STRING_COLNB__ 290
+#define __GO_UI_TOOLTIPSTRING__ 291
+#define __GO_UI_TOOLTIPSTRING_SIZE__ 292
+#define __GO_UI_SLIDERSTEP__ 293
+#define __GO_UI_UNITS__ 294
+#define __GO_UI_VALUE__ 295
+#define __GO_UI_VALUE_SIZE__ 296
+#define __GO_UI_VERTICALALIGNMENT__ 297
+#define __GO_UIPARENTMENU__ 298
+#define __GO_UICHILDMENU__ 299
+#define __GO_UICHECKEDMENU__ 300
+#define __GO_UI_CHECKED__ 301
+#define __GO_UI_LABEL__ 302
+#define __GO_UI_MNEMONIC__ 303
+#define __GO_UI_ACCELERATOR__ 304
+#define __GO_UI_SEPARATOR__ 305
+#define __GO_UI_ICON__ 306
+#define __GO_CONSOLE__ 307
+#define __GO_SHOWHIDDENHANDLES__ 308
+#define __GO_WAITBAR__ 309
+#define __GO_PROGRESSIONBAR__ 310
+#define __GO_UI_MESSAGE__ 311
+#define __GO_UI_MESSAGE_SIZE__ 312
+#define __GO_DATATIP__ 313
+#define __GO_DATATIP_DATA__ 314
+#define __GO_DATATIP_ORIENTATION__ 315
+#define __GO_DATATIP_3COMPONENT__ 316
+#define __GO_DATATIP_AUTOORIENTATION__ 317
+#define __GO_DATATIP_INTERP_MODE__ 318
+#define __GO_DATATIP_DISPLAY_FNC__ 319
+#define __GO_DATATIP_BOX_MODE__ 320
+#define __GO_DATATIP_LABEL_MODE__ 321
+#define __GO_AMBIENTCOLOR__ 322
+#define __GO_DIFFUSECOLOR__ 323
+#define __GO_SPECULARCOLOR__ 324
+#define __GO_COLOR_MATERIAL__ 325
+#define __GO_MATERIAL_SHININESS__ 326
+#define __GO_LIGHT__ 327
+#define __GO_LIGHT_TYPE__ 328
+#define __GO_DATATIPS__ 329
+#define __GO_DATATIPS_COUNT__ 330
+#define __GO_DATATIP_INDEXES__ 331
+#define __GO_DATA_MODEL_DISPLAY_FUNCTION__ 332
+#define __GO_DATA_MODEL_DISPLAY_FUNCTION_SIZE__ 333
+#define __GO_RESIZE__ 334
+#define __GO_TOOLBAR__ 335
+#define __GO_TOOLBAR_VISIBLE__ 336
+#define __GO_MENUBAR__ 337
+#define __GO_MENUBAR_VISIBLE__ 338
+#define __GO_INFOBAR_VISIBLE__ 339
+#define __GO_DOCKABLE__ 340
+#define __GO_LAYOUT__ 341
+#define __GO_LAYOUT_SET__ 342
+#define __GO_UI_TAB__ 343
+#define __GO_UI_GRIDBAG_GRID__ 344
+#define __GO_UI_GRIDBAG_WEIGHT__ 345
+#define __GO_UI_GRIDBAG_FILL__ 346
+#define __GO_UI_GRIDBAG_ANCHOR__ 347
+#define __GO_UI_GRIDBAG_PADDING__ 348
+#define __GO_UI_GRID_GRID__ 349
+#define __GO_UI_GRID_PADDING__ 350
+#define __GO_UI_BORDER_POSITION__ 351
+#define __GO_GRID_OPT_GRID__ 352
+#define __GO_GRID_OPT_PADDING__ 353
+#define __GO_BORDER_OPT_PADDING__ 354
+#define __GO_UI_FRAME_BORDER__ 355
+#define __GO_UI_FRAME_BORDER_COLOR__ 356
+#define __GO_UI_FRAME_BORDER_HIGHLIGHT_IN__ 357
+#define __GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__ 358
+#define __GO_UI_FRAME_BORDER_IN_BORDER__ 359
+#define __GO_UI_FRAME_BORDER_JUSTIFICATION__ 360
+#define __GO_UI_FRAME_BORDER_OUT_BORDER__ 361
+#define __GO_UI_FRAME_BORDER_ROUNDED__ 362
+#define __GO_UI_FRAME_BORDER_SHADOW_IN__ 363
+#define __GO_UI_FRAME_BORDER_SHADOW_OUT__ 364
+#define __GO_UI_FRAME_BORDER_TITLE__ 365
+#define __GO_UI_FRAME_BORDER_POSITION__ 366
+#define __GO_UI_FRAME_BORDER_STYLE__ 367
+#define __GO_UI_GROUP_NAME__ 368
 
 #endif /* !__GRAPHIC_OBJECT_PROPERTIES_H__ */
index 041e978..789c768 100644 (file)
@@ -313,7 +313,7 @@ public final class Builder {
             }
         }
     }
-
+    
     public final static int createNewFigureWithAxes() {
         GraphicController controller = GraphicController.getController();
         Integer figModel  = GraphicModel.getFigureModel().getIdentifier();
index 3a743f3..08cc381 100644 (file)
@@ -160,8 +160,8 @@ public class Figure extends GraphicObject {
          * Default constructor
          */
         public FigureDimensions() {
-            position = new Integer[2];
-            size = new Integer[2];
+            position = new Integer[] {0,0};
+            size = new Integer[] {0,0};
         }
 
         /**
@@ -408,7 +408,7 @@ public class Figure extends GraphicObject {
         dimensions = new FigureDimensions();
         canvas = new Canvas();
         figureName = new FigureName();
-        infoMessage = null;
+        infoMessage = "";
         colorMap = new ColorMap();
 
         renderingMode = new RenderingMode();
index f01f3e6..e213577 100644 (file)
@@ -219,6 +219,11 @@ public final class GraphicModel {
             case FIGURE:
                 createdObject = new Figure();
                 break;
+            case WINDOW:
+                createdObject = new Figure();
+                System.err.println("[GraphicModel] setDockable FALSE !");
+                ((Figure) createdObject).setDockable(false);
+                break;
             case FIGUREMODEL:
                 createdObject = new Figure();
                 createdObject.setValid(false);
index bb7cea5..6751830 100644 (file)
@@ -42,7 +42,7 @@ public abstract class GraphicObject implements Cloneable {
     public static final int USER_DATA_DEFAULT_SIZE = 0;
 
     /** Graphic objects types */
-    public enum Type { ARC, AXES, AXESMODEL, AXIS, CHAMP, COMPOUND, FAC3D, FEC, FIGURE, FIGUREMODEL, GRAYPLOT,
+    public enum Type { ARC, AXES, AXESMODEL, AXIS, CHAMP, COMPOUND, FAC3D, FEC, FIGURE, WINDOW, FIGUREMODEL, GRAYPLOT,
                        LABEL, LEGEND, MATPLOT, PLOT3D, POLYLINE, RECTANGLE, SEGS, TEXT, CHECKBOX, EDIT, FRAME,
                        IMAGE, LISTBOX, POPUPMENU, PUSHBUTTON, RADIOBUTTON, CONSOLE, JAVACONSOLE, SLIDER, TABLE, UITEXT, UIMENU, UIMENUMODEL,
                        PROGRESSIONBAR, WAITBAR, UICONTEXTMENU, DATATIP, LIGHT, TABGROUP, TAB, LAYER, BORDER, UNKNOWNOBJECT
@@ -168,6 +168,8 @@ public abstract class GraphicObject implements Cloneable {
                 return Type.FEC;
             case __GO_FIGURE__ :
                 return Type.FIGURE;
+            case __GO_WINDOW__ :
+                return Type.WINDOW;
             case __GO_FIGUREMODEL__ :
                 return Type.FIGUREMODEL;
             case __GO_GRAYPLOT__ :
index df2a687..8dd8ee5 100755 (executable)
@@ -30,363 +30,364 @@ public class GraphicObjectProperties {
     public static final int __GO_FEC__ = 7;
     public static final int __GO_FIGURE__ = 8;
     public static final int __GO_FIGUREMODEL__ = 9;
-    public static final int __GO_GRAYPLOT__ = 10;
-    public static final int __GO_LABEL__ = 11;
-    public static final int __GO_LEGEND__ = 12;
-    public static final int __GO_MATPLOT__ = 13;
-    public static final int __GO_PLOT3D__ = 14;
-    public static final int __GO_POLYLINE__ = 15;
-    public static final int __GO_RECTANGLE__ = 16;
-    public static final int __GO_SEGS__ = 17;
-    public static final int __GO_TEXT__ = 18;
-    public static final int __GO_UICONTROL__ = 19;
-    public static final int __GO_UIMENU__ = 20;
-    public static final int __GO_UICONTEXTMENU__ = 21;
-    public static final int __GO_CHILDREN__ = 22;
-    public static final int __GO_CHILDREN_COUNT__ = 23;
-    public static final int __GO_PARENT__ = 24;
-    public static final int __GO_USER_DATA__ = 25;
-    public static final int __GO_USER_DATA_SIZE__ = 26;
-    public static final int __GO_VISIBLE__ = 27;
-    public static final int __GO_HIDDEN__ = 28;
-    public static final int __GO_TYPE__ = 29;
-    public static final int __GO_DATA_MODEL__ = 30;
-    public static final int __GO_PARENT_FIGURE__ = 31;
-    public static final int __GO_PARENT_AXES__ = 32;
-    public static final int __GO_HAS_LEGEND_CHILD__ = 33;
-    public static final int __GO_LEGEND_CHILD__ = 34;
-    public static final int __GO_SELECTED_CHILD__ = 35;
-    public static final int __GO_CALLBACK__ = 36;
-    public static final int __GO_CALLBACKTYPE__ = 37;
-    public static final int __GO_DATA_MODEL_COORDINATES__ = 38;
-    public static final int __GO_DATA_MODEL_X__ = 39;
-    public static final int __GO_DATA_MODEL_Y__ = 40;
-    public static final int __GO_DATA_MODEL_Z__ = 41;
-    public static final int __GO_DATA_MODEL_X_COORDINATES_SHIFT__ = 42;
-    public static final int __GO_DATA_MODEL_Y_COORDINATES_SHIFT__ = 43;
-    public static final int __GO_DATA_MODEL_Z_COORDINATES_SHIFT__ = 44;
-    public static final int __GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__ = 45;
-    public static final int __GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__ = 46;
-    public static final int __GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__ = 47;
-    public static final int __GO_DATA_MODEL_NUM_ELEMENTS__ = 48;
-    public static final int __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__ = 49;
-    public static final int __GO_DATA_MODEL_NUM_VERTICES_PER_GON__ = 50;
-    public static final int __GO_DATA_MODEL_NUM_GONS__ = 51;
-    public static final int __GO_DATA_MODEL_Z_COORDINATES_SET__ = 52;
-    public static final int __GO_DATA_MODEL_COLORS__ = 53;
-    public static final int __GO_DATA_MODEL_NUM_COLORS__ = 54;
-    public static final int __GO_DATA_MODEL_NUM_VERTICES__ = 55;
-    public static final int __GO_DATA_MODEL_NUM_INDICES__ = 56;
-    public static final int __GO_DATA_MODEL_INDICES__ = 57;
-    public static final int __GO_DATA_MODEL_VALUES__ = 58;
-    public static final int __GO_DATA_MODEL_FEC_TRIANGLES__ = 59;
-    public static final int __GO_DATA_MODEL_NUM_X__ = 60;
-    public static final int __GO_DATA_MODEL_NUM_Y__ = 61;
-    public static final int __GO_DATA_MODEL_NUM_Z__ = 62;
-    public static final int __GO_DATA_MODEL_GRID_SIZE__ = 63;
-    public static final int __GO_DATA_MODEL_X_DIMENSIONS__ = 64;
-    public static final int __GO_DATA_MODEL_Y_DIMENSIONS__ = 65;
-    public static final int __GO_MATPLOT_TRANSLATE__ = 66;
-    public static final int __GO_MATPLOT_SCALE__ = 67;
-    public static final int __GO_DATA_MODEL_MATPLOT_BOUNDS__ = 68;
-    public static final int __GO_DATA_MODEL_MATPLOT_TYPE__ = 69;
-    public static final int __GO_DATA_MODEL_MATPLOT_GL_TYPE__ = 70;
-    public static final int __GO_DATA_MODEL_MATPLOT_DATA_INFOS__ = 71;
-    public static final int __GO_DATA_MODEL_MATPLOT_DATA_TYPE__ = 72;
-    public static final int __GO_DATA_MODEL_MATPLOT_DATA_ORDER__ = 73;
-    public static final int __GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__ = 74;
-    public static final int __GO_DATA_MODEL_MATPLOT_IMAGE_DATA__ = 75;
-    public static final int __GO_DATA_MODEL_MATPLOT_IMAGE_DATASIZE__ = 76;
-    public static final int __GO_REFERENCED__ = 77;
-    public static final int __GO_VALID__ = 78;
-    public static final int __GO_POSITION__ = 79;
-    public static final int __GO_SIZE__ = 80;
-    public static final int __GO_CANVAS__ = 81;
-    public static final int __GO_AUTORESIZE__ = 82;
-    public static final int __GO_VIEWPORT__ = 83;
-    public static final int __GO_AXES_SIZE__ = 84;
-    public static final int __GO_FIGURE_NAME__ = 85;
-    public static final int __GO_NAME__ = 86;
-    public static final int __GO_ID__ = 87;
-    public static final int __GO_INFO_MESSAGE__ = 88;
-    public static final int __GO_COLORMAP__ = 89;
-    public static final int __GO_COLORMAP_SIZE__ = 90;
-    public static final int __GO_RENDERING_MODE__ = 91;
-    public static final int __GO_PIXMAP__ = 92;
-    public static final int __GO_PIXEL_DRAWING_MODE__ = 93;
-    public static final int __GO_ANTIALIASING__ = 94;
-    public static final int __GO_IMMEDIATE_DRAWING__ = 95;
-    public static final int __GO_BACKGROUND__ = 96;
-    public static final int __GO_EVENTHANDLER__ = 97;
-    public static final int __GO_EVENTHANDLER_NAME__ = 98;
-    public static final int __GO_EVENTHANDLER_ENABLE__ = 99;
-    public static final int __GO_TAG__ = 100;
-    public static final int __GO_ROTATION_TYPE__ = 101;
-    public static final int __GO_RESIZEFCN__ = 102;
-    public static final int __GO_CLOSEREQUESTFCN__ = 103;
-    public static final int __GO_UPPER_LEFT_POINT__ = 104;
-    public static final int __GO_WIDTH__ = 105;
-    public static final int __GO_HEIGHT__ = 106;
-    public static final int __GO_START_ANGLE__ = 107;
-    public static final int __GO_END_ANGLE__ = 108;
-    public static final int __GO_ARC_DRAWING_METHOD__ = 109;
-    public static final int __GO_X_AXIS_VISIBLE__ = 110;
-    public static final int __GO_X_AXIS_REVERSE__ = 111;
-    public static final int __GO_X_AXIS_GRID_COLOR__ = 112;
-    public static final int __GO_X_AXIS_GRID_THICKNESS__ = 113;
-    public static final int __GO_X_AXIS_GRID_STYLE__ = 114;
-    public static final int __GO_X_AXIS_LABEL__ = 115;
-    public static final int __GO_X_AXIS_LOCATION__ = 116;
-    public static final int __GO_X_AXIS_LOG_FLAG__ = 117;
-    public static final int __GO_X_AXIS_TICKS__ = 118;
-    public static final int __GO_X_AXIS_AUTO_TICKS__ = 119;
-    public static final int __GO_X_AXIS_NUMBER_TICKS__ = 120;
-    public static final int __GO_X_AXIS_TICKS_LOCATIONS__ = 121;
-    public static final int __GO_X_AXIS_TICKS_LABELS__ = 122;
-    public static final int __GO_X_AXIS_SUBTICKS__ = 123;
-    public static final int __GO_Y_AXIS_VISIBLE__ = 124;
-    public static final int __GO_Y_AXIS_REVERSE__ = 125;
-    public static final int __GO_Y_AXIS_GRID_COLOR__ = 126;
-    public static final int __GO_Y_AXIS_GRID_THICKNESS__ = 127;
-    public static final int __GO_Y_AXIS_GRID_STYLE__ = 128;
-    public static final int __GO_Y_AXIS_LABEL__ = 129;
-    public static final int __GO_Y_AXIS_LOCATION__ = 130;
-    public static final int __GO_Y_AXIS_LOG_FLAG__ = 131;
-    public static final int __GO_Y_AXIS_TICKS__ = 132;
-    public static final int __GO_Y_AXIS_AUTO_TICKS__ = 133;
-    public static final int __GO_Y_AXIS_NUMBER_TICKS__ = 134;
-    public static final int __GO_Y_AXIS_TICKS_LOCATIONS__ = 135;
-    public static final int __GO_Y_AXIS_TICKS_LABELS__ = 136;
-    public static final int __GO_Y_AXIS_SUBTICKS__ = 137;
-    public static final int __GO_Z_AXIS_VISIBLE__ = 138;
-    public static final int __GO_Z_AXIS_REVERSE__ = 139;
-    public static final int __GO_Z_AXIS_GRID_COLOR__ = 140;
-    public static final int __GO_Z_AXIS_GRID_THICKNESS__ = 141;
-    public static final int __GO_Z_AXIS_GRID_STYLE__ = 142;
-    public static final int __GO_Z_AXIS_LABEL__ = 143;
-    public static final int __GO_Z_AXIS_LOCATION__ = 144;
-    public static final int __GO_Z_AXIS_LOG_FLAG__ = 145;
-    public static final int __GO_Z_AXIS_TICKS__ = 146;
-    public static final int __GO_Z_AXIS_AUTO_TICKS__ = 147;
-    public static final int __GO_Z_AXIS_NUMBER_TICKS__ = 148;
-    public static final int __GO_Z_AXIS_TICKS_LOCATIONS__ = 149;
-    public static final int __GO_Z_AXIS_TICKS_LABELS__ = 150;
-    public static final int __GO_Z_AXIS_SUBTICKS__ = 151;
-    public static final int __GO_AUTO_SUBTICKS__ = 152;
-    public static final int __GO_GRID_POSITION__ = 153;
-    public static final int __GO_TITLE__ = 154;
-    public static final int __GO_AUTO_CLEAR__ = 155;
-    public static final int __GO_FILLED__ = 156;
-    public static final int __GO_CAMERA__ = 157;
-    public static final int __GO_VIEW__ = 158;
-    public static final int __GO_ISOVIEW__ = 159;
-    public static final int __GO_CUBE_SCALING__ = 160;
-    public static final int __GO_ROTATION_ANGLES__ = 161;
-    public static final int __GO_ROTATION_ANGLES_3D__ = 162;
-    public static final int __GO_BOX_TYPE__ = 163;
-    public static final int __GO_HIDDEN_AXIS_COLOR__ = 164;
-    public static final int __GO_TIGHT_LIMITS__ = 165;
-    public static final int __GO_DATA_BOUNDS__ = 166;
-    public static final int __GO_REAL_DATA_BOUNDS__ = 167;
-    public static final int __GO_ZOOM_ENABLED__ = 168;
-    public static final int __GO_ZOOM_BOX__ = 169;
-    public static final int __GO_AUTO_SCALE__ = 170;
-    public static final int __GO_FIRST_PLOT__ = 171;
-    public static final int __GO_MARGINS__ = 172;
-    public static final int __GO_AXES_BOUNDS__ = 173;
-    public static final int __GO_CLIP_PROPERTY__ = 174;
-    public static final int __GO_CLIP_STATE__ = 175;
-    public static final int __GO_CLIP_BOX__ = 176;
-    public static final int __GO_CLIP_BOX_SET__ = 177;
-    public static final int __GO_LINE__ = 178;
-    public static final int __GO_LINE_MODE__ = 179;
-    public static final int __GO_LINE_STYLE__ = 180;
-    public static final int __GO_LINE_THICKNESS__ = 181;
-    public static final int __GO_LINE_COLOR__ = 182;
-    public static final int __GO_FILL_MODE__ = 183;
-    public static final int __GO_MARK__ = 184;
-    public static final int __GO_MARK_MODE__ = 185;
-    public static final int __GO_MARK_STYLE__ = 186;
-    public static final int __GO_MARK_SIZE_UNIT__ = 187;
-    public static final int __GO_MARK_SIZE__ = 188;
-    public static final int __GO_MARK_FOREGROUND__ = 189;
-    public static final int __GO_MARK_BACKGROUND__ = 190;
-    public static final int __GO_MARK_OFFSET__ = 191;
-    public static final int __GO_MARK_STRIDE__ = 192;
-    public static final int __GO_TICKS_DIRECTION__ = 193;
-    public static final int __GO_X_NUMBER_TICKS__ = 194;
-    public static final int __GO_Y_NUMBER_TICKS__ = 195;
-    public static final int __GO_X_TICKS_COORDS__ = 196;
-    public static final int __GO_Y_TICKS_COORDS__ = 197;
-    public static final int __GO_TICKS_COLOR__ = 198;
-    public static final int __GO_TICKS_SEGMENT__ = 199;
-    public static final int __GO_TICKS_STYLE__ = 200;
-    public static final int __GO_SUBTICKS__ = 201;
-    public static final int __GO_NUMBER_TICKS_LABELS__ = 202;
-    public static final int __GO_TICKS_LABELS__ = 203;
-    public static final int __GO_FORMATN__ = 204;
-    public static final int __GO_FONT__ = 205;
-    public static final int __GO_FONT_STYLE__ = 206;
-    public static final int __GO_FONT_SIZE__ = 207;
-    public static final int __GO_FONT_COLOR__ = 208;
-    public static final int __GO_FONT_FRACTIONAL__ = 209;
-    public static final int __GO_Z_BOUNDS__ = 210;
-    public static final int __GO_OUTSIDE_COLOR__ = 211;
-    public static final int __GO_COLOR_RANGE__ = 212;
-    public static final int __GO_DATA_MAPPING__ = 213;
-    public static final int __GO_FONT_ANGLE__ = 214;
-    public static final int __GO_AUTO_POSITION__ = 215;
-    public static final int __GO_CORNERS__ = 216;
-    public static final int __GO_AUTO_ROTATION__ = 217;
-    public static final int __GO_LINKS__ = 218;
-    public static final int __GO_LINKS_COUNT__ = 219;
-    public static final int __GO_LEGEND_LOCATION__ = 220;
-    public static final int __GO_CLOSED__ = 221;
-    public static final int __GO_ARROW_SIZE_FACTOR__ = 222;
-    public static final int __GO_POLYLINE_STYLE__ = 223;
-    public static final int __GO_INTERP_COLOR_VECTOR__ = 224;
-    public static final int __GO_INTERP_COLOR_VECTOR_SET__ = 225;
-    public static final int __GO_INTERP_COLOR_MODE__ = 226;
-    public static final int __GO_X_SHIFT__ = 227;
-    public static final int __GO_Y_SHIFT__ = 228;
-    public static final int __GO_Z_SHIFT__ = 229;
-    public static final int __GO_BAR_WIDTH__ = 230;
-    public static final int __GO_SURFACE_MODE__ = 231;
-    public static final int __GO_COLOR_MODE__ = 232;
-    public static final int __GO_COLOR_FLAG__ = 233;
-    public static final int __GO_ALIGNMENT__ = 234;
-    public static final int __GO_BOX__ = 235;
-    public static final int __GO_TEXT_BOX__ = 236;
-    public static final int __GO_TEXT_BOX_MODE__ = 237;
-    public static final int __GO_AUTO_DIMENSIONING__ = 238;
-    public static final int __GO_FORMATTED_TEXT__ = 239;
-    public static final int __GO_TEXT_ARRAY_DIMENSIONS__ = 240;
-    public static final int __GO_TEXT_STRINGS__ = 241;
-    public static final int __GO_BASE__ = 242;
-    public static final int __GO_BASE_X__ = 243;
-    public static final int __GO_BASE_Y__ = 244;
-    public static final int __GO_BASE_Z__ = 245;
-    public static final int __GO_DIRECTION__ = 246;
-    public static final int __GO_DIRECTION_X__ = 247;
-    public static final int __GO_DIRECTION_Y__ = 248;
-    public static final int __GO_DIRECTION_Z__ = 249;
-    public static final int __GO_ARROW_SIZE__ = 250;
-    public static final int __GO_SEGS_COLORS__ = 251;
-    public static final int __GO_COLORED__ = 252;
-    public static final int __GO_ARROWS__ = 253;
-    public static final int __GO_NUMBER_ARROWS__ = 254;
-    public static final int __GO_CHAMP_DIMENSIONS__ = 255;
-    public static final int __GO_BOUNDING_BOX__ = 256;
-    public static final int __GO_MAX_LENGTH__ = 257;
-    public static final int __GO_MAX_USABLE_LENGTH__ = 258;
-    public static final int __GO_HIDDEN_COLOR__ = 259;
-    public static final int __GO_STYLE__ = 260;
-    public static final int __GO_UI_CHECKBOX__ = 261;
-    public static final int __GO_UI_EDIT__ = 262;
-    public static final int __GO_UI_FRAME__ = 263;
-    public static final int __GO_UI_IMAGE__ = 264;
-    public static final int __GO_UI_LISTBOX__ = 265;
-    public static final int __GO_UI_POPUPMENU__ = 266;
-    public static final int __GO_UI_PUSHBUTTON__ = 267;
-    public static final int __GO_UI_RADIOBUTTON__ = 268;
-    public static final int __GO_UI_SLIDER__ = 269;
-    public static final int __GO_UI_TABLE__ = 270;
-    public static final int __GO_UI_TEXT__ = 271;
-    public static final int __GO_UI_LAYER__ = 272;
-    public static final int __GO_UI_BACKGROUNDCOLOR__ = 273;
-    public static final int __GO_UI_ENABLE__ = 274;
-    public static final int __GO_UI_FONTANGLE__ = 275;
-    public static final int __GO_UI_FONTNAME__ = 276;
-    public static final int __GO_UI_FONTSIZE__ = 277;
-    public static final int __GO_UI_FONTUNITS__ = 278;
-    public static final int __GO_UI_FONTWEIGHT__ = 279;
-    public static final int __GO_UI_FOREGROUNDCOLOR__ = 280;
-    public static final int __GO_UI_HORIZONTALALIGNMENT__ = 281;
-    public static final int __GO_UI_LISTBOXTOP__ = 282;
-    public static final int __GO_UI_LISTBOXTOP_SIZE__ = 283;
-    public static final int __GO_UI_MAX__ = 284;
-    public static final int __GO_UI_MIN__ = 285;
-    public static final int __GO_UI_RELIEF__ = 286;
-    public static final int __GO_UI_STRING__ = 287;
-    public static final int __GO_UI_STRING_SIZE__ = 288;
-    public static final int __GO_UI_STRING_COLNB__ = 289;
-    public static final int __GO_UI_TOOLTIPSTRING__ = 290;
-    public static final int __GO_UI_TOOLTIPSTRING_SIZE__ = 291;
-    public static final int __GO_UI_SLIDERSTEP__ = 292;
-    public static final int __GO_UI_UNITS__ = 293;
-    public static final int __GO_UI_VALUE__ = 294;
-    public static final int __GO_UI_VALUE_SIZE__ = 295;
-    public static final int __GO_UI_VERTICALALIGNMENT__ = 296;
-    public static final int __GO_UIPARENTMENU__ = 297;
-    public static final int __GO_UICHILDMENU__ = 298;
-    public static final int __GO_UICHECKEDMENU__ = 299;
-    public static final int __GO_UI_CHECKED__ = 300;
-    public static final int __GO_UI_LABEL__ = 301;
-    public static final int __GO_UI_MNEMONIC__ = 302;
-    public static final int __GO_UI_ACCELERATOR__ = 303;
-    public static final int __GO_UI_SEPARATOR__ = 304;
-    public static final int __GO_UI_ICON__ = 305;
-    public static final int __GO_CONSOLE__ = 306;
-    public static final int __GO_SHOWHIDDENHANDLES__ = 307;
-    public static final int __GO_WAITBAR__ = 308;
-    public static final int __GO_PROGRESSIONBAR__ = 309;
-    public static final int __GO_UI_MESSAGE__ = 310;
-    public static final int __GO_UI_MESSAGE_SIZE__ = 311;
-    public static final int __GO_DATATIP__ = 312;
-    public static final int __GO_DATATIP_DATA__ = 313;
-    public static final int __GO_DATATIP_ORIENTATION__ = 314;
-    public static final int __GO_DATATIP_3COMPONENT__ = 315;
-    public static final int __GO_DATATIP_AUTOORIENTATION__ = 316;
-    public static final int __GO_DATATIP_INTERP_MODE__ = 317;
-    public static final int __GO_DATATIP_DISPLAY_FNC__ = 318;
-    public static final int __GO_DATATIP_BOX_MODE__ = 319;
-    public static final int __GO_DATATIP_LABEL_MODE__ = 320;
-    public static final int __GO_AMBIENTCOLOR__ = 321;
-    public static final int __GO_DIFFUSECOLOR__ = 322;
-    public static final int __GO_SPECULARCOLOR__ = 323;
-    public static final int __GO_COLOR_MATERIAL__ = 324;
-    public static final int __GO_MATERIAL_SHININESS__ = 325;
-    public static final int __GO_LIGHT__ = 326;
-    public static final int __GO_LIGHT_TYPE__ = 327;
-    public static final int __GO_DATATIPS__ = 328;
-    public static final int __GO_DATATIPS_COUNT__ = 329;
-    public static final int __GO_DATATIP_INDEXES__ = 330;
-    public static final int __GO_DATA_MODEL_DISPLAY_FUNCTION__ = 331;
-    public static final int __GO_DATA_MODEL_DISPLAY_FUNCTION_SIZE__ = 332;
-    public static final int __GO_RESIZE__ = 333;
-    public static final int __GO_TOOLBAR__ = 334;
-    public static final int __GO_TOOLBAR_VISIBLE__ = 335;
-    public static final int __GO_MENUBAR__ = 336;
-    public static final int __GO_MENUBAR_VISIBLE__ = 337;
-    public static final int __GO_INFOBAR_VISIBLE__ = 338;
-    public static final int __GO_DOCKABLE__ = 339;
-    public static final int __GO_LAYOUT__ = 340;
-    public static final int __GO_LAYOUT_SET__ = 341;
-    public static final int __GO_UI_TAB__ = 342;
-    public static final int __GO_UI_GRIDBAG_GRID__ = 343;
-    public static final int __GO_UI_GRIDBAG_WEIGHT__ = 344;
-    public static final int __GO_UI_GRIDBAG_FILL__ = 345;
-    public static final int __GO_UI_GRIDBAG_ANCHOR__ = 346;
-    public static final int __GO_UI_GRIDBAG_PADDING__ = 347;
-    public static final int __GO_UI_GRID_GRID__ = 348;
-    public static final int __GO_UI_GRID_PADDING__ = 349;
-    public static final int __GO_UI_BORDER_POSITION__ = 350;
-    public static final int __GO_GRID_OPT_GRID__ = 351;
-    public static final int __GO_GRID_OPT_PADDING__ = 352;
-    public static final int __GO_BORDER_OPT_PADDING__ = 353;
-    public static final int __GO_UI_FRAME_BORDER__ = 354;
-    public static final int __GO_UI_FRAME_BORDER_COLOR__ = 355;
-    public static final int __GO_UI_FRAME_BORDER_HIGHLIGHT_IN__ = 356;
-    public static final int __GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__ = 357;
-    public static final int __GO_UI_FRAME_BORDER_IN_BORDER__ = 358;
-    public static final int __GO_UI_FRAME_BORDER_JUSTIFICATION__ = 359;
-    public static final int __GO_UI_FRAME_BORDER_OUT_BORDER__ = 360;
-    public static final int __GO_UI_FRAME_BORDER_ROUNDED__ = 361;
-    public static final int __GO_UI_FRAME_BORDER_SHADOW_IN__ = 362;
-    public static final int __GO_UI_FRAME_BORDER_SHADOW_OUT__ = 363;
-    public static final int __GO_UI_FRAME_BORDER_TITLE__ = 364;
-    public static final int __GO_UI_FRAME_BORDER_POSITION__ = 365;
-    public static final int __GO_UI_FRAME_BORDER_STYLE__ = 366;
-    public static final int __GO_UI_GROUP_NAME__ = 367;
+    public static final int __GO_WINDOW__ = 10;
+    public static final int __GO_GRAYPLOT__ = 11;
+    public static final int __GO_LABEL__ = 12;
+    public static final int __GO_LEGEND__ = 13;
+    public static final int __GO_MATPLOT__ = 14;
+    public static final int __GO_PLOT3D__ = 15;
+    public static final int __GO_POLYLINE__ = 16;
+    public static final int __GO_RECTANGLE__ = 17;
+    public static final int __GO_SEGS__ = 18;
+    public static final int __GO_TEXT__ = 19;
+    public static final int __GO_UICONTROL__ = 20;
+    public static final int __GO_UIMENU__ = 21;
+    public static final int __GO_UICONTEXTMENU__ = 22;
+    public static final int __GO_CHILDREN__ = 23;
+    public static final int __GO_CHILDREN_COUNT__ = 24;
+    public static final int __GO_PARENT__ = 25;
+    public static final int __GO_USER_DATA__ = 26;
+    public static final int __GO_USER_DATA_SIZE__ = 27;
+    public static final int __GO_VISIBLE__ = 28;
+    public static final int __GO_HIDDEN__ = 29;
+    public static final int __GO_TYPE__ = 30;
+    public static final int __GO_DATA_MODEL__ = 31;
+    public static final int __GO_PARENT_FIGURE__ = 32;
+    public static final int __GO_PARENT_AXES__ = 33;
+    public static final int __GO_HAS_LEGEND_CHILD__ = 34;
+    public static final int __GO_LEGEND_CHILD__ = 35;
+    public static final int __GO_SELECTED_CHILD__ = 36;
+    public static final int __GO_CALLBACK__ = 37;
+    public static final int __GO_CALLBACKTYPE__ = 38;
+    public static final int __GO_DATA_MODEL_COORDINATES__ = 39;
+    public static final int __GO_DATA_MODEL_X__ = 40;
+    public static final int __GO_DATA_MODEL_Y__ = 41;
+    public static final int __GO_DATA_MODEL_Z__ = 42;
+    public static final int __GO_DATA_MODEL_X_COORDINATES_SHIFT__ = 43;
+    public static final int __GO_DATA_MODEL_Y_COORDINATES_SHIFT__ = 44;
+    public static final int __GO_DATA_MODEL_Z_COORDINATES_SHIFT__ = 45;
+    public static final int __GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__ = 46;
+    public static final int __GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__ = 47;
+    public static final int __GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__ = 48;
+    public static final int __GO_DATA_MODEL_NUM_ELEMENTS__ = 49;
+    public static final int __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__ = 50;
+    public static final int __GO_DATA_MODEL_NUM_VERTICES_PER_GON__ = 51;
+    public static final int __GO_DATA_MODEL_NUM_GONS__ = 52;
+    public static final int __GO_DATA_MODEL_Z_COORDINATES_SET__ = 53;
+    public static final int __GO_DATA_MODEL_COLORS__ = 54;
+    public static final int __GO_DATA_MODEL_NUM_COLORS__ = 55;
+    public static final int __GO_DATA_MODEL_NUM_VERTICES__ = 56;
+    public static final int __GO_DATA_MODEL_NUM_INDICES__ = 57;
+    public static final int __GO_DATA_MODEL_INDICES__ = 58;
+    public static final int __GO_DATA_MODEL_VALUES__ = 59;
+    public static final int __GO_DATA_MODEL_FEC_TRIANGLES__ = 60;
+    public static final int __GO_DATA_MODEL_NUM_X__ = 61;
+    public static final int __GO_DATA_MODEL_NUM_Y__ = 62;
+    public static final int __GO_DATA_MODEL_NUM_Z__ = 63;
+    public static final int __GO_DATA_MODEL_GRID_SIZE__ = 64;
+    public static final int __GO_DATA_MODEL_X_DIMENSIONS__ = 65;
+    public static final int __GO_DATA_MODEL_Y_DIMENSIONS__ = 66;
+    public static final int __GO_MATPLOT_TRANSLATE__ = 67;
+    public static final int __GO_MATPLOT_SCALE__ = 68;
+    public static final int __GO_DATA_MODEL_MATPLOT_BOUNDS__ = 69;
+    public static final int __GO_DATA_MODEL_MATPLOT_TYPE__ = 70;
+    public static final int __GO_DATA_MODEL_MATPLOT_GL_TYPE__ = 71;
+    public static final int __GO_DATA_MODEL_MATPLOT_DATA_INFOS__ = 72;
+    public static final int __GO_DATA_MODEL_MATPLOT_DATA_TYPE__ = 73;
+    public static final int __GO_DATA_MODEL_MATPLOT_DATA_ORDER__ = 74;
+    public static final int __GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__ = 75;
+    public static final int __GO_DATA_MODEL_MATPLOT_IMAGE_DATA__ = 76;
+    public static final int __GO_DATA_MODEL_MATPLOT_IMAGE_DATASIZE__ = 77;
+    public static final int __GO_REFERENCED__ = 78;
+    public static final int __GO_VALID__ = 79;
+    public static final int __GO_POSITION__ = 80;
+    public static final int __GO_SIZE__ = 81;
+    public static final int __GO_CANVAS__ = 82;
+    public static final int __GO_AUTORESIZE__ = 83;
+    public static final int __GO_VIEWPORT__ = 84;
+    public static final int __GO_AXES_SIZE__ = 85;
+    public static final int __GO_FIGURE_NAME__ = 86;
+    public static final int __GO_NAME__ = 87;
+    public static final int __GO_ID__ = 88;
+    public static final int __GO_INFO_MESSAGE__ = 89;
+    public static final int __GO_COLORMAP__ = 90;
+    public static final int __GO_COLORMAP_SIZE__ = 91;
+    public static final int __GO_RENDERING_MODE__ = 92;
+    public static final int __GO_PIXMAP__ = 93;
+    public static final int __GO_PIXEL_DRAWING_MODE__ = 94;
+    public static final int __GO_ANTIALIASING__ = 95;
+    public static final int __GO_IMMEDIATE_DRAWING__ = 96;
+    public static final int __GO_BACKGROUND__ = 97;
+    public static final int __GO_EVENTHANDLER__ = 98;
+    public static final int __GO_EVENTHANDLER_NAME__ = 99;
+    public static final int __GO_EVENTHANDLER_ENABLE__ = 100;
+    public static final int __GO_TAG__ = 101;
+    public static final int __GO_ROTATION_TYPE__ = 102;
+    public static final int __GO_RESIZEFCN__ = 103;
+    public static final int __GO_CLOSEREQUESTFCN__ = 104;
+    public static final int __GO_UPPER_LEFT_POINT__ = 105;
+    public static final int __GO_WIDTH__ = 106;
+    public static final int __GO_HEIGHT__ = 107;
+    public static final int __GO_START_ANGLE__ = 108;
+    public static final int __GO_END_ANGLE__ = 109;
+    public static final int __GO_ARC_DRAWING_METHOD__ = 110;
+    public static final int __GO_X_AXIS_VISIBLE__ = 111;
+    public static final int __GO_X_AXIS_REVERSE__ = 112;
+    public static final int __GO_X_AXIS_GRID_COLOR__ = 113;
+    public static final int __GO_X_AXIS_GRID_THICKNESS__ = 114;
+    public static final int __GO_X_AXIS_GRID_STYLE__ = 115;
+    public static final int __GO_X_AXIS_LABEL__ = 116;
+    public static final int __GO_X_AXIS_LOCATION__ = 117;
+    public static final int __GO_X_AXIS_LOG_FLAG__ = 118;
+    public static final int __GO_X_AXIS_TICKS__ = 119;
+    public static final int __GO_X_AXIS_AUTO_TICKS__ = 120;
+    public static final int __GO_X_AXIS_NUMBER_TICKS__ = 121;
+    public static final int __GO_X_AXIS_TICKS_LOCATIONS__ = 122;
+    public static final int __GO_X_AXIS_TICKS_LABELS__ = 123;
+    public static final int __GO_X_AXIS_SUBTICKS__ = 124;
+    public static final int __GO_Y_AXIS_VISIBLE__ = 125;
+    public static final int __GO_Y_AXIS_REVERSE__ = 126;
+    public static final int __GO_Y_AXIS_GRID_COLOR__ = 127;
+    public static final int __GO_Y_AXIS_GRID_THICKNESS__ = 128;
+    public static final int __GO_Y_AXIS_GRID_STYLE__ = 129;
+    public static final int __GO_Y_AXIS_LABEL__ = 130;
+    public static final int __GO_Y_AXIS_LOCATION__ = 131;
+    public static final int __GO_Y_AXIS_LOG_FLAG__ = 132;
+    public static final int __GO_Y_AXIS_TICKS__ = 133;
+    public static final int __GO_Y_AXIS_AUTO_TICKS__ = 134;
+    public static final int __GO_Y_AXIS_NUMBER_TICKS__ = 135;
+    public static final int __GO_Y_AXIS_TICKS_LOCATIONS__ = 136;
+    public static final int __GO_Y_AXIS_TICKS_LABELS__ = 137;
+    public static final int __GO_Y_AXIS_SUBTICKS__ = 138;
+    public static final int __GO_Z_AXIS_VISIBLE__ = 139;
+    public static final int __GO_Z_AXIS_REVERSE__ = 140;
+    public static final int __GO_Z_AXIS_GRID_COLOR__ = 141;
+    public static final int __GO_Z_AXIS_GRID_THICKNESS__ = 142;
+    public static final int __GO_Z_AXIS_GRID_STYLE__ = 143;
+    public static final int __GO_Z_AXIS_LABEL__ = 144;
+    public static final int __GO_Z_AXIS_LOCATION__ = 145;
+    public static final int __GO_Z_AXIS_LOG_FLAG__ = 146;
+    public static final int __GO_Z_AXIS_TICKS__ = 147;
+    public static final int __GO_Z_AXIS_AUTO_TICKS__ = 148;
+    public static final int __GO_Z_AXIS_NUMBER_TICKS__ = 149;
+    public static final int __GO_Z_AXIS_TICKS_LOCATIONS__ = 150;
+    public static final int __GO_Z_AXIS_TICKS_LABELS__ = 151;
+    public static final int __GO_Z_AXIS_SUBTICKS__ = 152;
+    public static final int __GO_AUTO_SUBTICKS__ = 153;
+    public static final int __GO_GRID_POSITION__ = 154;
+    public static final int __GO_TITLE__ = 155;
+    public static final int __GO_AUTO_CLEAR__ = 156;
+    public static final int __GO_FILLED__ = 157;
+    public static final int __GO_CAMERA__ = 158;
+    public static final int __GO_VIEW__ = 159;
+    public static final int __GO_ISOVIEW__ = 160;
+    public static final int __GO_CUBE_SCALING__ = 161;
+    public static final int __GO_ROTATION_ANGLES__ = 162;
+    public static final int __GO_ROTATION_ANGLES_3D__ = 163;
+    public static final int __GO_BOX_TYPE__ = 164;
+    public static final int __GO_HIDDEN_AXIS_COLOR__ = 165;
+    public static final int __GO_TIGHT_LIMITS__ = 166;
+    public static final int __GO_DATA_BOUNDS__ = 167;
+    public static final int __GO_REAL_DATA_BOUNDS__ = 168;
+    public static final int __GO_ZOOM_ENABLED__ = 169;
+    public static final int __GO_ZOOM_BOX__ = 170;
+    public static final int __GO_AUTO_SCALE__ = 171;
+    public static final int __GO_FIRST_PLOT__ = 172;
+    public static final int __GO_MARGINS__ = 173;
+    public static final int __GO_AXES_BOUNDS__ = 174;
+    public static final int __GO_CLIP_PROPERTY__ = 175;
+    public static final int __GO_CLIP_STATE__ = 176;
+    public static final int __GO_CLIP_BOX__ = 177;
+    public static final int __GO_CLIP_BOX_SET__ = 178;
+    public static final int __GO_LINE__ = 179;
+    public static final int __GO_LINE_MODE__ = 180;
+    public static final int __GO_LINE_STYLE__ = 181;
+    public static final int __GO_LINE_THICKNESS__ = 182;
+    public static final int __GO_LINE_COLOR__ = 183;
+    public static final int __GO_FILL_MODE__ = 184;
+    public static final int __GO_MARK__ = 185;
+    public static final int __GO_MARK_MODE__ = 186;
+    public static final int __GO_MARK_STYLE__ = 187;
+    public static final int __GO_MARK_SIZE_UNIT__ = 188;
+    public static final int __GO_MARK_SIZE__ = 189;
+    public static final int __GO_MARK_FOREGROUND__ = 190;
+    public static final int __GO_MARK_BACKGROUND__ = 191;
+    public static final int __GO_MARK_OFFSET__ = 192;
+    public static final int __GO_MARK_STRIDE__ = 193;
+    public static final int __GO_TICKS_DIRECTION__ = 194;
+    public static final int __GO_X_NUMBER_TICKS__ = 195;
+    public static final int __GO_Y_NUMBER_TICKS__ = 196;
+    public static final int __GO_X_TICKS_COORDS__ = 197;
+    public static final int __GO_Y_TICKS_COORDS__ = 198;
+    public static final int __GO_TICKS_COLOR__ = 199;
+    public static final int __GO_TICKS_SEGMENT__ = 200;
+    public static final int __GO_TICKS_STYLE__ = 201;
+    public static final int __GO_SUBTICKS__ = 202;
+    public static final int __GO_NUMBER_TICKS_LABELS__ = 203;
+    public static final int __GO_TICKS_LABELS__ = 204;
+    public static final int __GO_FORMATN__ = 205;
+    public static final int __GO_FONT__ = 206;
+    public static final int __GO_FONT_STYLE__ = 207;
+    public static final int __GO_FONT_SIZE__ = 208;
+    public static final int __GO_FONT_COLOR__ = 209;
+    public static final int __GO_FONT_FRACTIONAL__ = 210;
+    public static final int __GO_Z_BOUNDS__ = 211;
+    public static final int __GO_OUTSIDE_COLOR__ = 212;
+    public static final int __GO_COLOR_RANGE__ = 213;
+    public static final int __GO_DATA_MAPPING__ = 214;
+    public static final int __GO_FONT_ANGLE__ = 215;
+    public static final int __GO_AUTO_POSITION__ = 216;
+    public static final int __GO_CORNERS__ = 217;
+    public static final int __GO_AUTO_ROTATION__ = 218;
+    public static final int __GO_LINKS__ = 219;
+    public static final int __GO_LINKS_COUNT__ = 220;
+    public static final int __GO_LEGEND_LOCATION__ = 221;
+    public static final int __GO_CLOSED__ = 222;
+    public static final int __GO_ARROW_SIZE_FACTOR__ = 223;
+    public static final int __GO_POLYLINE_STYLE__ = 224;
+    public static final int __GO_INTERP_COLOR_VECTOR__ = 225;
+    public static final int __GO_INTERP_COLOR_VECTOR_SET__ = 226;
+    public static final int __GO_INTERP_COLOR_MODE__ = 227;
+    public static final int __GO_X_SHIFT__ = 228;
+    public static final int __GO_Y_SHIFT__ = 229;
+    public static final int __GO_Z_SHIFT__ = 230;
+    public static final int __GO_BAR_WIDTH__ = 231;
+    public static final int __GO_SURFACE_MODE__ = 232;
+    public static final int __GO_COLOR_MODE__ = 233;
+    public static final int __GO_COLOR_FLAG__ = 234;
+    public static final int __GO_ALIGNMENT__ = 235;
+    public static final int __GO_BOX__ = 236;
+    public static final int __GO_TEXT_BOX__ = 237;
+    public static final int __GO_TEXT_BOX_MODE__ = 238;
+    public static final int __GO_AUTO_DIMENSIONING__ = 239;
+    public static final int __GO_FORMATTED_TEXT__ = 240;
+    public static final int __GO_TEXT_ARRAY_DIMENSIONS__ = 241;
+    public static final int __GO_TEXT_STRINGS__ = 242;
+    public static final int __GO_BASE__ = 243;
+    public static final int __GO_BASE_X__ = 244;
+    public static final int __GO_BASE_Y__ = 245;
+    public static final int __GO_BASE_Z__ = 246;
+    public static final int __GO_DIRECTION__ = 247;
+    public static final int __GO_DIRECTION_X__ = 248;
+    public static final int __GO_DIRECTION_Y__ = 249;
+    public static final int __GO_DIRECTION_Z__ = 250;
+    public static final int __GO_ARROW_SIZE__ = 251;
+    public static final int __GO_SEGS_COLORS__ = 252;
+    public static final int __GO_COLORED__ = 253;
+    public static final int __GO_ARROWS__ = 254;
+    public static final int __GO_NUMBER_ARROWS__ = 255;
+    public static final int __GO_CHAMP_DIMENSIONS__ = 256;
+    public static final int __GO_BOUNDING_BOX__ = 257;
+    public static final int __GO_MAX_LENGTH__ = 258;
+    public static final int __GO_MAX_USABLE_LENGTH__ = 259;
+    public static final int __GO_HIDDEN_COLOR__ = 260;
+    public static final int __GO_STYLE__ = 261;
+    public static final int __GO_UI_CHECKBOX__ = 262;
+    public static final int __GO_UI_EDIT__ = 263;
+    public static final int __GO_UI_FRAME__ = 264;
+    public static final int __GO_UI_IMAGE__ = 265;
+    public static final int __GO_UI_LISTBOX__ = 266;
+    public static final int __GO_UI_POPUPMENU__ = 267;
+    public static final int __GO_UI_PUSHBUTTON__ = 268;
+    public static final int __GO_UI_RADIOBUTTON__ = 269;
+    public static final int __GO_UI_SLIDER__ = 270;
+    public static final int __GO_UI_TABLE__ = 271;
+    public static final int __GO_UI_TEXT__ = 272;
+    public static final int __GO_UI_LAYER__ = 273;
+    public static final int __GO_UI_BACKGROUNDCOLOR__ = 274;
+    public static final int __GO_UI_ENABLE__ = 275;
+    public static final int __GO_UI_FONTANGLE__ = 276;
+    public static final int __GO_UI_FONTNAME__ = 277;
+    public static final int __GO_UI_FONTSIZE__ = 278;
+    public static final int __GO_UI_FONTUNITS__ = 279;
+    public static final int __GO_UI_FONTWEIGHT__ = 280;
+    public static final int __GO_UI_FOREGROUNDCOLOR__ = 281;
+    public static final int __GO_UI_HORIZONTALALIGNMENT__ = 282;
+    public static final int __GO_UI_LISTBOXTOP__ = 283;
+    public static final int __GO_UI_LISTBOXTOP_SIZE__ = 284;
+    public static final int __GO_UI_MAX__ = 285;
+    public static final int __GO_UI_MIN__ = 286;
+    public static final int __GO_UI_RELIEF__ = 287;
+    public static final int __GO_UI_STRING__ = 288;
+    public static final int __GO_UI_STRING_SIZE__ = 289;
+    public static final int __GO_UI_STRING_COLNB__ = 290;
+    public static final int __GO_UI_TOOLTIPSTRING__ = 291;
+    public static final int __GO_UI_TOOLTIPSTRING_SIZE__ = 292;
+    public static final int __GO_UI_SLIDERSTEP__ = 293;
+    public static final int __GO_UI_UNITS__ = 294;
+    public static final int __GO_UI_VALUE__ = 295;
+    public static final int __GO_UI_VALUE_SIZE__ = 296;
+    public static final int __GO_UI_VERTICALALIGNMENT__ = 297;
+    public static final int __GO_UIPARENTMENU__ = 298;
+    public static final int __GO_UICHILDMENU__ = 299;
+    public static final int __GO_UICHECKEDMENU__ = 300;
+    public static final int __GO_UI_CHECKED__ = 301;
+    public static final int __GO_UI_LABEL__ = 302;
+    public static final int __GO_UI_MNEMONIC__ = 303;
+    public static final int __GO_UI_ACCELERATOR__ = 304;
+    public static final int __GO_UI_SEPARATOR__ = 305;
+    public static final int __GO_UI_ICON__ = 306;
+    public static final int __GO_CONSOLE__ = 307;
+    public static final int __GO_SHOWHIDDENHANDLES__ = 308;
+    public static final int __GO_WAITBAR__ = 309;
+    public static final int __GO_PROGRESSIONBAR__ = 310;
+    public static final int __GO_UI_MESSAGE__ = 311;
+    public static final int __GO_UI_MESSAGE_SIZE__ = 312;
+    public static final int __GO_DATATIP__ = 313;
+    public static final int __GO_DATATIP_DATA__ = 314;
+    public static final int __GO_DATATIP_ORIENTATION__ = 315;
+    public static final int __GO_DATATIP_3COMPONENT__ = 316;
+    public static final int __GO_DATATIP_AUTOORIENTATION__ = 317;
+    public static final int __GO_DATATIP_INTERP_MODE__ = 318;
+    public static final int __GO_DATATIP_DISPLAY_FNC__ = 319;
+    public static final int __GO_DATATIP_BOX_MODE__ = 320;
+    public static final int __GO_DATATIP_LABEL_MODE__ = 321;
+    public static final int __GO_AMBIENTCOLOR__ = 322;
+    public static final int __GO_DIFFUSECOLOR__ = 323;
+    public static final int __GO_SPECULARCOLOR__ = 324;
+    public static final int __GO_COLOR_MATERIAL__ = 325;
+    public static final int __GO_MATERIAL_SHININESS__ = 326;
+    public static final int __GO_LIGHT__ = 327;
+    public static final int __GO_LIGHT_TYPE__ = 328;
+    public static final int __GO_DATATIPS__ = 329;
+    public static final int __GO_DATATIPS_COUNT__ = 330;
+    public static final int __GO_DATATIP_INDEXES__ = 331;
+    public static final int __GO_DATA_MODEL_DISPLAY_FUNCTION__ = 332;
+    public static final int __GO_DATA_MODEL_DISPLAY_FUNCTION_SIZE__ = 333;
+    public static final int __GO_RESIZE__ = 334;
+    public static final int __GO_TOOLBAR__ = 335;
+    public static final int __GO_TOOLBAR_VISIBLE__ = 336;
+    public static final int __GO_MENUBAR__ = 337;
+    public static final int __GO_MENUBAR_VISIBLE__ = 338;
+    public static final int __GO_INFOBAR_VISIBLE__ = 339;
+    public static final int __GO_DOCKABLE__ = 340;
+    public static final int __GO_LAYOUT__ = 341;
+    public static final int __GO_LAYOUT_SET__ = 342;
+    public static final int __GO_UI_TAB__ = 343;
+    public static final int __GO_UI_GRIDBAG_GRID__ = 344;
+    public static final int __GO_UI_GRIDBAG_WEIGHT__ = 345;
+    public static final int __GO_UI_GRIDBAG_FILL__ = 346;
+    public static final int __GO_UI_GRIDBAG_ANCHOR__ = 347;
+    public static final int __GO_UI_GRIDBAG_PADDING__ = 348;
+    public static final int __GO_UI_GRID_GRID__ = 349;
+    public static final int __GO_UI_GRID_PADDING__ = 350;
+    public static final int __GO_UI_BORDER_POSITION__ = 351;
+    public static final int __GO_GRID_OPT_GRID__ = 352;
+    public static final int __GO_GRID_OPT_PADDING__ = 353;
+    public static final int __GO_BORDER_OPT_PADDING__ = 354;
+    public static final int __GO_UI_FRAME_BORDER__ = 355;
+    public static final int __GO_UI_FRAME_BORDER_COLOR__ = 356;
+    public static final int __GO_UI_FRAME_BORDER_HIGHLIGHT_IN__ = 357;
+    public static final int __GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__ = 358;
+    public static final int __GO_UI_FRAME_BORDER_IN_BORDER__ = 359;
+    public static final int __GO_UI_FRAME_BORDER_JUSTIFICATION__ = 360;
+    public static final int __GO_UI_FRAME_BORDER_OUT_BORDER__ = 361;
+    public static final int __GO_UI_FRAME_BORDER_ROUNDED__ = 362;
+    public static final int __GO_UI_FRAME_BORDER_SHADOW_IN__ = 363;
+    public static final int __GO_UI_FRAME_BORDER_SHADOW_OUT__ = 364;
+    public static final int __GO_UI_FRAME_BORDER_TITLE__ = 365;
+    public static final int __GO_UI_FRAME_BORDER_POSITION__ = 366;
+    public static final int __GO_UI_FRAME_BORDER_STYLE__ = 367;
+    public static final int __GO_UI_GROUP_NAME__ = 368;
 
 }
index dd01228..a4cf151 100644 (file)
@@ -19,6 +19,7 @@ import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProp
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CONSOLE__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_FIGURE__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_IMMEDIATE_DRAWING__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LAYOUT__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_PARENT__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_POSITION__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_PROGRESSIONBAR__;
@@ -63,8 +64,7 @@ import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProp
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_VALID__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_VISIBLE__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_WAITBAR__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LAYOUT__;
-
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_WINDOW__;
 import static org.scilab.modules.gui.utils.Debug.DEBUG;
 
 import java.awt.CardLayout;
@@ -88,7 +88,6 @@ import javax.swing.SwingUtilities;
 import org.flexdock.docking.Dockable;
 import org.flexdock.docking.DockingManager;
 import org.flexdock.docking.activation.ActiveDockableTracker;
-import org.flexdock.view.View;
 import org.scilab.modules.graphic_export.Driver;
 import org.scilab.modules.graphic_objects.console.Console;
 import org.scilab.modules.graphic_objects.figure.Figure;
@@ -109,7 +108,10 @@ 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.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabCommonPanel;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
+import org.scilab.modules.gui.bridge.tab.SwingScilabPanel;
+import org.scilab.modules.gui.bridge.tab.SwingScilabStaticPanel;
 import org.scilab.modules.gui.bridge.tab.SwingScilabTabGroup;
 import org.scilab.modules.gui.bridge.uiimage.SwingScilabUiImage;
 import org.scilab.modules.gui.bridge.uitable.SwingScilabUiTable;
@@ -177,6 +179,7 @@ public final class SwingView implements GraphicView {
         Edit,
         Frame,
         Figure,
+        Window,
         Image,
         ListBox,
         PopupMenu,
@@ -259,6 +262,7 @@ public final class SwingView implements GraphicView {
         if (!headless && !GraphicsEnvironment.isHeadless()) {
             DEBUG("SwingWiew", "Object Created : " + id + "with type : " + objectType);
             if (objectType == __GO_FIGURE__
+                    || objectType == __GO_WINDOW__
                     || objectType == __GO_UICONTEXTMENU__
                     || objectType == __GO_UIMENU__
                     || objectType == __GO_CONSOLE__
@@ -285,6 +289,8 @@ public final class SwingView implements GraphicView {
         switch (style) {
             case __GO_FIGURE__ :
                 return UielementType.Figure;
+            case __GO_WINDOW__ :
+                return UielementType.Window;
             case __GO_CONSOLE__ :
                 return UielementType.Console;
             case __GO_UI_CHECKBOX__ :
@@ -369,7 +375,7 @@ public final class SwingView implements GraphicView {
                 if (console.getScilabMode() == Console.ScilabMode.STD) {
                     WindowsConfigurationManager.restoreUUID(NULLUUID);
                     SwingScilabConsole sciConsole = ((SwingScilabConsole) ScilabConsole.getConsole().getAsSimpleConsole());
-                    SwingScilabDockable consoleTab = (SwingScilabDockable) sciConsole.getParent();
+                    SwingScilabDockablePanel consoleTab = (SwingScilabDockablePanel) sciConsole.getParent();
                     consoleTab.setId(id);
                     return consoleTab;
                 }
@@ -379,6 +385,7 @@ public final class SwingView implements GraphicView {
                 edit.setId(id);
                 setDefaultProperties(edit, id);
                 return edit;
+            case Window:
             case Figure:
                 Figure figure = (Figure) GraphicController.getController().getObjectFromId(id);
                 String figureTitle = figure.getName();
@@ -387,17 +394,25 @@ public final class SwingView implements GraphicView {
                     figureTitle = figureTitle.replaceFirst("%d", figureId.toString());
                 }
 
-                SwingScilabWindow window = new SwingScilabWindow();
+                SwingScilabWindow window = SwingScilabWindow.createWindow(figure.getDockable());
 
                 window.setTitle(figureTitle);
                 Integer[] figureSize = figure.getSize();
                 window.setDims(new Size(figureSize[0], figureSize[1]));
                 /* TOOLBAR */
-                ToolBar toolBar = ToolBarBuilder.buildToolBar(SwingScilabDockable.GRAPHICS_TOOLBAR_DESCRIPTOR, figureId);
+                ToolBar toolBar = ToolBarBuilder.buildToolBar(SwingScilabCommonPanel.GRAPHICS_TOOLBAR_DESCRIPTOR, figureId);
                 /* INFOBAR */
                 TextBox infoBar = ScilabTextBox.createTextBox();
 
-                SwingScilabDockable tab = new SwingScilabDockable(figureTitle, figureId, figure);
+                SwingScilabPanel tab;
+                if (figure.getDockable()) {
+                    tab = new SwingScilabDockablePanel(figureTitle, figureId, figure);
+                    DockingManager.dock((SwingScilabDockablePanel) tab, window.getDockingPort());
+                    ActiveDockableTracker.requestDockableActivation((SwingScilabDockablePanel) tab);
+                } else {
+                    tab = new SwingScilabStaticPanel(figureTitle, figureId, figure);
+                    window.addTab(tab);
+                }
                 tab.setId(id);
 
                 tab.setMenuBar(ScilabMenuBar.createMenuBar());
@@ -412,12 +427,9 @@ public final class SwingView implements GraphicView {
                 tab.setParentWindowId(window.getId());
 
                 tab.setEventHandler(figure.getEventHandlerString());
-                tab.setEventHandlerEnabled(figure.getEventHandlerEnable());
+                tab.setEventHandlerEnabled(figure.getEventHandlerEnable());                
 
-                DockingManager.dock(tab, window.getDockingPort());
-                ActiveDockableTracker.requestDockableActivation(tab);
-
-                //window.setVisible(true);
+                window.setVisible(true);
                 tab.setVisible(true);
                 tab.setName(figureTitle);
 
@@ -518,6 +530,7 @@ public final class SwingView implements GraphicView {
                 layer.setId(id);
                 return layer;
             default:
+                System.err.println("[SwingView] Unmanaged Creation type !!!");
                 return null;
         }
     }
@@ -559,8 +572,6 @@ public final class SwingView implements GraphicView {
                                GraphicController.getController().getProperty(id, __GO_UI_BACKGROUNDCOLOR__));
         SwingViewWidget.update(uiControlObject, __GO_UI_ENABLE__,
                                GraphicController.getController().getProperty(id, __GO_UI_ENABLE__));
-        SwingViewWidget.update(uiControlObject, __GO_UI_ENABLE__,
-                               GraphicController.getController().getProperty(id, __GO_UI_ENABLE__));
         SwingViewWidget.update(uiControlObject, __GO_UI_FONTANGLE__,
                                GraphicController.getController().getProperty(id, __GO_UI_FONTANGLE__));
         SwingViewWidget.update(uiControlObject, __GO_UI_FONTNAME__,
@@ -593,21 +604,23 @@ public final class SwingView implements GraphicView {
             switch (requestedObject.getType()) {
                 case Figure:
                     if (SwingUtilities.isEventDispatchThread()) {
-                        final SwingScilabDockable tab = (SwingScilabDockable) requestedObject.getValue();
-                        tab.disablePaint();
-                        DockingManager.close(tab);
-                        DockingManager.unregisterDockable((Dockable) tab);
-                        ClosingOperationsManager.unregisterClosingOperation(tab);
-                        ClosingOperationsManager.removeDependency(tab);
-                        ClosingOperationsManager.checkTabForClosing(tab);
-                        tab.close();
+                        if (requestedObject.getValue() instanceof SwingScilabDockablePanel) {
+                            final SwingScilabDockablePanel tab = (SwingScilabDockablePanel) requestedObject.getValue();
+                            tab.disablePaint();
+                            DockingManager.close(tab);
+                            DockingManager.unregisterDockable((Dockable) tab);
+                            ClosingOperationsManager.unregisterClosingOperation(tab);
+                            ClosingOperationsManager.removeDependency(tab);
+                            ClosingOperationsManager.checkTabForClosing(tab);
+                        }
+                        ((SwingScilabPanel) requestedObject.getValue()).close();
                     } else {
                         try {
                             SwingUtilities.invokeAndWait(new Runnable() {
 
                                 @Override
                                 public void run() {
-                                    final SwingScilabDockable tab = (SwingScilabDockable) requestedObject.getValue();
+                                    final SwingScilabDockablePanel tab = (SwingScilabDockablePanel) requestedObject.getValue();
                                     tab.disablePaint();
                                     DockingManager.close(tab);
                                     DockingManager.unregisterDockable((Dockable) tab);
@@ -661,14 +674,14 @@ public final class SwingView implements GraphicView {
         if (registeredObject != null &&
                 property == __GO_VALID__ &&
                 ((Boolean) GraphicController.getController().getProperty(id, __GO_VALID__))) {
-            if (registeredObject.getValue() instanceof SwingScilabDockable) {
+            if (registeredObject.getValue() instanceof SwingScilabDockablePanel) {
                 final Runnable r = new Runnable() {
                     @Override
                     public void run() {
-                        ((SwingScilabDockable) registeredObject.getValue()).getParentWindow().setVisible(true);
-                        ((SwingScilabDockable) registeredObject.getValue()).setVisible(true);
+                        ((SwingScilabDockablePanel) registeredObject.getValue()).getParentWindow().setVisible(true);
+                        ((SwingScilabDockablePanel) registeredObject.getValue()).setVisible(true);
                         Integer[] figureSize = (Integer[]) GraphicController.getController().getProperty(id, __GO_SIZE__);
-                        ((SwingScilabDockable) registeredObject.getValue()).getParentWindow().setDims(new Size(figureSize[0], figureSize[1]));
+                        ((SwingScilabDockablePanel) registeredObject.getValue()).getParentWindow().setDims(new Size(figureSize[0], figureSize[1]));
                     }
                 };
 
@@ -856,7 +869,7 @@ public final class SwingView implements GraphicView {
      * @param newChildren the new children IDs list
      */
     private void updateFigureChildren(TypedObject updatedObject, Integer[] newChildren) {
-        Container updatedComponent = (SwingScilabDockable) updatedObject.getValue();
+        Container updatedComponent = (Container) updatedObject.getValue();
         boolean needRevalidate = false;
 
         // Add new children
@@ -871,7 +884,7 @@ public final class SwingView implements GraphicView {
                 /* Add an uicontrol */
                 if (childType == __GO_UICONTROL__) {
                     SwingViewObject uiContol = allObjects.get(childId).getValue();
-                    ((SwingScilabDockable) updatedComponent).addMember(uiContol);
+                    ((SwingScilabPanel) updatedComponent).addMember(uiContol);
 
                     // Force Position
                     uiContol.update(__GO_POSITION__, GraphicController.getController().getProperty(childId, __GO_POSITION__));
@@ -886,10 +899,10 @@ public final class SwingView implements GraphicView {
                         case UiCheckedMenu:
                             allObjects.remove(childId);
                             allObjects.put(childId, CreateObjectFromType(__GO_UIPARENTMENU__, childId));
-                            ((Container) ((SwingScilabDockable) updatedComponent).getMenuBar().getAsSimpleMenuBar()).add((SwingScilabMenu) allObjects.get(childId).getValue());
+                            ((Container) ((SwingScilabDockablePanel) updatedComponent).getMenuBar().getAsSimpleMenuBar()).add((SwingScilabMenu) allObjects.get(childId).getValue());
                             break;
                         default: /* UiParentMenu */
-                            ((Container) ((SwingScilabDockable) updatedComponent).getMenuBar().getAsSimpleMenuBar()).add((SwingScilabMenu) allObjects.get(childId).getValue());
+                            ((Container) ((SwingScilabDockablePanel) updatedComponent).getMenuBar().getAsSimpleMenuBar()).add((SwingScilabMenu) allObjects.get(childId).getValue());
                             break;
                     }
                     needRevalidate = true;
@@ -916,7 +929,7 @@ public final class SwingView implements GraphicView {
 
                 /* Remove an uicontrol */
                 if (childType == __GO_UICONTROL__) {
-                    ((SwingScilabDockable) updatedComponent).removeMember(allObjects.get(childId).getValue());
+                    ((SwingScilabDockablePanel) updatedComponent).removeMember(allObjects.get(childId).getValue());
                     needRevalidate = true;
                 }
 
@@ -925,10 +938,10 @@ public final class SwingView implements GraphicView {
                     TypedObject childAsTypedObject = allObjects.get(childId);
                     switch (childAsTypedObject.getType()) {
                         case UiCheckedMenu:
-                            ((Container) ((SwingScilabDockable) updatedComponent).getMenuBar().getAsSimpleMenuBar()).remove((SwingScilabCheckBoxMenuItem) allObjects.get(childId).getValue());
+                            ((Container) ((SwingScilabDockablePanel) updatedComponent).getMenuBar().getAsSimpleMenuBar()).remove((SwingScilabCheckBoxMenuItem) allObjects.get(childId).getValue());
                             break;
                         default: /* UiParentMenu */
-                            ((Container) ((SwingScilabDockable) updatedComponent).getMenuBar().getAsSimpleMenuBar()).remove((SwingScilabMenu) allObjects.get(childId).getValue());
+                            ((Container) ((SwingScilabDockablePanel) updatedComponent).getMenuBar().getAsSimpleMenuBar()).remove((SwingScilabMenu) allObjects.get(childId).getValue());
                             break;
                     }
                     needRevalidate = true;
@@ -936,7 +949,7 @@ public final class SwingView implements GraphicView {
             }
         }
         if (needRevalidate && updatedComponent != null) {
-            ((View) updatedComponent).revalidate();
+            ((JComponent) updatedComponent).revalidate();
         }
     }
 
@@ -1095,7 +1108,7 @@ public final class SwingView implements GraphicView {
      * @param newChildren the new children IDs list
      */
     private void updateConsoleChildren(TypedObject updatedObject, Integer[] newChildren) {
-        Container updatedComponent = (SwingScilabDockable) updatedObject.getValue();
+        Container updatedComponent = (SwingScilabDockablePanel) updatedObject.getValue();
         boolean needRevalidate = false;
 
         // Add new children
@@ -1114,10 +1127,10 @@ public final class SwingView implements GraphicView {
                         case UiCheckedMenu:
                             TypedObject newUiParentMenu = CreateObjectFromType(__GO_UIPARENTMENU__, childId);
                             allObjects.put(childId, newUiParentMenu);
-                            ((Container) ((SwingScilabDockable) updatedObject.getValue()).getMenuBar().getAsSimpleMenuBar()).add((SwingScilabMenu) newUiParentMenu.getValue());
+                            ((Container) ((SwingScilabDockablePanel) updatedObject.getValue()).getMenuBar().getAsSimpleMenuBar()).add((SwingScilabMenu) newUiParentMenu.getValue());
                             break;
                         default: /* UiParentMenu */
-                            ((Container) ((SwingScilabDockable) updatedObject.getValue()).getMenuBar().getAsSimpleMenuBar()).add((SwingScilabMenu) childAsTypedObject.getValue());
+                            ((Container) ((SwingScilabDockablePanel) updatedObject.getValue()).getMenuBar().getAsSimpleMenuBar()).add((SwingScilabMenu) childAsTypedObject.getValue());
                             break;
                     }
                     needRevalidate = true;
@@ -1138,7 +1151,7 @@ public final class SwingView implements GraphicView {
                 int childType = (Integer) GraphicController.getController().getProperty(childId, __GO_TYPE__);
 
                 if (childType == __GO_UIMENU__) {
-                    ((Container) ((SwingScilabDockable) updatedObject.getValue()).getMenuBar().getAsSimpleMenuBar()).remove((SwingScilabMenu) allObjects.get(childId).getValue());
+                    ((Container) ((SwingScilabDockablePanel) updatedObject.getValue()).getMenuBar().getAsSimpleMenuBar()).remove((SwingScilabMenu) allObjects.get(childId).getValue());
                     needRevalidate = true;
                 }
             }
@@ -1230,7 +1243,6 @@ public final class SwingView implements GraphicView {
                                     ((SwingScilabMenu) newParent.getValue()).add((SwingScilabCheckBoxMenuItem) allObjects.get(childId).getValue());
                                     break;
                                 default: /* UiParentMenu */
-                                    System.out.println("childAsTypedObject.getType() = UiParentMenu");
                                     ((SwingScilabMenu) updatedObject.getValue()).add((SwingScilabMenu) allObjects.get(childId).getValue());
                                     break;
                             }
index 04f8164..66df5b3 100644 (file)
@@ -59,7 +59,7 @@ import org.scilab.modules.gui.bridge.canvas.SwingScilabCanvasImpl;
 import org.scilab.modules.gui.bridge.console.SwingScilabConsole;
 import org.scilab.modules.gui.bridge.contextmenu.SwingScilabContextMenu;
 import org.scilab.modules.gui.bridge.frame.SwingScilabFrame;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.colorchooser.ColorChooser;
 import org.scilab.modules.gui.colorchooser.ScilabColorChooser;
 import org.scilab.modules.gui.console.ScilabConsole;
@@ -241,7 +241,7 @@ public class CallScilabBridge {
      * @param status true to set the menu enabled
      */
     public static void setMenuEnabled(int parentUID, String menuName, boolean status) {
-        SwingScilabDockable parentTab = (SwingScilabDockable) SwingView.getFromId(parentUID);
+        SwingScilabDockablePanel parentTab = (SwingScilabDockablePanel) SwingView.getFromId(parentUID);
         if (parentTab != null) { /** Parent must exist */
             parentTab.getMenuBar().getAsSimpleMenuBar().setMenuEnabled(menuName, status);
         }
@@ -255,7 +255,7 @@ public class CallScilabBridge {
      * @param status true to set the menu enabled
      */
     public static void setSubMenuEnabled(int parentUID, String parentMenuName, int menuItemPosition, boolean status) {
-        SwingScilabDockable parentTab = (SwingScilabDockable) SwingView.getFromId(parentUID);
+        SwingScilabDockablePanel parentTab = (SwingScilabDockablePanel) SwingView.getFromId(parentUID);
         if (parentTab != null) { /** Parent must exist */
             parentTab.getMenuBar().getAsSimpleMenuBar().setSubMenuEnabled(parentMenuName, menuItemPosition, status);
         }
@@ -273,7 +273,7 @@ public class CallScilabBridge {
      * @param menuName the name of the menu
      */
     public static void removeMenu(int parentUID, String menuName) {
-        SwingScilabDockable parentTab = (SwingScilabDockable) SwingView.getFromId(parentUID);
+        SwingScilabDockablePanel parentTab = (SwingScilabDockablePanel) SwingView.getFromId(parentUID);
         if (parentTab != null) { /** Parent must exist */
             parentTab.getMenuBar().getAsSimpleMenuBar().removeMenu(menuName);
         }
@@ -479,7 +479,7 @@ public class CallScilabBridge {
      * @param status true to set the Toolbar visible
      */
     public static void setToolbarVisible(int parentUID, boolean status) {
-        SwingScilabDockable parentTab = (SwingScilabDockable) SwingView.getFromId(parentUID);
+        SwingScilabDockablePanel parentTab = (SwingScilabDockablePanel) SwingView.getFromId(parentUID);
         if (parentTab != null) {
             boolean oldStatus = parentTab.getToolBar().getAsSimpleToolBar().isVisible();
             if (oldStatus != status) {
@@ -496,7 +496,7 @@ public class CallScilabBridge {
      * @return true to set the Toolbar visible
      */
     public static boolean isToolbarVisible(int parentUID) {
-        SwingScilabDockable parentTab = (SwingScilabDockable) SwingView.getFromId(parentUID);
+        SwingScilabDockablePanel parentTab = (SwingScilabDockablePanel) SwingView.getFromId(parentUID);
         if (parentTab != null) {
             return parentTab.getToolBar().getAsSimpleToolBar().isVisible();
         } else {
@@ -901,7 +901,7 @@ public class CallScilabBridge {
                 Figure figure = (Figure) GraphicController.getController().getObjectFromId(figID);
                 int figureID = figure.getId();
                 SwingScilabCanvas canvas;
-                canvas = ((SwingScilabDockable) SwingView.getFromId(figID)).getContentCanvas();
+                canvas = ((SwingScilabDockablePanel) SwingView.getFromId(figID)).getContentCanvas();
                 ScilabPrint scilabPrint = new ScilabPrint(canvas.dumpAsBufferedImage(), printerJob, scilabPageFormat);
                 if (scilabPrint != null) {
                     return true;
@@ -1337,7 +1337,7 @@ public class CallScilabBridge {
     /******************/
 
     public static void fireClosingFinished(int figUID) {
-        SwingScilabDockable parentTab = (SwingScilabDockable) SwingView.getFromId(figUID);
+        SwingScilabDockablePanel parentTab = (SwingScilabDockablePanel) SwingView.getFromId(figUID);
         ClosingOperationsManager.removeFromDunnoList(parentTab);
     }
 }
index 9ebf9e8..6c73714 100644 (file)
@@ -28,7 +28,7 @@ import org.scilab.modules.graphic_export.FileExporter;
 import org.scilab.modules.graphic_objects.graphicController.GraphicController;
 import org.scilab.modules.graphic_objects.figure.Figure;
 import org.scilab.modules.gui.SwingView;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.tab.SimpleTab;
 import org.scilab.modules.gui.utils.ConfigManager;
 import org.scilab.modules.localization.Messages;
@@ -82,7 +82,7 @@ public class SwingScilabExportFileChooser extends SwingScilabFileChooser {
     public SwingScilabExportFileChooser(Integer figureUID) {
         super();
         this.figureUID = figureUID;
-        SwingScilabDockable tab = (SwingScilabDockable) SwingView.getFromId(figureUID);
+        SwingScilabDockablePanel tab = (SwingScilabDockablePanel) SwingView.getFromId(figureUID);
         setParentFrame(tab.getParentWindow());
         exportCustomFileChooser(figureUID);
     }
@@ -289,7 +289,7 @@ public class SwingScilabExportFileChooser extends SwingScilabFileChooser {
      * @param userExtension extension caught by the user
      */
     public void vectorialExport(String userExtension) {
-        SwingScilabDockable tab = (SwingScilabDockable) SwingView.getFromId(figureUID);
+        SwingScilabDockablePanel tab = (SwingScilabDockablePanel) SwingView.getFromId(figureUID);
         Component c = DrawerVisitor.getVisitor(figureUID).getComponent();
         ExportData exportData = new ExportData(figureUID, this.exportName, userExtension, null);
 
index 37578ef..739655d 100644 (file)
@@ -44,7 +44,7 @@ import org.scilab.modules.gui.bridge.listbox.SwingScilabListBox;
 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.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.bridge.tab.SwingScilabTabGroup;
 import org.scilab.modules.gui.bridge.textbox.SwingScilabTextBox;
 import org.scilab.modules.gui.canvas.Canvas;
@@ -524,7 +524,7 @@ public class SwingScilabFrame extends JPanel implements SwingViewObject, SimpleF
      * @return index of member in ArrayList
      */
     public int addMember(Tab member) {
-        return this.addMember((SwingScilabDockable) member.getAsSimpleTab());
+        return this.addMember((SwingScilabDockablePanel) member.getAsSimpleTab());
     }
     //  TODO : Check if it should be possible to add a Tab to a frame and how it should behave
     /**
@@ -532,7 +532,7 @@ public class SwingScilabFrame extends JPanel implements SwingViewObject, SimpleF
      * @param member the member to add
      * @return index of member in ArrayList
      */
-    private int addMember(SwingScilabDockable member) {
+    private int addMember(SwingScilabDockablePanel member) {
         this.add(member);
         return this.getComponentZOrder(member);
     }
index 3a3ebe5..190f831 100644 (file)
@@ -36,7 +36,7 @@ public class AwtScilabScrollPane implements ScilabScrollPane {
 
     private AwtCustomScrollPane scrolling;
 
-    private SwingScilabDockable parentTab;
+    private SwingScilabDockablePanel parentTab;
 
     /**
      * AWT ScrollPane are not able to change their scrollbars policy once created.
@@ -120,7 +120,7 @@ public class AwtScilabScrollPane implements ScilabScrollPane {
      * @param axes axes to scroll
      * @param parentTab parentTab of the scrollPane
      */
-    public AwtScilabScrollPane(SwingScilabAxes axes, SwingScilabDockable parentTab) {
+    public AwtScilabScrollPane(SwingScilabAxes axes, SwingScilabDockablePanel parentTab) {
         //super(ScrollPane.SCROLLBARS_AS_NEEDED);
         if (axes.getAutoResizeMode()) {
             this.scrolling = new AwtCustomScrollPane(axes, ScrollPane.SCROLLBARS_NEVER);
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/SwingScilabCommonPanel.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/SwingScilabCommonPanel.java
new file mode 100644 (file)
index 0000000..cf5308f
--- /dev/null
@@ -0,0 +1,344 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+package org.scilab.modules.gui.bridge.tab;
+
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AUTORESIZE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AXES_SIZE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BORDER_OPT_PADDING__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CALLBACK__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CHILDREN__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_EVENTHANDLER_ENABLE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_EVENTHANDLER_NAME__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ID__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_INFOBAR_VISIBLE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_INFO_MESSAGE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LAYOUT__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MENUBAR_VISIBLE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_NAME__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_POSITION__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_RESIZE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_SIZE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TOOLBAR_VISIBLE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TYPE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UICHECKEDMENU__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UICHILDMENU__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UIMENU__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UIPARENTMENU__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_VISIBLE__;
+
+import java.awt.BorderLayout;
+import java.awt.Component;
+import java.awt.Dimension;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.GridLayout;
+
+import javax.swing.JLayeredPane;
+
+import org.scilab.modules.graphic_objects.graphicController.GraphicController;
+import org.scilab.modules.graphic_objects.graphicModel.GraphicModel;
+import org.scilab.modules.graphic_objects.uicontrol.Uicontrol;
+import org.scilab.modules.graphic_objects.utils.LayoutType;
+import org.scilab.modules.gui.SwingView;
+import org.scilab.modules.gui.SwingViewObject;
+import org.scilab.modules.gui.bridge.frame.SwingScilabFrame;
+import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
+import org.scilab.modules.gui.events.callback.ScilabCloseCallBack;
+import org.scilab.modules.gui.utils.Position;
+import org.scilab.modules.gui.utils.Size;
+import org.scilab.modules.gui.utils.ToolBarBuilder;
+
+public class SwingScilabCommonPanel {
+
+    public static final String GRAPHICS_TOOLBAR_DESCRIPTOR = System.getenv("SCI") + "/modules/gui/etc/graphics_toolbar.xml";
+
+    /**
+     * Update the tab after a modification of its properties
+     * @param property the property name
+     * @param value the property value
+     * @see org.scilab.modules.gui.SwingViewObject#update(java.lang.String, java.lang.Object)
+     */
+    protected static void update(SwingScilabPanel component, int property, Object value) {
+        String name;
+        Integer figureId;
+        switch (property) {
+            case  __GO_NAME__ :
+                name = ((String) value);
+                figureId = (Integer) GraphicController.getController().getProperty(component.getId(), __GO_ID__);
+                updateTitle(component, name, figureId);
+                break;
+            case __GO_ID__ :
+                /* Update title */
+                figureId = ((Integer) value);
+                name = (String) GraphicController.getController().getProperty(component.getId(), __GO_NAME__);
+                updateTitle(component, name, figureId);
+
+                /** Update tool bar */
+                component.setToolBar(ToolBarBuilder.buildToolBar(GRAPHICS_TOOLBAR_DESCRIPTOR, figureId));
+                SwingScilabWindow parentWindow = SwingScilabWindow.allScilabWindows.get(component.getParentWindowId());
+
+                /* Update callback */
+                String closingCommand =
+                    "if (get_figure_handle(" + figureId + ") <> []) then"
+                    +      "  if (get(get_figure_handle(" + figureId + "), 'event_handler_enable') == 'on') then"
+                    +      "    execstr(get(get_figure_handle(" + figureId + "), 'event_handler')+'(" + figureId + ", -1, -1, -1000)', 'errcatch', 'm');"
+                    +      "  end;"
+                    +      "  delete(get_figure_handle(" + figureId + "));"
+                    +      "end;";
+                component.setCallback(null);
+                component.setCallback(ScilabCloseCallBack.create(component.getId(), closingCommand));
+                /* Update menus callback */
+                Integer[] children = (Integer[]) GraphicController.getController().getProperty(component.getId(), __GO_CHILDREN__);
+                updateChildrenCallbacks(children, figureId);
+                break;
+            case __GO_SIZE__ :
+                Integer[] size = (Integer[]) value;
+                SwingScilabWindow figure = SwingScilabWindow.allScilabWindows.get(component.getParentWindowId());
+                Size oldFigureSize = figure.getDims();
+                figure.setDims(new Size(size[0], size[1]));
+                int deltaFigureX = size[0] - oldFigureSize.getWidth();
+                int deltaFigureY = size[1] - oldFigureSize.getHeight();
+                if ( oldFigureSize.getWidth() != 0 && oldFigureSize.getHeight() != 0
+                        && ((oldFigureSize.getWidth() != size[0]) || (oldFigureSize.getHeight() != size[1]))
+                        && ((Boolean) GraphicController.getController().getProperty(component.getId(), __GO_AUTORESIZE__))
+                   ) {
+                    Integer[] axesSize = (Integer[]) GraphicController.getController().getProperty(component.getId(), __GO_AXES_SIZE__);
+                    Integer[] newAxesSize = {axesSize[0] + deltaFigureX, axesSize[1] + deltaFigureY};
+                    System.err.println("New Axes Size = " + newAxesSize);
+                    GraphicController.getController().setProperty(component.getId(), __GO_AXES_SIZE__, newAxesSize);
+                }
+                break;
+            case __GO_POSITION__ :
+                Integer[] position = (Integer[]) value;
+                SwingScilabWindow.allScilabWindows.get(component.getParentWindowId()).setPosition(new Position(position[0], position[1]));
+                break;
+            case __GO_AXES_SIZE__ :
+                Integer[] axesSize = (Integer[]) value;
+                Dimension oldAxesSize = component.getContentPane().getSize();
+                if ( oldAxesSize.getWidth() != 0 && oldAxesSize.getHeight() != 0
+                        && ((oldAxesSize.getWidth() != axesSize[0]) || (oldAxesSize.getHeight() != axesSize[1]))
+                        && ((Boolean) GraphicController.getController().getProperty(component.getId(), __GO_AUTORESIZE__))
+                   ) {
+                    // TODO manage tabs when there are docked (do not change the window size if more than one tab docked)
+                    int deltaX = axesSize[0] - (int) oldAxesSize.getWidth();
+                    int deltaY = axesSize[1] - (int) oldAxesSize.getHeight();
+                    Size parentWindowSize = SwingScilabWindow.allScilabWindows.get(component.getParentWindowId()).getDims();
+                    SwingScilabWindow.allScilabWindows.get(component.getParentWindowId()).setDims(
+                        new Size(parentWindowSize.getWidth() + deltaX, parentWindowSize.getHeight() + deltaY));
+                    Integer figureSize[] = {parentWindowSize.getWidth() + deltaX, parentWindowSize.getHeight() + deltaY};
+                    GraphicController.getController().setProperty(component.getId(), __GO_SIZE__, figureSize);
+                }
+                break;
+            case __GO_INFO_MESSAGE__ :
+                if (component.getInfoBar() != null) {
+                    component.getInfoBar().setText((String) value);
+                }
+                break;
+            case __GO_EVENTHANDLER_ENABLE__ :
+                Boolean enabled = (Boolean) GraphicController.getController().getProperty(component.getId(), __GO_EVENTHANDLER_ENABLE__);
+                component. setEventHandlerEnabled(enabled);
+                break;
+            case __GO_EVENTHANDLER_NAME__ :
+                String eventHandlerName = (String) GraphicController.getController().getProperty(component.getId(), __GO_EVENTHANDLER_NAME__);
+                component.setEventHandler(eventHandlerName);
+                break;
+            case __GO_VISIBLE__ :
+                component.getContentPane().setVisible((Boolean) value);
+                break;
+            case __GO_INFOBAR_VISIBLE__ :
+                component.getInfoBar().setVisible((Boolean) value);
+                break;
+            case __GO_TOOLBAR_VISIBLE__ :
+                component.getToolBar().setVisible((Boolean) value);
+                break;
+            case __GO_MENUBAR_VISIBLE__ :
+                component.getMenuBar().setVisible((Boolean) value);
+                break;
+            case __GO_RESIZE__ :
+                component.getParentWindow().setResizable((Boolean) value);
+                break;
+            case __GO_LAYOUT__ :
+                LayoutType newLayout = LayoutType.intToEnum((Integer) value);
+                switch (newLayout) {
+                    case BORDER :
+                        Integer[] padding = (Integer[]) GraphicController.getController().getProperty(component.getId(), __GO_BORDER_OPT_PADDING__);
+                        component.getWidgetPane().setLayout(new BorderLayout(padding[0], padding[1]));
+                        component.getWidgetPane().setLayout(new BorderLayout());
+                        break;
+                    case GRIDBAG :
+                        component.getWidgetPane().setLayout(new GridBagLayout());
+                        break;
+                    case GRID :
+                        component.getWidgetPane().setLayout(new GridLayout());
+                        break;
+                    case NONE :
+                    default:
+                        component.getWidgetPane().setLayout(null);
+                        break;
+                }
+                break;
+        }
+    }
+
+    /**
+     * Update the title of the Tab
+     * @param figureName figure_name property
+     * @param figureId figure_id property
+     */
+    private static void updateTitle(SwingScilabPanel component, String figureName, Integer figureId) {
+        if ((figureName != null) && (figureId != null)) {
+            String figureTitle = figureName.replaceFirst("%d", figureId.toString());
+            component.setName(figureTitle);
+        }
+    }
+
+    /**
+     * Update the menus callbacks when they are linked to the figure ID
+     * @param children the children UID
+     * @param parentFigureId the figure ID
+     */
+    private static void updateChildrenCallbacks(Integer[] children, int parentFigureId) {
+        for (int kChild = 0; kChild < children.length; kChild++) {
+            Integer childType = (Integer) GraphicController.getController().getProperty(children[kChild], __GO_TYPE__);
+            if (childType != null && (
+                        childType == __GO_UIMENU__
+                        || childType == __GO_UIPARENTMENU__
+                        || childType == __GO_UICHILDMENU__
+                        || childType == __GO_UICHECKEDMENU__)) {
+                String cb = (String) GraphicController.getController().getProperty(children[kChild], __GO_CALLBACK__);
+                SwingView.getFromId(children[kChild]).update(__GO_CALLBACK__, replaceFigureID(cb, parentFigureId));
+                Integer[] menuChildren = (Integer[]) GraphicController.getController().getProperty(children[kChild], __GO_CHILDREN__);
+                updateChildrenCallbacks(menuChildren, parentFigureId);
+            }
+        }
+    }
+
+    /**
+     * Replace pattern [SCILAB_FIGURE_ID] by the figure index
+     * @param initialString string read in XML file
+     * @param parentFigureId the figure ID
+     * @return callback string
+     */
+    private static String replaceFigureID(String initialString, Integer parentFigureId) {
+        return initialString.replaceAll("\\[SCILAB_FIGURE_ID\\]", Integer.toString(parentFigureId));
+    }
+
+    /**
+     * Add a SwingViewObject (from SwingView.java) to container and returns its index
+     * @param member the member to add
+     */
+    protected static void addMember(SwingScilabPanel component, SwingViewObject member) {
+        //member.get
+        Uicontrol uicontrol = (Uicontrol) GraphicModel.getModel().getObjectFromId(member.getId());
+        if (component.getWidgetPane().getLayout() instanceof BorderLayout) {
+            switch (uicontrol.getBorderPositionAsEnum()) {
+                case SOUTH:
+                    component.getWidgetPane().add((Component) member, BorderLayout.SOUTH);
+                    break;
+                case NORTH:
+                    component.getWidgetPane().add((Component) member, BorderLayout.NORTH);
+                    break;
+                case WEST:
+                    component.getWidgetPane().add((Component) member, BorderLayout.WEST);
+                    break;
+                case EAST:
+                    component.getWidgetPane().add((Component) member, BorderLayout.EAST);
+                    break;
+                case CENTER:
+                    component.getWidgetPane().add((Component) member, BorderLayout.CENTER);
+                    break;
+                default:
+                    break;
+            }
+        } else if (component.getWidgetPane().getLayout() instanceof GridBagLayout) {
+            GridBagConstraints constraints = new GridBagConstraints();
+
+            // Grid
+            Integer[] grid = uicontrol.getGridBagGrid();
+            constraints.gridx = grid[0];
+            constraints.gridy = grid[1];
+            constraints.gridwidth = grid[2];
+            constraints.gridheight = grid[3];
+
+            // Weight
+            Double[] weight = uicontrol.getGridBagWeight();
+            constraints.weightx = weight[0];
+            constraints.weighty = weight[1];
+
+            // Anchor
+            switch (uicontrol.getGridBagAnchorAsEnum()) {
+                case LEFT :
+                    constraints.anchor = GridBagConstraints.EAST;
+                    break;
+                case UPPER :
+                    constraints.anchor = GridBagConstraints.NORTH;
+                    break;
+                case LOWER:
+                    constraints.anchor = GridBagConstraints.SOUTH;
+                    break;
+                case LOWER_LEFT:
+                    constraints.anchor = GridBagConstraints.SOUTHEAST;
+                    break;
+                case LOWER_RIGHT:
+                    constraints.anchor = GridBagConstraints.SOUTHWEST;
+                    break;
+                case RIGHT:
+                    constraints.anchor = GridBagConstraints.WEST;
+                    break;
+                case UPPER_LEFT:
+                    constraints.anchor = GridBagConstraints.NORTHEAST;
+                    break;
+                case UPPER_RIGHT:
+                    constraints.anchor = GridBagConstraints.NORTHWEST;
+                    break;
+                case CENTER :
+                default :
+                    constraints.anchor = GridBagConstraints.CENTER;
+                    break;
+            }
+
+            // Fill
+            switch (uicontrol.getGridBagFillAsEnum()) {
+                case BOTH :
+                    constraints.fill = GridBagConstraints.BOTH;
+                    break;
+                case HORIZONTAL:
+                    constraints.fill = GridBagConstraints.HORIZONTAL;
+                    break;
+                case VERTICAL:
+                    constraints.fill = GridBagConstraints.VERTICAL;
+                    break;
+                case NONE:
+                default:
+                    constraints.fill = GridBagConstraints.NONE;
+                    break;
+            }
+
+            // Insets
+            // TODO : add Insets
+
+            // Padding
+            Integer[] padding = uicontrol.getGridBagPadding();
+            constraints.ipadx = padding[0];
+            constraints.ipady = padding[1];
+
+            component.getWidgetPane().add((Component) member, constraints);
+            component.getWidgetPane().revalidate();
+        } else {
+            if (member instanceof SwingScilabFrame) {
+                component.getWidgetPane().add((Component) member, JLayeredPane.FRAME_CONTENT_LAYER);
+            } else {
+                component.getWidgetPane().add((Component) member, JLayeredPane.DEFAULT_LAYER + 1);
+            }
+        }
+    }
+}
@@ -18,38 +18,15 @@ package org.scilab.modules.gui.bridge.tab;
 
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AUTORESIZE__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AXES_SIZE__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CALLBACK__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CHILDREN__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CLOSEREQUESTFCN__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_EVENTHANDLER_ENABLE__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_EVENTHANDLER_NAME__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ID__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_INFOBAR_VISIBLE__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_INFO_MESSAGE__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LAYOUT__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MENUBAR_VISIBLE__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_NAME__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_POSITION__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_RESIZE__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_SIZE__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TOOLBAR_VISIBLE__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TYPE__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UICHECKEDMENU__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UICHILDMENU__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UIMENU__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UIPARENTMENU__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_VISIBLE__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BORDER_OPT_PADDING__;
-
-import java.awt.BorderLayout;
+
 import java.awt.Color;
 import java.awt.Component;
 import java.awt.Container;
 import java.awt.Dimension;
 import java.awt.Graphics;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.GridLayout;
 import java.awt.Image;
 import java.awt.event.ComponentEvent;
 import java.awt.event.ComponentListener;
@@ -67,7 +44,6 @@ import java.util.ListIterator;
 import javax.swing.Action;
 import javax.swing.ImageIcon;
 import javax.swing.JLayeredPane;
-import javax.swing.JPanel;
 import javax.swing.JTextPane;
 import javax.swing.KeyStroke;
 import javax.swing.SwingUtilities;
@@ -84,10 +60,6 @@ import org.scilab.modules.action_binding.InterpreterManagement;
 import org.scilab.modules.commons.ScilabConstants;
 import org.scilab.modules.graphic_objects.figure.Figure;
 import org.scilab.modules.graphic_objects.graphicController.GraphicController;
-import org.scilab.modules.graphic_objects.graphicModel.GraphicModel;
-import org.scilab.modules.graphic_objects.uicontrol.Uicontrol;
-import org.scilab.modules.graphic_objects.utils.LayoutType;
-import org.scilab.modules.gui.SwingView;
 import org.scilab.modules.gui.SwingViewObject;
 import org.scilab.modules.gui.bridge.canvas.SwingScilabCanvas;
 import org.scilab.modules.gui.bridge.checkbox.SwingScilabCheckBox;
@@ -118,7 +90,6 @@ import org.scilab.modules.gui.editor.EditorEventListener;
 import org.scilab.modules.gui.events.GlobalEventWatcher;
 import org.scilab.modules.gui.events.ScilabEventListener;
 import org.scilab.modules.gui.events.callback.CommonCallBack;
-import org.scilab.modules.gui.events.callback.ScilabCloseCallBack;
 import org.scilab.modules.gui.frame.Frame;
 import org.scilab.modules.gui.helpbrowser.HelpBrowser;
 import org.scilab.modules.gui.label.Label;
@@ -142,7 +113,6 @@ import org.scilab.modules.gui.utils.SciHelpOnComponentAction;
 import org.scilab.modules.gui.utils.SciUndockingAction;
 import org.scilab.modules.gui.utils.ScilabSwingUtilities;
 import org.scilab.modules.gui.utils.Size;
-import org.scilab.modules.gui.utils.ToolBarBuilder;
 
 /**
  * Swing implementation for Scilab tabs in GUIs
@@ -153,9 +123,9 @@ import org.scilab.modules.gui.utils.ToolBarBuilder;
  * @author Jean-Baptiste SILVY
  */
 
-public class SwingScilabDockable extends View implements SimpleTab, FocusListener, KeyListener, SwingScilabPanel {
+public class SwingScilabDockablePanel extends View implements SimpleTab, FocusListener, KeyListener, SwingScilabPanel {
 
-    public static final String GRAPHICS_TOOLBAR_DESCRIPTOR = System.getenv("SCI") + "/modules/gui/etc/graphics_toolbar.xml";
+    
 
     private static final Image SCILAB_ICON = new ImageIcon(ScilabSwingUtilities.findIcon("scilab", "256x256")).getImage();
 
@@ -203,7 +173,7 @@ public class SwingScilabDockable extends View implements SimpleTab, FocusListene
      * @param name the name of the tab
      * @param uuid an uuid to identify the tab
      */
-    public SwingScilabDockable(String name, String uuid) {
+    public SwingScilabDockablePanel(String name, String uuid) {
         super(uuid, name, name);
         //This button is "overloaded" when we add a callback
         //this.addAction(DockingConstants.CLOSE_ACTION);
@@ -230,7 +200,7 @@ public class SwingScilabDockable extends View implements SimpleTab, FocusListene
      * @param name name of the tab
      * @param figureId id of the displayed figure
      */
-    public SwingScilabDockable(String name, int figureId) {
+    public SwingScilabDockablePanel(String name, int figureId) {
         super(name, name, name);
 
         // This button is "overloaded" when we add a callback
@@ -261,7 +231,7 @@ public class SwingScilabDockable extends View implements SimpleTab, FocusListene
      * Constructor
      * @param name the name of the tab (used to identify it)
      */
-    public SwingScilabDockable(String name) {
+    public SwingScilabDockablePanel(String name) {
         this(name, name);
     }
 
@@ -281,7 +251,7 @@ public class SwingScilabDockable extends View implements SimpleTab, FocusListene
         return helpID;
     }
 
-    public static void removeActions(SwingScilabDockable tab) {
+    public static void removeActions(SwingScilabDockablePanel tab) {
         tab.setActionBlocked(DockingConstants.CLOSE_ACTION, true);
         tab.setActionBlocked(UNDOCK, true);
         if (tab.getTitlebar() != null) {
@@ -289,13 +259,13 @@ public class SwingScilabDockable extends View implements SimpleTab, FocusListene
         }
     }
 
-    public static void addActions(SwingScilabDockable tab) {
+    public static void addActions(SwingScilabDockablePanel tab) {
         tab.setActionBlocked(DockingConstants.CLOSE_ACTION, false);
         tab.setActionBlocked(UNDOCK, false);
         tab.getTitlebar().revalidate();
     }
 
-    public SwingScilabDockable(String figureTitle, int figureId, final Figure figure) {
+    public SwingScilabDockablePanel(String figureTitle, int figureId, final Figure figure) {
         this(figureTitle, figureId);
         /* OpenGL context */
         SwingScilabCanvas canvas = new SwingScilabCanvas(figureId, figure);
@@ -312,7 +282,6 @@ public class SwingScilabDockable extends View implements SimpleTab, FocusListene
         uiContentPane = new JLayeredPane();
         uiContentPane.setOpaque(false);
         uiContentPane.setLayout(null);
-        uiContentPane.setSize(new Dimension(800, 800));
         layerdPane.add(uiContentPane, JLayeredPane.DEFAULT_LAYER + 1, 0);
 
         scrolling = new SwingScilabScrollPane(layerdPane, canvas, uiContentPane, figure);
@@ -369,7 +338,7 @@ public class SwingScilabDockable extends View implements SimpleTab, FocusListene
         });
 
         /* Manage closerequestfcn */
-        ClosingOperationsManager.registerClosingOperation(SwingScilabDockable.this, new ClosingOperationsManager.ClosingOperation() {
+        ClosingOperationsManager.registerClosingOperation(SwingScilabDockablePanel.this, new ClosingOperationsManager.ClosingOperation() {
 
             public int canClose() {
                 String closeRequestFcn = (String) GraphicController.getController().getProperty(getId(), __GO_CLOSEREQUESTFCN__);
@@ -389,12 +358,12 @@ public class SwingScilabDockable extends View implements SimpleTab, FocusListene
             public void destroy() {
             }
 
-            public String askForClosing(final List<SwingScilabDockable> list) {
+            public String askForClosing(final List<SwingScilabDockablePanel> list) {
                 return null;
             }
 
             @Override
-            public void updateDependencies(List<SwingScilabDockable> list, ListIterator<SwingScilabDockable> it) {
+            public void updateDependencies(List<SwingScilabDockablePanel> list, ListIterator<SwingScilabDockablePanel> it) {
 
             }
         });
@@ -412,7 +381,7 @@ public class SwingScilabDockable extends View implements SimpleTab, FocusListene
         } else if (getContentPane() != null) {
             getContentPane().requestFocus();
         } else {
-            SwingScilabDockable.this.requestFocusInWindow();
+            SwingScilabDockablePanel.this.requestFocusInWindow();
         }
     }
 
@@ -466,8 +435,8 @@ public class SwingScilabDockable extends View implements SimpleTab, FocusListene
         if (port.getDockables().size() > 1) {
             while (iter.hasNext()) {
                 Object d = iter.next();
-                if (d instanceof SwingScilabDockable) {
-                    SwingScilabDockable view = (SwingScilabDockable) d;
+                if (d instanceof SwingScilabDockablePanel) {
+                    SwingScilabDockablePanel view = (SwingScilabDockablePanel) d;
                     addActions(view);
                 }
             }
@@ -484,7 +453,7 @@ public class SwingScilabDockable extends View implements SimpleTab, FocusListene
                     if (getParentWindow() != null) {
                         setParentWindowId(getParentWindow().getId());
                     } else {
-                        System.err.println("No window for tab:" + SwingScilabDockable.this.getClass().getName() + " after docking complete");
+                        System.err.println("No window for tab:" + SwingScilabDockablePanel.this.getClass().getName() + " after docking complete");
                     }
                 }
             });
@@ -643,110 +612,7 @@ public class SwingScilabDockable extends View implements SimpleTab, FocusListene
      * @param member the member to add
      */
     public void addMember(SwingViewObject member) {
-        //member.get
-        Uicontrol uicontrol = (Uicontrol) GraphicModel.getModel().getObjectFromId(member.getId());
-
-        if (uiContentPane.getLayout() instanceof BorderLayout) {
-            switch (uicontrol.getBorderPositionAsEnum()) {
-                case SOUTH:
-                    uiContentPane.add((Component) member, BorderLayout.SOUTH);
-                    break;
-                case NORTH:
-                    uiContentPane.add((Component) member, BorderLayout.NORTH);
-                    break;
-                case WEST:
-                    uiContentPane.add((Component) member, BorderLayout.WEST);
-                    break;
-                case EAST:
-                    uiContentPane.add((Component) member, BorderLayout.EAST);
-                    break;
-                case CENTER:
-                    uiContentPane.add((Component) member, BorderLayout.CENTER);
-                    break;
-                default:
-                    break;
-            }
-        } else if (uiContentPane.getLayout() instanceof GridBagLayout) {
-            GridBagConstraints constraints = new GridBagConstraints();
-
-            // Grid
-            Integer[] grid = uicontrol.getGridBagGrid();
-            constraints.gridx = grid[0];
-            constraints.gridy = grid[1];
-            constraints.gridwidth = grid[2];
-            constraints.gridheight = grid[3];
-
-            // Weight
-            Double[] weight = uicontrol.getGridBagWeight();
-            constraints.weightx = weight[0];
-            constraints.weighty = weight[1];
-
-            // Anchor
-            switch (uicontrol.getGridBagAnchorAsEnum()) {
-                case LEFT :
-                    constraints.anchor = GridBagConstraints.EAST;
-                    break;
-                case UPPER :
-                    constraints.anchor = GridBagConstraints.NORTH;
-                    break;
-                case LOWER:
-                    constraints.anchor = GridBagConstraints.SOUTH;
-                    break;
-                case LOWER_LEFT:
-                    constraints.anchor = GridBagConstraints.SOUTHEAST;
-                    break;
-                case LOWER_RIGHT:
-                    constraints.anchor = GridBagConstraints.SOUTHWEST;
-                    break;
-                case RIGHT:
-                    constraints.anchor = GridBagConstraints.WEST;
-                    break;
-                case UPPER_LEFT:
-                    constraints.anchor = GridBagConstraints.NORTHEAST;
-                    break;
-                case UPPER_RIGHT:
-                    constraints.anchor = GridBagConstraints.NORTHWEST;
-                    break;
-                case CENTER :
-                default :
-                    constraints.anchor = GridBagConstraints.CENTER;
-                    break;
-            }
-
-            // Fill
-            switch (uicontrol.getGridBagFillAsEnum()) {
-                case BOTH :
-                    constraints.fill = GridBagConstraints.BOTH;
-                    break;
-                case HORIZONTAL:
-                    constraints.fill = GridBagConstraints.HORIZONTAL;
-                    break;
-                case VERTICAL:
-                    constraints.fill = GridBagConstraints.VERTICAL;
-                    break;
-                case NONE:
-                default:
-                    constraints.fill = GridBagConstraints.NONE;
-                    break;
-            }
-
-            // Insets
-            // TODO : add Insets
-
-            // Padding
-            Integer[] padding = uicontrol.getGridBagPadding();
-            constraints.ipadx = padding[0];
-            constraints.ipady = padding[1];
-
-            uiContentPane.add((Component) member, constraints);
-            uiContentPane.revalidate();
-        } else {
-            if (member instanceof SwingScilabFrame) {
-                uiContentPane.add((Component) member, JLayeredPane.FRAME_CONTENT_LAYER);
-            } else {
-                uiContentPane.add((Component) member, JLayeredPane.DEFAULT_LAYER + 1);
-            }
-        }
+        SwingScilabCommonPanel.addMember(this, member);
     }
 
     /**
@@ -1557,167 +1423,7 @@ public class SwingScilabDockable extends View implements SimpleTab, FocusListene
      * @see org.scilab.modules.gui.SwingViewObject#update(java.lang.String, java.lang.Object)
      */
     public void update(int property, Object value) {
-        String name;
-        Integer figureId;
-        switch (property) {
-            case  __GO_NAME__ :
-                name = ((String) value);
-                figureId = (Integer) GraphicController.getController().getProperty(getId(), __GO_ID__);
-                updateTitle(name, figureId);
-                break;
-            case __GO_ID__ :
-                /* Update title */
-                figureId = ((Integer) value);
-                name = (String) GraphicController.getController().getProperty(getId(), __GO_NAME__);
-                updateTitle(name, figureId);
-
-                /** Update tool bar */
-                setToolBar(ToolBarBuilder.buildToolBar(GRAPHICS_TOOLBAR_DESCRIPTOR, figureId));
-                SwingScilabWindow parentWindow = SwingScilabWindow.allScilabWindows.get(getParentWindowId());
-
-                /* Update callback */
-                String closingCommand =
-                    "if (get_figure_handle(" + figureId + ") <> []) then"
-                    +      "  if (get(get_figure_handle(" + figureId + "), 'event_handler_enable') == 'on') then"
-                    +      "    execstr(get(get_figure_handle(" + figureId + "), 'event_handler')+'(" + figureId + ", -1, -1, -1000)', 'errcatch', 'm');"
-                    +      "  end;"
-                    +      "  delete(get_figure_handle(" + figureId + "));"
-                    +      "end;";
-                setCallback(null);
-                setCallback(ScilabCloseCallBack.create(getId(), closingCommand));
-                /* Update menus callback */
-                Integer[] children = (Integer[]) GraphicController.getController().getProperty(getId(), __GO_CHILDREN__);
-                updateChildrenCallbacks(children, figureId);
-                break;
-            case __GO_SIZE__ :
-                Integer[] size = (Integer[]) value;
-                SwingScilabWindow figure = SwingScilabWindow.allScilabWindows.get(parentWindowId);
-                Size oldFigureSize = figure.getDims();
-                figure.setDims(new Size(size[0], size[1]));
-                int deltaFigureX = size[0] - oldFigureSize.getWidth();
-                int deltaFigureY = size[1] - oldFigureSize.getHeight();
-                if ( oldFigureSize.getWidth() != 0 && oldFigureSize.getHeight() != 0
-                        && ((oldFigureSize.getWidth() != size[0]) || (oldFigureSize.getHeight() != size[1]))
-                        && ((Boolean) GraphicController.getController().getProperty(getId(), __GO_AUTORESIZE__))
-                   ) {
-                    Integer[] axesSize = (Integer[]) GraphicController.getController().getProperty(getId(), __GO_AXES_SIZE__);
-                    Integer[] newAxesSize = {axesSize[0] + deltaFigureX, axesSize[1] + deltaFigureY};
-                    GraphicController.getController().setProperty(getId(), __GO_AXES_SIZE__, newAxesSize);
-                }
-                break;
-            case __GO_POSITION__ :
-                Integer[] position = (Integer[]) value;
-                SwingScilabWindow.allScilabWindows.get(parentWindowId).setPosition(new Position(position[0], position[1]));
-                break;
-            case __GO_AXES_SIZE__ :
-                Integer[] axesSize = (Integer[]) value;
-                Dimension oldAxesSize = getContentPane().getSize();
-                if ( oldAxesSize.getWidth() != 0 && oldAxesSize.getHeight() != 0
-                        && ((oldAxesSize.getWidth() != axesSize[0]) || (oldAxesSize.getHeight() != axesSize[1]))
-                        && ((Boolean) GraphicController.getController().getProperty(getId(), __GO_AUTORESIZE__))
-                   ) {
-                    // TODO manage tabs when there are docked (do not change the window size if more than one tab docked)
-                    int deltaX = axesSize[0] - (int) oldAxesSize.getWidth();
-                    int deltaY = axesSize[1] - (int) oldAxesSize.getHeight();
-                    Size parentWindowSize = SwingScilabWindow.allScilabWindows.get(parentWindowId).getDims();
-                    SwingScilabWindow.allScilabWindows.get(parentWindowId).setDims(
-                        new Size(parentWindowSize.getWidth() + deltaX, parentWindowSize.getHeight() + deltaY));
-                    Integer figureSize[] = {parentWindowSize.getWidth() + deltaX, parentWindowSize.getHeight() + deltaY};
-                    GraphicController.getController().setProperty(getId(), __GO_SIZE__, figureSize);
-                }
-                break;
-            case __GO_INFO_MESSAGE__ :
-                if (getInfoBar() != null) {
-                    getInfoBar().setText((String) value);
-                }
-                break;
-            case __GO_EVENTHANDLER_ENABLE__ :
-                Boolean enabled = (Boolean) GraphicController.getController().getProperty(getId(), __GO_EVENTHANDLER_ENABLE__);
-                setEventHandlerEnabled(enabled);
-                break;
-            case __GO_EVENTHANDLER_NAME__ :
-                String eventHandlerName = (String) GraphicController.getController().getProperty(getId(), __GO_EVENTHANDLER_NAME__);
-                setEventHandler(eventHandlerName);
-                break;
-            case __GO_VISIBLE__ :
-                layerdPane.setVisible((Boolean) value);
-                break;
-            case __GO_INFOBAR_VISIBLE__ :
-                getInfoBar().setVisible((Boolean) value);
-                break;
-            case __GO_TOOLBAR_VISIBLE__ :
-                getToolBar().setVisible((Boolean) value);
-                break;
-            case __GO_MENUBAR_VISIBLE__ :
-                getMenuBar().setVisible((Boolean) value);
-                break;
-            case __GO_RESIZE__ :
-                getParentWindow().setResizable((Boolean) value);
-                break;
-            case __GO_LAYOUT__ :
-                LayoutType newLayout = LayoutType.intToEnum((Integer) value);
-                switch (newLayout) {
-                    case BORDER :
-                        Integer[] padding = (Integer[]) GraphicController.getController().getProperty(getId(), __GO_BORDER_OPT_PADDING__);
-                        uiContentPane.setLayout(new BorderLayout(padding[0], padding[1]));
-                        uiContentPane.setLayout(new BorderLayout());
-                        break;
-                    case GRIDBAG :
-                        uiContentPane.setLayout(new GridBagLayout());
-                        break;
-                    case GRID :
-                        uiContentPane.setLayout(new GridLayout());
-                        break;
-                    case NONE :
-                    default:
-                        uiContentPane.setLayout(null);
-                        break;
-                }
-                break;
-        }
-    }
-
-    /**
-     * Update the menus callbacks when they are linked to the figure ID
-     * @param children the children UID
-     * @param parentFigureId the figure ID
-     */
-    private void updateChildrenCallbacks(Integer[] children, int parentFigureId) {
-        for (int kChild = 0; kChild < children.length; kChild++) {
-            Integer childType = (Integer) GraphicController.getController().getProperty(children[kChild], __GO_TYPE__);
-            if (childType != null && (
-                        childType == __GO_UIMENU__
-                        || childType == __GO_UIPARENTMENU__
-                        || childType == __GO_UICHILDMENU__
-                        || childType == __GO_UICHECKEDMENU__)) {
-                String cb = (String) GraphicController.getController().getProperty(children[kChild], __GO_CALLBACK__);
-                SwingView.getFromId(children[kChild]).update(__GO_CALLBACK__, replaceFigureID(cb, parentFigureId));
-                Integer[] menuChildren = (Integer[]) GraphicController.getController().getProperty(children[kChild], __GO_CHILDREN__);
-                updateChildrenCallbacks(menuChildren, parentFigureId);
-            }
-        }
-    }
-
-    /**
-     * Replace pattern [SCILAB_FIGURE_ID] by the figure index
-     * @param initialString string read in XML file
-     * @param parentFigureId the figure ID
-     * @return callback string
-     */
-    private String replaceFigureID(String initialString, Integer parentFigureId) {
-        return initialString.replaceAll("\\[SCILAB_FIGURE_ID\\]", Integer.toString(parentFigureId));
-    }
-
-    /**
-     * Update the title of the Tab
-     * @param figureName figure_name property
-     * @param figureId figure_id property
-     */
-    private void updateTitle(String figureName, Integer figureId) {
-        if ((figureName != null) && (figureId != null)) {
-            String figureTitle = figureName.replaceFirst("%d", figureId.toString());
-            setName(figureTitle);
-        }
+        SwingScilabCommonPanel.update(this, property, value);
     }
 
     /**
@@ -1775,4 +1481,8 @@ public class SwingScilabDockable extends View implements SimpleTab, FocusListene
             input.dispatchEvent(new KeyEvent(input, KeyEvent.KEY_TYPED, System.currentTimeMillis(), e.getModifiers(), e.getKeyCode(), e.getKeyChar(), e.getKeyLocation()));
         }
     }
+    
+    public JLayeredPane getWidgetPane() {
+        return uiContentPane;
+    }
 }
index 9897434..05db64d 100644 (file)
 
 package org.scilab.modules.gui.bridge.tab;
 
+import java.awt.Container;
+
+import javax.swing.JLayeredPane;
+
+import org.scilab.modules.gui.SwingViewObject;
+import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
+import org.scilab.modules.gui.events.callback.CommonCallBack;
 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.SwingViewObject;
 
 public interface SwingScilabPanel extends SwingViewObject {
     
@@ -31,8 +37,18 @@ public interface SwingScilabPanel extends SwingViewObject {
     public void setEventHandlerEnabled(boolean enabled);
     
     public void setParentWindowId(String parentWindowId);
+    public String getParentWindowId();
+    
+    public SwingScilabWindow getParentWindow();
+    public Container getContentPane();
+    public JLayeredPane getWidgetPane();
+    
     public void setVisible(boolean isVisible);
     public void setWindowIcon(String windowIcon);
     public void addMember(SwingViewObject member);
     public void revalidate();
+    
+    public void setCallback(CommonCallBack callback);
+    
+    public void close();
 }
index d38e728..0f6cac4 100644 (file)
@@ -24,7 +24,6 @@ import java.awt.Dimension;
 import java.awt.Point;
 import java.awt.Rectangle;
 
-import javax.swing.JPanel;
 import javax.swing.JScrollPane;
 import javax.swing.ScrollPaneConstants;
 
@@ -59,7 +58,9 @@ public class SwingScilabScrollPane extends JScrollPane implements ScilabScrollPa
         this.figure = figure;
         this.uiContent = uiContentPane;
         // use the axes background as default one
-        setRealBackground(canvas.getBackground());
+        if (canvas != null) {
+            setRealBackground(canvas.getBackground());
+        }
         GraphicController.getController().register(this);
 
         if (figure.getAutoResize()) {
@@ -145,11 +146,15 @@ public class SwingScilabScrollPane extends JScrollPane implements ScilabScrollPa
                 comp.setSize(d);
                 uiContent.setSize(d);
                 uiContent.setPreferredSize(d);
-                canvas.setBounds(0, 0, figure.getAxesSize()[0], figure.getAxesSize()[1]);
+                if (canvas != null) {
+                    canvas.setBounds(0, 0, figure.getAxesSize()[0], figure.getAxesSize()[1]);
+                }
             }
 
             if (property == __GO_BACKGROUND__) {
-                canvas.setBackground(ColorFactory.createColor(figure.getColorMap(), figure.getBackground()));
+                if (canvas != null) {
+                    canvas.setBackground(ColorFactory.createColor(figure.getColorMap(), figure.getBackground()));
+                }
             }
         }
 
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/SwingScilabStaticPanel.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/SwingScilabStaticPanel.java
new file mode 100644 (file)
index 0000000..e2a5a8f
--- /dev/null
@@ -0,0 +1,182 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+package org.scilab.modules.gui.bridge.tab;
+
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AUTORESIZE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_AXES_SIZE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_BORDER_OPT_PADDING__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CHILDREN__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_EVENTHANDLER_ENABLE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_EVENTHANDLER_NAME__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_ID__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_INFOBAR_VISIBLE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_INFO_MESSAGE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_LAYOUT__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MENUBAR_VISIBLE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_NAME__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_POSITION__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_RESIZE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_SIZE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TOOLBAR_VISIBLE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_VISIBLE__;
+
+import java.awt.BorderLayout;
+import java.awt.Component;
+import java.awt.Container;
+import java.awt.Dimension;
+import java.awt.GridBagLayout;
+import java.awt.GridLayout;
+
+import javax.swing.JLayeredPane;
+import javax.swing.JPanel;
+import javax.swing.SwingUtilities;
+
+import org.scilab.modules.graphic_objects.figure.Figure;
+import org.scilab.modules.graphic_objects.graphicController.GraphicController;
+import org.scilab.modules.graphic_objects.utils.LayoutType;
+import org.scilab.modules.gui.SwingViewObject;
+import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
+import org.scilab.modules.gui.events.callback.CommonCallBack;
+import org.scilab.modules.gui.events.callback.ScilabCloseCallBack;
+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.utils.Position;
+import org.scilab.modules.gui.utils.Size;
+import org.scilab.modules.gui.utils.ToolBarBuilder;
+
+public class SwingScilabStaticPanel extends JPanel implements SwingScilabPanel {
+
+    private Integer id;
+    private TextBox infoBar;
+    private MenuBar menuBar;
+    private ToolBar toolBar;
+    private String eventHandler;
+    private boolean eventHandlerEnabled;
+    private String parentWindowId;
+    private String windowIcon;
+    
+    private JLayeredPane uiContentPane;
+    private JLayeredPane layerdPane;
+
+    /** Scroll the axes */
+    private SwingScilabScrollPane scrolling;
+    
+    public SwingScilabStaticPanel(String figureTitle, Integer figureId, Figure figure) {
+        super();
+        setId(figureId);
+        setVisible(true);
+        setLayout(new BorderLayout());
+        
+        //layerdPane = new JLayeredPane();
+        //layerdPane.setLayout(null);
+        //layerdPane.add(canvas, JLayeredPane.FRAME_CONTENT_LAYER);
+        uiContentPane = new JLayeredPane();
+        uiContentPane.setOpaque(false);
+        uiContentPane.setLayout(null);
+        add(uiContentPane, BorderLayout.CENTER);
+
+        //scrolling = new SwingScilabScrollPane(layerdPane, null, uiContentPane, figure);
+        //add(scrolling, BorderLayout.CENTER);
+        //scrolling.setSize(500, 500);
+        //add(uiContentPane);
+        //layerdPane.setVisible(true);
+        //scrolling.setVisible(true);
+        uiContentPane.setVisible(true);
+        //setSize(500, 500);
+        //setPreferredSize(new Dimension(500, 500));
+        setVisible(true);
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void update(int property, Object value) {
+        SwingScilabCommonPanel.update(this, property, value);
+    }
+
+    public TextBox getInfoBar() {
+        return infoBar;
+    }
+
+    public void setInfoBar(TextBox infoBar) {
+        this.infoBar = infoBar;
+    }
+
+    public MenuBar getMenuBar() {
+        return menuBar;
+    }
+
+    public void setMenuBar(MenuBar menuBar) {
+        this.menuBar = menuBar;
+    }
+
+    public ToolBar getToolBar() {
+        return toolBar;
+    }
+
+    public void setToolBar(ToolBar toolBar) {
+        this.toolBar = toolBar;
+    }
+
+    public void setEventHandler(String eventHandler) {
+        this.eventHandler = eventHandler;
+    }
+
+    public void setEventHandlerEnabled(boolean enabled) {
+        this.eventHandlerEnabled = enabled;
+    }
+
+    public void setParentWindowId(String parentWindowId) {
+        this.parentWindowId = parentWindowId;
+    }
+
+    public void setWindowIcon(String windowIcon) {
+        this.windowIcon = windowIcon;
+    }
+
+    public void addMember(SwingViewObject member) {
+        SwingScilabCommonPanel.addMember(this, member);
+    }
+
+    public String getParentWindowId() {
+        return parentWindowId;
+    }
+
+    public SwingScilabWindow getParentWindow() {
+        return (SwingScilabWindow) SwingUtilities.getAncestorOfClass(SwingScilabWindow.class, this);
+    }
+
+
+    public JLayeredPane getWidgetPane() {
+        return uiContentPane;
+    }
+
+    public void setCallback(CommonCallBack callback) {
+        // TODO Auto-generated method stub
+        
+    }
+
+    public Container getContentPane() {
+        return this;
+    }
+    
+    public void close() {
+    }
+    
+}
index a34634d..f75e8f6 100644 (file)
@@ -28,7 +28,7 @@ import javax.swing.tree.DefaultTreeModel;
 import javax.swing.tree.TreePath;
 
 import org.scilab.modules.graphic_objects.graphicObject.CallBack;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
 import org.scilab.modules.gui.events.callback.CommonCallBack;
 import org.scilab.modules.gui.menubar.MenuBar;
@@ -187,8 +187,8 @@ public class SwingScilabTree extends DefaultMutableTreeNode implements SimpleTre
         // Scilab tree
         SwingScilabTree swingScilabTree = new SwingScilabTree(tree);
 
-        SwingScilabWindow window = new SwingScilabWindow();
-        final SwingScilabDockable tab = new SwingScilabDockable(Messages.gettext("Tree Overview"));
+        SwingScilabWindow window = SwingScilabWindow.createWindow(true);
+        final SwingScilabDockablePanel tab = new SwingScilabDockablePanel(Messages.gettext("Tree Overview"));
         tab.setCallback(new CommonCallBack("", CallBack.UNTYPED) {
             private static final long serialVersionUID = 8418506008885202932L;
 
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/window/SwingScilabDockingWindow.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/window/SwingScilabDockingWindow.java
new file mode 100644 (file)
index 0000000..eeb35e4
--- /dev/null
@@ -0,0 +1,139 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+package org.scilab.modules.gui.bridge.window;
+
+import java.util.Iterator;
+import java.util.Set;
+
+import org.flexdock.docking.Dockable;
+import org.flexdock.docking.DockingManager;
+import org.flexdock.docking.DockingPort;
+import org.flexdock.docking.activation.ActiveDockableTracker;
+import org.flexdock.docking.defaults.DefaultDockingPort;
+import org.flexdock.docking.defaults.DefaultDockingStrategy;
+import org.flexdock.docking.drag.effects.EffectsManager;
+import org.flexdock.docking.drag.preview.GhostPreview;
+import org.flexdock.docking.event.hierarchy.DockingPortTracker;
+import org.scilab.modules.gui.bridge.menubar.SwingScilabMenuBar;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
+import org.scilab.modules.gui.bridge.tab.SwingScilabPanel;
+import org.scilab.modules.gui.bridge.toolbar.SwingScilabToolBar;
+import org.scilab.modules.gui.utils.SciDockingListener;
+
+public class SwingScilabDockingWindow extends SwingScilabWindow {
+
+    static {
+        DefaultDockingStrategy.setDefaultResizeWeight(0.5);
+        DefaultDockingStrategy.keepConstantPercentage(true);
+    }
+
+    private DefaultDockingPort sciDockingPort;
+    private SciDockingListener sciDockingListener;
+    
+    public SwingScilabDockingWindow() {
+        super();
+        /* Create automatically a docking port associated to the window */
+        sciDockingPort = new DefaultDockingPort();
+
+        EffectsManager.setPreview(new GhostPreview());
+
+        /* The docking port is the center of the Layout of the Window */
+        super.add(sciDockingPort, java.awt.BorderLayout.CENTER);
+        sciDockingListener = new SciDockingListener();
+        sciDockingPort.addDockingListener(sciDockingListener);
+        sciDockingListener.setAssociatedWindowId(windowUID);
+    }
+
+    /**
+     * Gets the docking port associated to the window (created by default at window creation)
+     * @return the docking port associated to the window
+     */
+    public DockingPort getDockingPort() {
+        //return (DockingPort) centerFrame.getContentPane();
+        return sciDockingPort;
+    }
+    
+    /**
+     * Add a Scilab tab to a Scilab window
+     * @param newTab the Scilab tab to add to the Scilab window
+     * @see org.scilab.modules.gui.window.Window#addTab(org.scilab.modules.gui.tab.Tab)
+     */
+    public void addTab(SwingScilabPanel newTab) {
+        SwingScilabDockablePanel tab = (SwingScilabDockablePanel) newTab;
+        tab.setParentWindowId(this.windowUID);
+        DockingManager.dock(tab, this.getDockingPort());
+        ActiveDockableTracker.requestDockableActivation(tab);
+    }
+
+    /**
+     * Remove a Scilab tab from a Scilab window
+     * @param tabs the Scilab tabs to remove from the Scilab window
+     * @see org.scilab.modules.gui.window.Window#removeTab(org.scilab.modules.gui.tab.Tab)
+     */
+    public void removeTabs(SwingScilabPanel[] tabs) {
+        for (SwingScilabDockablePanel tab : (SwingScilabDockablePanel[]) tabs) {
+            DockingManager.unregisterDockable((Dockable) tab);
+            tab.close();
+            DockingManager.close(tab);
+        }
+
+        if (getDockingPort() == null || getDockingPort().getDockables().isEmpty()) {
+            // remove xxxBars
+            if (toolBar != null) {
+                ((SwingScilabToolBar) toolBar).close();
+            }
+            if (menuBar != null) {
+                ((SwingScilabMenuBar) menuBar).close();
+            }
+
+            // clean all
+            this.removeAll();
+            close();
+        } else {
+            /* Make sur a Tab is active */
+            Set<SwingScilabDockablePanel> docks = sciDockingPort.getDockables();
+            Iterator<SwingScilabDockablePanel> it = docks.iterator();
+            ActiveDockableTracker.requestDockableActivation(it.next());
+        }
+    }
+    
+    /**
+     * @return number of objects (tabs) docked in this window
+     */
+    @Override
+    public int getNbDockedObjects() {
+        return sciDockingPort.getDockables().size();
+    }
+    
+    /**
+     * Close the window
+     * @see org.scilab.modules.gui.window.SimpleWindow#close()
+     */
+    @Override
+    public void close() {
+        try {
+            dispose();
+            // disable docking port
+            ActiveDockableTracker.getTracker(this).setActive(null);
+            if (sciDockingPort != null) {
+                sciDockingPort.removeDockingListener(sciDockingListener);
+                sciDockingPort = null;
+                sciDockingListener = null;
+            }
+            DockingPortTracker.remove(this);
+        } catch (IllegalStateException e) {
+            enableInputMethods(false);
+        }
+        allScilabWindows.remove(windowUID);
+    }
+}
diff --git a/scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/window/SwingScilabStaticWindow.java b/scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/window/SwingScilabStaticWindow.java
new file mode 100644 (file)
index 0000000..dcd97c2
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Bruno JOFRET
+ *
+ * This file must be used under the terms of the CeCILL.
+ * This source file is licensed as described in the file COPYING, which
+ * you should have received as part of this distribution.  The terms
+ * are also available at
+ * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+ *
+ */
+
+package org.scilab.modules.gui.bridge.window;
+
+import java.awt.BorderLayout;
+import java.awt.Component;
+
+import org.flexdock.docking.DockingPort;
+import org.scilab.modules.gui.bridge.tab.SwingScilabPanel;
+
+public class SwingScilabStaticWindow extends SwingScilabWindow {
+
+    public SwingScilabStaticWindow() {
+        super();
+        setLayout(new BorderLayout());        
+    }
+    
+    /**
+     * @return number of objects (tabs) docked in this window
+     */
+    @Override
+    public int getNbDockedObjects() {
+        return 1;
+    }
+    
+    /**
+     * Close the window
+     * @see org.scilab.modules.gui.window.SimpleWindow#close()
+     */
+    @Override
+    public void close() {
+        try {
+            setVisible(false);
+            dispose();
+        } catch (IllegalStateException e) {
+            enableInputMethods(false);
+        }
+        allScilabWindows.remove(windowUID);
+    }
+
+    public DockingPort getDockingPort() {
+        return null;
+    }
+
+    public void addTab(SwingScilabPanel tab) {
+        add((Component) tab, BorderLayout.CENTER);
+    }
+
+    public void removeTabs(SwingScilabPanel[] tabs) {
+        removeAll();
+    }
+}
index e139419..3995709 100644 (file)
 
 package org.scilab.modules.gui.bridge.window;
 
-import org.flexdock.docking.Dockable;
-import org.flexdock.docking.DockingManager;
+import java.awt.Dimension;
+import java.awt.Frame;
+import java.awt.Point;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ComponentAdapter;
+import java.awt.event.ComponentEvent;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.lang.reflect.InvocationTargetException;
+import java.rmi.server.UID;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import javax.swing.ImageIcon;
+import javax.swing.JComponent;
+import javax.swing.JFrame;
+import javax.swing.SwingUtilities;
+import javax.swing.WindowConstants;
+
 import org.flexdock.docking.DockingPort;
-import org.flexdock.docking.activation.ActiveDockableTracker;
-import org.flexdock.docking.defaults.DefaultDockingPort;
-import org.flexdock.docking.defaults.DefaultDockingStrategy;
-import org.flexdock.docking.drag.effects.EffectsManager;
-import org.flexdock.docking.drag.preview.GhostPreview;
-import org.flexdock.docking.event.hierarchy.DockingPortTracker;
 import org.scilab.modules.action_binding.InterpreterManagement;
 import org.scilab.modules.commons.gui.ScilabKeyStroke;
 import org.scilab.modules.gui.bridge.menubar.SwingScilabMenuBar;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
+import org.scilab.modules.gui.bridge.tab.SwingScilabPanel;
 import org.scilab.modules.gui.bridge.textbox.SwingScilabTextBox;
 import org.scilab.modules.gui.bridge.toolbar.SwingScilabToolBar;
 import org.scilab.modules.gui.menubar.MenuBar;
@@ -40,34 +55,10 @@ import org.scilab.modules.gui.toolbar.SimpleToolBar;
 import org.scilab.modules.gui.toolbar.ToolBar;
 import org.scilab.modules.gui.utils.ClosingOperationsManager;
 import org.scilab.modules.gui.utils.Position;
-import org.scilab.modules.gui.utils.SciDockingListener;
 import org.scilab.modules.gui.utils.ScilabSwingUtilities;
 import org.scilab.modules.gui.utils.Size;
 import org.scilab.modules.gui.window.SimpleWindow;
 
-import javax.swing.ImageIcon;
-import javax.swing.JComponent;
-import javax.swing.JFrame;
-import javax.swing.SwingUtilities;
-import javax.swing.WindowConstants;
-import java.awt.Dimension;
-import java.awt.Frame;
-import java.awt.Point;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.ComponentAdapter;
-import java.awt.event.ComponentEvent;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.lang.reflect.InvocationTargetException;
-import java.rmi.server.UID;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.UUID;
-
 /**
  * Swing implementation for Scilab windows in GUIs
  * This implementation uses FlexDock package
@@ -77,7 +68,7 @@ import java.util.UUID;
  * @author Sylvestre LEDRU (Mac OS X port)
 
  */
-public class SwingScilabWindow extends JFrame implements SimpleWindow {
+public abstract class SwingScilabWindow extends JFrame implements SimpleWindow {
 
     private static final long serialVersionUID = -5661926417765805660L;
 
@@ -86,32 +77,21 @@ public class SwingScilabWindow extends JFrame implements SimpleWindow {
 
     public static Map<String, SwingScilabWindow> allScilabWindows = Collections.synchronizedMap(new HashMap<String, SwingScilabWindow>());
 
-    static {
-        DefaultDockingStrategy.setDefaultResizeWeight(0.5);
-        DefaultDockingStrategy.keepConstantPercentage(true);
-    }
-
-    private DefaultDockingPort sciDockingPort;
-    private SciDockingListener sciDockingListener;
-    private SimpleMenuBar menuBar;
-    private SimpleToolBar toolBar;
-    private SimpleTextBox infoBar;
+    protected SimpleMenuBar menuBar;
+    protected SimpleToolBar toolBar;
+    protected SimpleTextBox infoBar;
     private String uuid;
     private int elementId; // the id of the Window which contains this SimpleWindow
-    private String windowUID;
+    protected String windowUID;
     private final boolean MAC_OS_X = (System.getProperty("os.name").toLowerCase().startsWith("mac os x"));
     private Dimension lastDimension;
     private Point lastPosition;
     private boolean isRestoring;
-
-    public SwingScilabWindow() {
-        this(true);
-    }
     
     /**
      * Constructor
      */
-    public SwingScilabWindow(boolean enableDocking) {
+    public SwingScilabWindow() {
         super();
         this.uuid = UUID.randomUUID().toString();
         setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
@@ -135,21 +115,6 @@ public class SwingScilabWindow extends JFrame implements SimpleWindow {
         windowUID = new UID().toString();
         allScilabWindows.put(windowUID, this);
 
-        if (enableDocking) {
-            /* Create automatically a docking port associated to the window */
-            sciDockingPort = new DefaultDockingPort();
-
-            EffectsManager.setPreview(new GhostPreview());
-
-            /* The docking port is the center of the Layout of the Window */
-            super.add(sciDockingPort, java.awt.BorderLayout.CENTER);
-            sciDockingListener = new SciDockingListener();
-            sciDockingPort.addDockingListener(sciDockingListener);
-            sciDockingListener.setAssociatedWindowId(windowUID);
-        } else {
-            sciDockingPort = null;
-        }
-
         /* there is no menuBar, no toolBar and no infoBar at creation */
         this.menuBar = null;
         this.toolBar = null;
@@ -291,8 +256,11 @@ public class SwingScilabWindow extends JFrame implements SimpleWindow {
      * Creates a swing Scilab window
      * @return the created window
      */
-    public static SimpleWindow createWindow() {
-        return new SwingScilabWindow();
+    public static SwingScilabWindow createWindow(boolean isDockingPort) {
+        if (isDockingPort) {
+            return new SwingScilabDockingWindow();
+        }
+        return new SwingScilabStaticWindow();
     }
 
     /**
@@ -433,64 +401,28 @@ public class SwingScilabWindow extends JFrame implements SimpleWindow {
      * Gets the docking port associated to the window (created by default at window creation)
      * @return the docking port associated to the window
      */
-    public DockingPort getDockingPort() {
-        //return (DockingPort) centerFrame.getContentPane();
-        return sciDockingPort;
-    }
+    public abstract DockingPort getDockingPort();
 
     /**
      * Add a Scilab tab to a Scilab window
      * @param newTab the Scilab tab to add to the Scilab window
      * @see org.scilab.modules.gui.window.Window#addTab(org.scilab.modules.gui.tab.Tab)
      */
-    @Override
-    public void addTab(SimpleTab newTab) {
-        SwingScilabDockable tab = (SwingScilabDockable) newTab;
-        tab.setParentWindowId(this.windowUID);
-        DockingManager.dock(tab, this.getDockingPort());
-        ActiveDockableTracker.requestDockableActivation(tab);
-    }
+    public abstract void addTab(SwingScilabPanel newTab);
 
     /**
      * Remove a Scilab tab from a Scilab window
      * @param tabs the Scilab tabs to remove from the Scilab window
      * @see org.scilab.modules.gui.window.Window#removeTab(org.scilab.modules.gui.tab.Tab)
      */
-    public void removeTabs(SwingScilabDockable[] tabs) {
-        for (SwingScilabDockable tab : tabs) {
-            DockingManager.unregisterDockable((Dockable) tab);
-            tab.close();
-            DockingManager.close(tab);
-        }
-
-        if (getDockingPort() == null || getDockingPort().getDockables().isEmpty()) {
-            // remove xxxBars
-            if (toolBar != null) {
-                ((SwingScilabToolBar) toolBar).close();
-            }
-            if (menuBar != null) {
-                ((SwingScilabMenuBar) menuBar).close();
-            }
-
-            // clean all
-            this.removeAll();
-            close();
-        } else {
-            /* Make sur a Tab is active */
-            Set<SwingScilabDockable> docks = sciDockingPort.getDockables();
-            Iterator<SwingScilabDockable> it = docks.iterator();
-            ActiveDockableTracker.requestDockableActivation(it.next());
-        }
-    }
-
+    public abstract void removeTabs(SwingScilabPanel[] tabs);
     /**
      * Remove a Scilab tab from a Scilab window
      * @param tab the Scilab tab to remove from the Scilab window
      * @see org.scilab.modules.gui.window.Window#removeTab(org.scilab.modules.gui.tab.Tab)
      */
-    @Override
     public void removeTab(SimpleTab tab) {
-        removeTabs(new SwingScilabDockable[] {(SwingScilabDockable) tab});
+        removeTabs(new SwingScilabDockablePanel[] {(SwingScilabDockablePanel) tab});
     }
 
     /**
@@ -630,30 +562,13 @@ public class SwingScilabWindow extends JFrame implements SimpleWindow {
      * @see org.scilab.modules.gui.window.SimpleWindow#close()
      */
     @Override
-    public void close() {
-        try {
-            dispose();
-            // disable docking port
-            ActiveDockableTracker.getTracker(this).setActive(null);
-            if (sciDockingPort != null) {
-                sciDockingPort.removeDockingListener(sciDockingListener);
-                sciDockingPort = null;
-                sciDockingListener = null;
-            }
-            DockingPortTracker.remove(this);
-        } catch (IllegalStateException e) {
-            enableInputMethods(false);
-        }
-        allScilabWindows.remove(windowUID);
-    }
+    public abstract void close();
 
     /**
      * @return number of objects (tabs) docked in this window
      */
     @Override
-    public int getNbDockedObjects() {
-        return sciDockingPort.getDockables().size();
-    }
+    public abstract int getNbDockedObjects();
 
     /**
      * Update the dimension of the window and its component.
index 43963b7..7b4a8f7 100644 (file)
@@ -12,7 +12,7 @@
 package org.scilab.modules.gui.ged;
 
 import javax.swing.SwingUtilities;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
 import org.scilab.modules.gui.textbox.ScilabTextBox;
 import org.scilab.modules.gui.textbox.TextBox;
@@ -116,7 +116,7 @@ public class Inspector {
      * Close Inspector
      */
     public void close() {
-        ClosingOperationsManager.startClosingOperationWithoutSave((SwingScilabDockable) inspectorTab);
+        ClosingOperationsManager.startClosingOperationWithoutSave((SwingScilabDockablePanel) inspectorTab);
         gedView.close();
     }
 
index 7837b43..74b7bdf 100644 (file)
@@ -14,7 +14,7 @@ package org.scilab.modules.gui.ged;
 import java.util.List;
 import java.util.ListIterator;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.tabfactory.ScilabTabFactory;
 import org.scilab.modules.gui.utils.ClosingOperationsManager;
 
@@ -25,8 +25,8 @@ import org.scilab.modules.gui.utils.ClosingOperationsManager;
 */
 public class InspectorTab {
 
-    public static SwingScilabDockable getInspectorInstance(Integer objectID) {
-        final SwingScilabDockable inspector = Inspector.createInspectorTab(objectID);
+    public static SwingScilabDockablePanel getInspectorInstance(Integer objectID) {
+        final SwingScilabDockablePanel inspector = Inspector.createInspectorTab(objectID);
         ScilabTabFactory.getInstance().addToCache(inspector);
 
         ClosingOperationsManager.registerClosingOperation(inspector,
@@ -43,13 +43,13 @@ public class InspectorTab {
             }
 
             //@Override
-            public String askForClosing(final List<SwingScilabDockable> list) {
+            public String askForClosing(final List<SwingScilabDockablePanel> list) {
                 return null;
             }
 
             //@Override
-            public void updateDependencies(List<SwingScilabDockable> list,
-            ListIterator<SwingScilabDockable> it) {
+            public void updateDependencies(List<SwingScilabDockablePanel> list,
+            ListIterator<SwingScilabDockablePanel> it) {
             }
         });
 
index b21fdd1..5fbf6df 100644 (file)
@@ -18,7 +18,7 @@ import javax.swing.ScrollPaneConstants;
 
 import org.scilab.modules.gui.ged.actions.CloseAction;
 import org.scilab.modules.gui.ged.actions.ShowHide;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.menu.Menu;
 import org.scilab.modules.gui.menu.ScilabMenu;
 import org.scilab.modules.gui.menubar.MenuBar;
@@ -33,7 +33,7 @@ import org.scilab.modules.gui.utils.WindowsConfigurationManager;
  *
  * @author Marcos CARDINOT <mcardinot@gmail.com>
  */
-public class SwingInspector extends SwingScilabDockable {
+public class SwingInspector extends SwingScilabDockablePanel {
     private static SwingInspector instance;
     private JScrollPane desktop;
     private static JPanel pReceive;
index 7711881..20da643 100644 (file)
@@ -16,7 +16,7 @@ import javax.swing.KeyStroke;
 
 import org.scilab.modules.commons.gui.ScilabKeyStroke;
 import org.scilab.modules.gui.bridge.menuitem.SwingScilabMenuItem;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.events.callback.CommonCallBack;
 import org.scilab.modules.gui.ged.Inspector;
 import org.scilab.modules.gui.ged.MessagesGED;
index 7956a55..1a58510 100644 (file)
@@ -27,7 +27,7 @@ import org.scilab.modules.commons.ScilabConstants;
 import org.scilab.modules.commons.gui.ScilabGUIUtilities;
 import org.scilab.modules.gui.bridge.ScilabBridge;
 import org.scilab.modules.gui.bridge.helpbrowser.SwingScilabHelpBrowser;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
 import org.scilab.modules.gui.console.ScilabConsole;
 import org.scilab.modules.gui.dockable.ScilabDockable;
@@ -89,7 +89,7 @@ public class ScilabHelpBrowser extends ScilabDockable implements HelpBrowser {
      * Creates a SwingScilabTab containing the help browser
      * @return the corresponding SwingScilabTab
      */
-    public static SwingScilabDockable createHelpBrowserTab() {
+    public static SwingScilabDockablePanel createHelpBrowserTab() {
         helpTab = ScilabTab.createTab(Messages.gettext("Help Browser"), HELPUUID);
         String lastID = restoreHelpBrowserState();
 
@@ -112,7 +112,7 @@ public class ScilabHelpBrowser extends ScilabDockable implements HelpBrowser {
             // This is a workaround for Mac OS X where e.getKeyCode() sometimes returns a bad value
             public boolean dispatchKeyEvent(KeyEvent e) {
                 if (e.getID() == KeyEvent.KEY_PRESSED) {
-                    Container c = SwingUtilities.getAncestorOfClass(SwingScilabWindow.class, (SwingScilabDockable) helpTab.getAsSimpleTab());
+                    Container c = SwingUtilities.getAncestorOfClass(SwingScilabWindow.class, (SwingScilabDockablePanel) helpTab.getAsSimpleTab());
                     if (e.getSource() instanceof Component) {
                         Container cs = SwingUtilities.getAncestorOfClass(SwingScilabWindow.class, (Component) e.getSource());
                         char chr = e.getKeyChar();
@@ -134,10 +134,10 @@ public class ScilabHelpBrowser extends ScilabDockable implements HelpBrowser {
 
         SwingScilabHelpBrowser browser = (SwingScilabHelpBrowser) ((ScilabHelpBrowser) instance).component;
         browser.setCurrentID(lastID);
-        ((SwingScilabDockable) helpTab.getAsSimpleTab()).setAssociatedXMLIDForHelp("helpbrowser");
-        WindowsConfigurationManager.restorationFinished((SwingScilabDockable) helpTab.getAsSimpleTab());
+        ((SwingScilabDockablePanel) helpTab.getAsSimpleTab()).setAssociatedXMLIDForHelp("helpbrowser");
+        WindowsConfigurationManager.restorationFinished((SwingScilabDockablePanel) helpTab.getAsSimpleTab());
 
-        return (SwingScilabDockable) helpTab.getAsSimpleTab();
+        return (SwingScilabDockablePanel) helpTab.getAsSimpleTab();
     }
 
     /**
@@ -172,7 +172,7 @@ public class ScilabHelpBrowser extends ScilabDockable implements HelpBrowser {
             }
         }
 
-        SwingScilabWindow window = (SwingScilabWindow) SwingUtilities.getAncestorOfClass(SwingScilabWindow.class, (SwingScilabDockable) helpTab.getAsSimpleTab());
+        SwingScilabWindow window = (SwingScilabWindow) SwingUtilities.getAncestorOfClass(SwingScilabWindow.class, (SwingScilabDockablePanel) helpTab.getAsSimpleTab());
         ScilabGUIUtilities.toFront(window);
 
         return instance;
@@ -311,7 +311,7 @@ public class ScilabHelpBrowser extends ScilabDockable implements HelpBrowser {
      * Close the HelpBrowser
      */
     public void close() {
-        ClosingOperationsManager.startClosingOperation((SwingScilabDockable) helpTab.getAsSimpleTab());
+        ClosingOperationsManager.startClosingOperation((SwingScilabDockablePanel) helpTab.getAsSimpleTab());
     }
 
     /**
index 64931cf..e9f002d 100644 (file)
@@ -12,7 +12,7 @@
 package org.scilab.modules.gui.plotbrowser;
 
 import javax.swing.SwingUtilities;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
 import org.scilab.modules.gui.textbox.ScilabTextBox;
 import org.scilab.modules.gui.textbox.TextBox;
@@ -114,7 +114,7 @@ public class PlotBrowser {
      * Close PlotBrowser
      */
     public void close() {
-        ClosingOperationsManager.startClosingOperationWithoutSave((SwingScilabDockable) plotBrowserTab);
+        ClosingOperationsManager.startClosingOperationWithoutSave((SwingScilabDockablePanel) plotBrowserTab);
     }
 
     /**
index 6d433e0..9b7bf2f 100644 (file)
@@ -14,7 +14,7 @@ package org.scilab.modules.gui.plotbrowser;
 import java.util.List;
 import java.util.ListIterator;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.tabfactory.ScilabTabFactory;
 import org.scilab.modules.gui.utils.ClosingOperationsManager;
 
@@ -25,8 +25,8 @@ import org.scilab.modules.gui.utils.ClosingOperationsManager;
 */
 public class PlotBrowserTab {
 
-    public static SwingScilabDockable getPlotBrowserInstance(Integer objectID) {
-        final SwingScilabDockable plotbrowser = PlotBrowser
+    public static SwingScilabDockablePanel getPlotBrowserInstance(Integer objectID) {
+        final SwingScilabDockablePanel plotbrowser = PlotBrowser
                                            .createPlotBrowserTab(objectID);
         ScilabTabFactory.getInstance().addToCache(plotbrowser);
 
@@ -44,13 +44,13 @@ public class PlotBrowserTab {
             }
 
             //@Override
-            public String askForClosing(final List<SwingScilabDockable> list) {
+            public String askForClosing(final List<SwingScilabDockablePanel> list) {
                 return null;
             }
 
             //@Override
-            public void updateDependencies(List<SwingScilabDockable> list,
-            ListIterator<SwingScilabDockable> it) {
+            public void updateDependencies(List<SwingScilabDockablePanel> list,
+            ListIterator<SwingScilabDockablePanel> it) {
             }
         });
 
index e94b661..ec5959b 100644 (file)
@@ -18,7 +18,7 @@ import javax.swing.ScrollPaneConstants;
 
 import org.scilab.modules.gui.plotbrowser.actions.CloseAction;
 import org.scilab.modules.gui.plotbrowser.actions.RefreshAction;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.menu.Menu;
 import org.scilab.modules.gui.menu.ScilabMenu;
 import org.scilab.modules.gui.menubar.MenuBar;
@@ -33,7 +33,7 @@ import org.scilab.modules.gui.utils.WindowsConfigurationManager;
  *
  * @author Marcos CARDINOT <mcardinot@gmail.com>
  */
-public class SwingPlotBrowser extends SwingScilabDockable {
+public class SwingPlotBrowser extends SwingScilabDockablePanel {
     private JScrollPane desktop;
     public static JPanel pReceive;
     private MenuBar menuBar;
index dfd5048..93ff12d 100644 (file)
@@ -16,7 +16,7 @@ import javax.swing.KeyStroke;
 
 import org.scilab.modules.commons.gui.ScilabKeyStroke;
 import org.scilab.modules.gui.bridge.menuitem.SwingScilabMenuItem;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.events.callback.CommonCallBack;
 import org.scilab.modules.gui.plotbrowser.PlotBrowser;
 import org.scilab.modules.gui.plotbrowser.MessagesPlotBrowser;
index 7a8f1be..a146c4b 100644 (file)
@@ -13,7 +13,7 @@
 
 package org.scilab.modules.gui.tab;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.canvas.Canvas;
 import org.scilab.modules.gui.checkbox.CheckBox;
 import org.scilab.modules.gui.console.Console;
@@ -53,7 +53,7 @@ public class ScilabTabBridge {
      * @return the created tab
      */
     public static SimpleTab createTab(String name) {
-        return new SwingScilabDockable(name);
+        return new SwingScilabDockablePanel(name);
     }
 
     /**
@@ -62,7 +62,7 @@ public class ScilabTabBridge {
      * @return the created tab
      */
     public static SimpleTab createTab(String name, String uuid) {
-        return new SwingScilabDockable(name, uuid);
+        return new SwingScilabDockablePanel(name, uuid);
     }
 
     /**
@@ -72,7 +72,7 @@ public class ScilabTabBridge {
      * @return the created tab
      */
     public static SimpleTab createTab(String name, int figureId) {
-        return new SwingScilabDockable(name, figureId);
+        return new SwingScilabDockablePanel(name, figureId);
     }
 
     /**
index 700aa19..5f2c1d1 100644 (file)
@@ -12,7 +12,7 @@
 
 package org.scilab.modules.gui.tabfactory;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 
 /**
  * @author Calixte DENIZET
@@ -24,7 +24,7 @@ public abstract class AbstractScilabTabFactory {
      * @param uuid the uuid of the Tab to restore
      * @return the corresponding Tab or null if this factory is unable to create the Tab (invalid uuid for example)
      */
-    public abstract SwingScilabDockable getTab(String uuid);
+    public abstract SwingScilabDockablePanel getTab(String uuid);
 
     /**
      * Abstract method which must implement a way to return true if the factory is able to build the Tab with given uuid
index bf1c789..e93853d 100644 (file)
@@ -15,7 +15,7 @@ package org.scilab.modules.gui.tabfactory;
 import java.util.List;
 import java.util.ListIterator;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.helpbrowser.ScilabHelpBrowser;
 import org.scilab.modules.gui.utils.ClosingOperationsManager;
 
@@ -31,8 +31,8 @@ public class HelpBrowserTab {
      *            the uuid to restore
      * @return a new SciNotes instance
      */
-    public static SwingScilabDockable getHelpBrowserInstance() {
-        final SwingScilabDockable hb = ScilabHelpBrowser.createHelpBrowserTab();
+    public static SwingScilabDockablePanel getHelpBrowserInstance() {
+        final SwingScilabDockablePanel hb = ScilabHelpBrowser.createHelpBrowserTab();
         ScilabTabFactory.getInstance().addToCache(hb);
 
         ClosingOperationsManager.registerClosingOperation(hb,
@@ -49,13 +49,13 @@ public class HelpBrowserTab {
             }
 
             @Override
-            public String askForClosing(final List<SwingScilabDockable> list) {
+            public String askForClosing(final List<SwingScilabDockablePanel> list) {
                 return null;
             }
 
             @Override
-            public void updateDependencies(List<SwingScilabDockable> list,
-                                           ListIterator<SwingScilabDockable> it) {
+            public void updateDependencies(List<SwingScilabDockablePanel> list,
+                                           ListIterator<SwingScilabDockablePanel> it) {
             }
         });
 
index 961dd3b..9512aec 100644 (file)
@@ -13,7 +13,7 @@
 package org.scilab.modules.gui.tabfactory;
 
 import org.scilab.modules.gui.helpbrowser.ScilabHelpBrowser;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 
 /**
  * The main Tab factory.
@@ -41,7 +41,7 @@ public class HelpBrowserTabFactory extends AbstractScilabTabFactory {
     /**
      * {@inheritDoc}
      */
-    public SwingScilabDockable getTab(String uuid) {
+    public SwingScilabDockablePanel getTab(String uuid) {
         return HelpBrowserTab.getHelpBrowserInstance();
     }
 
index 587c302..30c993c 100644 (file)
@@ -21,7 +21,7 @@ import javax.swing.JTextArea;
 
 import org.flexdock.docking.DockableFactory;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.utils.WindowsConfigurationManager;
 import org.scilab.modules.jvm.LoadClassPath;
 import org.scilab.modules.localization.Messages;
@@ -43,7 +43,7 @@ public class ScilabTabFactory extends DockableFactory.Stub {
       Certains components could depend an other Tab and this last one could be created before
       to be requested by the Tab restorator. So we cache it to be sure to have the same instance.
     */
-    private Map<String, SwingScilabDockable> cache = new HashMap<String, SwingScilabDockable>();
+    private Map<String, SwingScilabDockablePanel> cache = new HashMap<String, SwingScilabDockablePanel>();
     private Map<String, AbstractScilabTabFactory> factories = new HashMap<String, AbstractScilabTabFactory>();
 
     /**
@@ -109,8 +109,8 @@ public class ScilabTabFactory extends DockableFactory.Stub {
      * @param uuid the uuid
      * @return the corresponding tab
      */
-    public SwingScilabDockable getTab(String uuid) {
-        SwingScilabDockable tab = cache.get(uuid);
+    public SwingScilabDockablePanel getTab(String uuid) {
+        SwingScilabDockablePanel tab = cache.get(uuid);
         if (tab != null) {
             return tab;
         }
@@ -177,11 +177,11 @@ public class ScilabTabFactory extends DockableFactory.Stub {
         cache.remove(uuid);
     }
 
-    public SwingScilabDockable getFromCache(String uuid) {
+    public SwingScilabDockablePanel getFromCache(String uuid) {
         return cache.get(uuid);
     }
 
-    public void addToCache(SwingScilabDockable tab) {
+    public void addToCache(SwingScilabDockablePanel tab) {
         if (tab != null) {
             cache.put(tab.getPersistentId(), tab);
         }
@@ -198,13 +198,13 @@ public class ScilabTabFactory extends DockableFactory.Stub {
      * Make an empty tab
      * @return an empty tab
      */
-    private static final SwingScilabDockable makeEmptyTab(String uuid) {
+    private static final SwingScilabDockablePanel makeEmptyTab(String uuid) {
         String u = uuid;
         if (uuid == null || uuid.isEmpty()) {
             u = NULLUUID;
         }
 
-        SwingScilabDockable tab = new SwingScilabDockable(EMPTYTAB, u);
+        SwingScilabDockablePanel tab = new SwingScilabDockablePanel(EMPTYTAB, u);
         String text = String.format(ERROR, u, System.getProperty("user.home"));
         JTextArea textarea = new JTextArea(text);
         textarea.setEditable(false);
index 0621f0e..72a7480 100644 (file)
@@ -20,7 +20,7 @@ import java.beans.PropertyChangeListener;
 import org.flexdock.docking.props.DockablePropertySet;
 import org.flexdock.docking.props.PropertyChangeListenerFactory;
 import org.scilab.modules.commons.OS;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
 import org.scilab.modules.gui.menubar.MenuBar;
 import org.scilab.modules.gui.textbox.TextBox;
@@ -127,15 +127,15 @@ public final class BarUpdater implements PropertyChangeListener {
     /**
      * Update the bar on activation event.
      *
-     * @param evt the event emitted by a {@link SwingScilabDockable}
+     * @param evt the event emitted by a {@link SwingScilabDockablePanel}
      * @see java.beans.PropertyChangeListener#propertyChange(java.beans.PropertyChangeEvent)
      */
     @Override
     public void propertyChange(PropertyChangeEvent evt) {
-        if (evt.getSource() instanceof SwingScilabDockable
+        if (evt.getSource() instanceof SwingScilabDockablePanel
                 && evt.getPropertyName().equals(DockablePropertySet.ACTIVE)
                 && evt.getNewValue().equals(Boolean.TRUE)) {
-            SwingScilabDockable tab = (SwingScilabDockable) evt.getSource();
+            SwingScilabDockablePanel tab = (SwingScilabDockablePanel) evt.getSource();
 
             BarUpdater.updateBars(tab.getParentWindowId(),
                                   tab.getMenuBar(),
index 2bcd19a..bcd8d76 100644 (file)
@@ -28,7 +28,7 @@ import javax.swing.JCheckBox;
 import javax.swing.SwingUtilities;
 
 import org.flexdock.docking.DockingConstants;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
 import org.scilab.modules.gui.messagebox.ScilabModalDialog;
 import org.scilab.modules.gui.messagebox.ScilabModalDialog.AnswerOption;
@@ -57,17 +57,17 @@ public class ClosingOperationsManager {
     private static final String CONFIRMATION_PATH = "//general/confirmation-dialogs/body/tools/tool[@id='console-exit']";
     private static final String EXIT = Messages.gettext("Exit");
     private static final String NULLUUID = new UUID(0L, 0L).toString();
-    private static final Map<SwingScilabDockable, ClosingOperation> closingOps = new HashMap<SwingScilabDockable, ClosingOperation>();
-    private static final Map<SwingScilabDockable, List<SwingScilabDockable>> deps = new HashMap<SwingScilabDockable, List<SwingScilabDockable>>();
+    private static final Map<SwingScilabDockablePanel, ClosingOperation> closingOps = new HashMap<SwingScilabDockablePanel, ClosingOperation>();
+    private static final Map<SwingScilabDockablePanel, List<SwingScilabDockablePanel>> deps = new HashMap<SwingScilabDockablePanel, List<SwingScilabDockablePanel>>();
 
-    private static final List<SwingScilabDockable> dunnoList = new ArrayList<SwingScilabDockable>();
-    private static List<SwingScilabDockable> savedList;
+    private static final List<SwingScilabDockablePanel> dunnoList = new ArrayList<SwingScilabDockablePanel>();
+    private static List<SwingScilabDockablePanel> savedList;
     private static boolean savedMustSave;
 
-    private static SwingScilabDockable root;
+    private static SwingScilabDockablePanel root;
 
     static {
-        deps.put(null, new ArrayList<SwingScilabDockable>());
+        deps.put(null, new ArrayList<SwingScilabDockablePanel>());
     }
 
     /**
@@ -78,7 +78,7 @@ public class ClosingOperationsManager {
      * @param op
      *            the closing operation
      */
-    public static void registerClosingOperation(SwingScilabDockable tab, ClosingOperation op) {
+    public static void registerClosingOperation(SwingScilabDockablePanel tab, ClosingOperation op) {
         if (tab != null) {
             closingOps.put(tab, op);
         }
@@ -94,7 +94,7 @@ public class ClosingOperationsManager {
      */
     public static void registerClosingOperation(Tab tab, ClosingOperation op) {
         if (tab != null) {
-            registerClosingOperation((SwingScilabDockable) tab.getAsSimpleTab(), op);
+            registerClosingOperation((SwingScilabDockablePanel) tab.getAsSimpleTab(), op);
         }
     }
 
@@ -103,13 +103,13 @@ public class ClosingOperationsManager {
      *
      * @param tab the associated tab
      */
-    public static void unregisterClosingOperation(SwingScilabDockable tab) {
+    public static void unregisterClosingOperation(SwingScilabDockablePanel tab) {
         if (tab != null) {
             closingOps.remove(tab);
         }
     }
 
-    public static void checkTabForClosing(SwingScilabDockable tab) {
+    public static void checkTabForClosing(SwingScilabDockablePanel tab) {
         if (tab != null && !dunnoList.isEmpty()) {
             if (dunnoList.contains(tab)) {
                 dunnoList.remove(tab);
@@ -122,7 +122,7 @@ public class ClosingOperationsManager {
         }
     }
 
-    public static void removeFromDunnoList(SwingScilabDockable tab) {
+    public static void removeFromDunnoList(SwingScilabDockablePanel tab) {
         if (tab != null && !dunnoList.isEmpty() && dunnoList.contains(tab)) {
             dunnoList.remove(tab);
         }
@@ -144,8 +144,8 @@ public class ClosingOperationsManager {
                 return startClosingOperation(win, true, true);
             } else if (deps.get(null).size() != 0) {
                 // NW mode
-                List<SwingScilabDockable> list = new ArrayList<SwingScilabDockable>();
-                for (SwingScilabDockable tab : deps.get(null)) {
+                List<SwingScilabDockablePanel> list = new ArrayList<SwingScilabDockablePanel>();
+                for (SwingScilabDockablePanel tab : deps.get(null)) {
                     collectTabsToClose(tab, list);
                 }
                 return close(list, null, true, true);
@@ -170,8 +170,8 @@ public class ClosingOperationsManager {
             startClosingOperation(win, false, false);
         } else if (deps.get(null).size() != 0) {
             // NW mode
-            List<SwingScilabDockable> list = new ArrayList<SwingScilabDockable>();
-            for (SwingScilabDockable tab : deps.get(null)) {
+            List<SwingScilabDockablePanel> list = new ArrayList<SwingScilabDockablePanel>();
+            for (SwingScilabDockablePanel tab : deps.get(null)) {
                 collectTabsToClose(tab, list);
             }
             close(list, null, false, false);
@@ -185,7 +185,7 @@ public class ClosingOperationsManager {
      *            the tab to close
      * @return true if the closing operation succeeded
      */
-    public static boolean startClosingOperation(SwingScilabDockable tab) {
+    public static boolean startClosingOperation(SwingScilabDockablePanel tab) {
         return close(collectTabsToClose(tab), getWindow(tab), true, true);
     }
 
@@ -197,7 +197,7 @@ public class ClosingOperationsManager {
      * @return true if the closing operation succeeded
      */
     public static boolean startClosingOperation(Tab tab) {
-        return startClosingOperation((SwingScilabDockable) tab.getAsSimpleTab());
+        return startClosingOperation((SwingScilabDockablePanel) tab.getAsSimpleTab());
     }
 
     /**
@@ -207,7 +207,7 @@ public class ClosingOperationsManager {
      *            the tab to close
      * @return true if the closing operation succeeded
      */
-    public static boolean startClosingOperation(SwingScilabDockable tab, boolean askToExit, boolean mustSave) {
+    public static boolean startClosingOperation(SwingScilabDockablePanel tab, boolean askToExit, boolean mustSave) {
         return close(collectTabsToClose(tab), getWindow(tab), askToExit, mustSave);
     }
 
@@ -218,7 +218,7 @@ public class ClosingOperationsManager {
      *            the tabs to close
      * @return true if the closing operation succeeded
      */
-    public static boolean startClosingOperation(List<SwingScilabDockable> tabs, boolean askToExit, boolean mustSave) {
+    public static boolean startClosingOperation(List<SwingScilabDockablePanel> tabs, boolean askToExit, boolean mustSave) {
         final SwingScilabWindow win;
         if (tabs.isEmpty()) {
             // use the null window to select the console tab.
@@ -237,7 +237,7 @@ public class ClosingOperationsManager {
      * @return true if the closing operation succeeded
      */
     public static boolean startClosingOperation(Tab tab, boolean askToExit, boolean mustSave) {
-        return startClosingOperation((SwingScilabDockable) tab.getAsSimpleTab(), askToExit, mustSave);
+        return startClosingOperation((SwingScilabDockablePanel) tab.getAsSimpleTab(), askToExit, mustSave);
     }
 
     /**
@@ -247,7 +247,7 @@ public class ClosingOperationsManager {
      *            the tab to close
      * @return true if the closing operation succeeded
      */
-    public static boolean startClosingOperationWithoutSave(SwingScilabDockable tab) {
+    public static boolean startClosingOperationWithoutSave(SwingScilabDockablePanel tab) {
         return close(collectTabsToClose(tab), getWindow(tab), true, false);
     }
 
@@ -259,7 +259,7 @@ public class ClosingOperationsManager {
      * @return true if the closing operation succeeded
      */
     public static boolean startClosingOperationWithoutSave(Tab tab) {
-        return startClosingOperationWithoutSave((SwingScilabDockable) tab.getAsSimpleTab());
+        return startClosingOperationWithoutSave((SwingScilabDockablePanel) tab.getAsSimpleTab());
     }
 
     /**
@@ -291,11 +291,11 @@ public class ClosingOperationsManager {
         // blocks the shutting down. If it is not done, the Scilab process could stay alive.
         try {
             if (window != null) {
-                List<SwingScilabDockable> list = new ArrayList<SwingScilabDockable>();
+                List<SwingScilabDockablePanel> list = new ArrayList<SwingScilabDockablePanel>();
                 if (window.getDockingPort() != null) {
                     Object[] dockArray = window.getDockingPort().getDockables().toArray();
                     for (int i = 0; i < dockArray.length; i++) {
-                        collectTabsToClose((SwingScilabDockable) dockArray[i], list);
+                        collectTabsToClose((SwingScilabDockablePanel) dockArray[i], list);
                     }
                     return close(list, window, askToExit, mustSave);
                 } else {
@@ -332,11 +332,11 @@ public class ClosingOperationsManager {
      * @param child
      *            the child tab
      */
-    public static void addDependency(SwingScilabDockable parent, SwingScilabDockable child) {
+    public static void addDependency(SwingScilabDockablePanel parent, SwingScilabDockablePanel child) {
         if (parent != null && child != null) {
-            List<SwingScilabDockable> children = deps.get(parent);
+            List<SwingScilabDockablePanel> children = deps.get(parent);
             if (children == null) {
-                children = new ArrayList<SwingScilabDockable>();
+                children = new ArrayList<SwingScilabDockablePanel>();
                 deps.put(parent, children);
             }
             children.add(child);
@@ -347,9 +347,9 @@ public class ClosingOperationsManager {
      * Remove the given children from its parent
      * @param child teh child to remove
      */
-    public static void removeDependency(SwingScilabDockable child) {
-        for (SwingScilabDockable tab : deps.keySet()) {
-            List<SwingScilabDockable> children = deps.get(tab);
+    public static void removeDependency(SwingScilabDockablePanel child) {
+        for (SwingScilabDockablePanel tab : deps.keySet()) {
+            List<SwingScilabDockablePanel> children = deps.get(tab);
             if (children != null) {
                 children.remove(child);
             }
@@ -366,7 +366,7 @@ public class ClosingOperationsManager {
      */
     public static void addDependency(Tab parent, Tab child) {
         if (parent != null && child != null) {
-            addDependency((SwingScilabDockable) parent.getAsSimpleTab(), (SwingScilabDockable) child.getAsSimpleTab());
+            addDependency((SwingScilabDockablePanel) parent.getAsSimpleTab(), (SwingScilabDockablePanel) child.getAsSimpleTab());
         }
     }
 
@@ -378,9 +378,9 @@ public class ClosingOperationsManager {
      * @param child
      *            the child tab
      */
-    public static void addDependency(SwingScilabDockable parent, Tab child) {
+    public static void addDependency(SwingScilabDockablePanel parent, Tab child) {
         if (parent != null && child != null) {
-            addDependency(parent, (SwingScilabDockable) child.getAsSimpleTab());
+            addDependency(parent, (SwingScilabDockablePanel) child.getAsSimpleTab());
         }
     }
 
@@ -392,9 +392,9 @@ public class ClosingOperationsManager {
      * @param child
      *            the child tab
      */
-    public static void addDependency(Tab parent, SwingScilabDockable child) {
+    public static void addDependency(Tab parent, SwingScilabDockablePanel child) {
         if (parent != null && child != null) {
-            addDependency((SwingScilabDockable) parent.getAsSimpleTab(), child);
+            addDependency((SwingScilabDockablePanel) parent.getAsSimpleTab(), child);
         }
     }
 
@@ -404,7 +404,7 @@ public class ClosingOperationsManager {
      * @param child
      *            the child tab
      */
-    public static void addDependencyWithRoot(SwingScilabDockable child) {
+    public static void addDependencyWithRoot(SwingScilabDockablePanel child) {
         if (child != null) {
             addDependency(root, child);
         }
@@ -418,7 +418,7 @@ public class ClosingOperationsManager {
      */
     public static void addDependencyWithRoot(Tab child) {
         if (child != null) {
-            addDependency(root, (SwingScilabDockable) child.getAsSimpleTab());
+            addDependency(root, (SwingScilabDockablePanel) child.getAsSimpleTab());
         }
     }
 
@@ -428,8 +428,8 @@ public class ClosingOperationsManager {
      * @param root
      *            the root element
      */
-    public static void setRoot(SwingScilabDockable tab) {
-        List<SwingScilabDockable> list = deps.get(root);
+    public static void setRoot(SwingScilabDockablePanel tab) {
+        List<SwingScilabDockablePanel> list = deps.get(root);
         deps.remove(root);
         deps.put(tab, list);
         root = tab;
@@ -442,7 +442,7 @@ public class ClosingOperationsManager {
      *            the root element
      */
     public static void setRoot(Tab tab) {
-        setRoot((SwingScilabDockable) tab.getAsSimpleTab());
+        setRoot((SwingScilabDockablePanel) tab.getAsSimpleTab());
     }
 
     /**
@@ -452,9 +452,9 @@ public class ClosingOperationsManager {
      *            the child
      * @return the parent tab
      */
-    private static SwingScilabDockable getParent(SwingScilabDockable tab) {
-        for (SwingScilabDockable key : deps.keySet()) {
-            List<SwingScilabDockable> list = deps.get(key);
+    private static SwingScilabDockablePanel getParent(SwingScilabDockablePanel tab) {
+        for (SwingScilabDockablePanel key : deps.keySet()) {
+            List<SwingScilabDockablePanel> list = deps.get(key);
             if (list != null && list.contains(tab)) {
                 return key;
             }
@@ -469,16 +469,16 @@ public class ClosingOperationsManager {
      *            the child
      * @return the parent tab
      */
-    public static SwingScilabDockable getElderTab(List<SwingScilabDockable> tabs) {
+    public static SwingScilabDockablePanel getElderTab(List<SwingScilabDockablePanel> tabs) {
         if (tabs == null || tabs.size() == 0) {
             return null;
         }
 
         int min = Integer.MAX_VALUE;
-        SwingScilabDockable elder = null;
-        for (SwingScilabDockable tab : tabs) {
+        SwingScilabDockablePanel elder = null;
+        for (SwingScilabDockablePanel tab : tabs) {
             int level = 0;
-            SwingScilabDockable t = getParent(tab);
+            SwingScilabDockablePanel t = getParent(tab);
             while (t != null) {
                 level++;
                 t = getParent(t);
@@ -505,15 +505,15 @@ public class ClosingOperationsManager {
      *            if true, the configuration is saved
      * @return true if the closing operation succeeded
      */
-    private static final boolean close(List<SwingScilabDockable> list, SwingScilabWindow window, boolean askToExit, boolean mustSave) {
+    private static final boolean close(List<SwingScilabDockablePanel> list, SwingScilabWindow window, boolean askToExit, boolean mustSave) {
         boolean ret = false;
         if (!askToExit || canClose(list, window, mustSave)) {
             ret = true;
-            SwingScilabDockable console = null;
+            SwingScilabDockablePanel console = null;
             try {
                 // First thing we get the console (if it is here) to be sure to
                 // kill it !
-                for (SwingScilabDockable tab : list) {
+                for (SwingScilabDockablePanel tab : list) {
                     if (tab.getPersistentId().equals(NULLUUID)) {
                         console = tab;
                         break;
@@ -524,8 +524,8 @@ public class ClosingOperationsManager {
                 // ClosingOperation
                 // To avoid annoying situations the tab will be undocked and
                 // closed
-                List<SwingScilabDockable> tabsToRemove = new ArrayList<SwingScilabDockable>();
-                for (SwingScilabDockable tab : list) {
+                List<SwingScilabDockablePanel> tabsToRemove = new ArrayList<SwingScilabDockablePanel>();
+                for (SwingScilabDockablePanel tab : list) {
                     if (closingOps.get(tab) == null) {
                         tab.setVisible(false);
                         tab.getActionButton("undock").getAction().actionPerformed(null);
@@ -533,7 +533,7 @@ public class ClosingOperationsManager {
                         if (action == null) {
                             SwingScilabWindow win = getWindow(tab);
                             if (win != null) {
-                                win.removeTabs(new SwingScilabDockable[] { tab });
+                                win.removeTabs(new SwingScilabDockablePanel[] { tab });
                             }
                         } else {
                             action.actionPerformed(null);
@@ -544,12 +544,12 @@ public class ClosingOperationsManager {
                 list.removeAll(tabsToRemove);
 
                 // we group the tabs by win
-                Map<SwingScilabWindow, List<SwingScilabDockable>> map = new HashMap<SwingScilabWindow, List<SwingScilabDockable>>();
-                for (SwingScilabDockable tab : list) {
+                Map<SwingScilabWindow, List<SwingScilabDockablePanel>> map = new HashMap<SwingScilabWindow, List<SwingScilabDockablePanel>>();
+                for (SwingScilabDockablePanel tab : list) {
                     SwingScilabWindow win = getWindow(tab);
                     if (win != null) {
                         if (!map.containsKey(win)) {
-                            map.put(win, new ArrayList<SwingScilabDockable>());
+                            map.put(win, new ArrayList<SwingScilabDockablePanel>());
                         }
                         map.get(win).add(tab);
                     }
@@ -558,7 +558,7 @@ public class ClosingOperationsManager {
                 List<SwingScilabWindow> winsWithOneTab = new ArrayList<SwingScilabWindow>();
                 List<SwingScilabWindow> windowsToClose = new ArrayList<SwingScilabWindow>();
                 for (SwingScilabWindow win : map.keySet()) {
-                    List<SwingScilabDockable> listTabs = map.get(win);
+                    List<SwingScilabDockablePanel> listTabs = map.get(win);
                     int nbDockedTabs = win.getNbDockedObjects();
                     if (nbDockedTabs == listTabs.size()) {
                         // all the tabs in the window are removed so we save the
@@ -573,7 +573,7 @@ public class ClosingOperationsManager {
                         }
                         // the window will stay opened
                         if (mustSave) {
-                            for (SwingScilabDockable tab : listTabs) {
+                            for (SwingScilabDockablePanel tab : listTabs) {
                                 WindowsConfigurationManager.saveTabProperties(tab, true);
                             }
                         }
@@ -583,8 +583,8 @@ public class ClosingOperationsManager {
                 // If a parent and a child are removed, we make a dependency
                 // between them
                 // The parent restoration will imply the child one
-                for (SwingScilabDockable tab : list) {
-                    SwingScilabDockable parent = getParent(tab);
+                for (SwingScilabDockablePanel tab : list) {
+                    SwingScilabDockablePanel parent = getParent(tab);
                     if (list.contains(parent) || parent == null) {
                         if (parent != null) {
                             WindowsConfigurationManager.makeDependency(parent.getPersistentId(), tab.getPersistentId());
@@ -600,7 +600,7 @@ public class ClosingOperationsManager {
 
                 WindowsConfigurationManager.clean();
                 // We destroy all the tabs: children before parents.
-                for (SwingScilabDockable tab : list) {
+                for (SwingScilabDockablePanel tab : list) {
                     tab.setVisible(false);
                     if (!tab.getPersistentId().equals(NULLUUID)) {
                         try {
@@ -619,13 +619,13 @@ public class ClosingOperationsManager {
                 // ActiveDockableTracker tryes to give the activation to a
                 // removed tab
                 for (SwingScilabWindow win : map.keySet()) {
-                    win.removeTabs(map.get(win).toArray(new SwingScilabDockable[0]));
+                    win.removeTabs(map.get(win).toArray(new SwingScilabDockablePanel[0]));
                 }
 
                 // It stays one docked tab so we remove close and undock action
                 for (SwingScilabWindow win : winsWithOneTab) {
                     Object[] dockArray = win.getDockingPort().getDockables().toArray();
-                    SwingScilabDockable.removeActions((SwingScilabDockable) dockArray[0]);
+                    SwingScilabDockablePanel.removeActions((SwingScilabDockablePanel) dockArray[0]);
                 }
 
                 // We wait until all the windows are definitly closed
@@ -643,10 +643,10 @@ public class ClosingOperationsManager {
                 }
 
                 // We remove the tabs from the cache
-                for (SwingScilabDockable tab : list) {
+                for (SwingScilabDockablePanel tab : list) {
                     ScilabTabFactory.getInstance().removeFromCache(tab.getPersistentId());
-                    SwingScilabDockable parent = getParent(tab);
-                    List<SwingScilabDockable> l = deps.get(parent);
+                    SwingScilabDockablePanel parent = getParent(tab);
+                    List<SwingScilabDockablePanel> l = deps.get(parent);
                     if (l != null) {
                         l.remove(tab);
                     }
@@ -677,7 +677,7 @@ public class ClosingOperationsManager {
      *            the window to use to center the modal dialog
      * @return true if all the tabs can be closed
      */
-    private static final boolean canClose(List<SwingScilabDockable> list,
+    private static final boolean canClose(List<SwingScilabDockablePanel> list,
                                           SwingScilabWindow window,
                                           boolean mustSave) {
         CheckExitConfirmation cec = XConfiguration.get(CheckExitConfirmation.class, XConfiguration.getXConfigurationDocument(), CONFIRMATION_PATH)[0];
@@ -708,7 +708,7 @@ public class ClosingOperationsManager {
             }
         }
 
-        for (SwingScilabDockable t : list) {
+        for (SwingScilabDockablePanel t : list) {
             ClosingOperation op = closingOps.get(t);
             if (op != null) {
                 int ret = op.canClose();
@@ -726,7 +726,7 @@ public class ClosingOperationsManager {
             return true;
         }
 
-        for (SwingScilabDockable tab : dunnoList) {
+        for (SwingScilabDockablePanel tab : dunnoList) {
             list.remove(tab);
         }
 
@@ -743,10 +743,10 @@ public class ClosingOperationsManager {
      *            the list of the tabs to close
      * @return the question
      */
-    private static final String makeQuestion(List<SwingScilabDockable> list) {
+    private static final String makeQuestion(List<SwingScilabDockablePanel> list) {
         List<String> apps = new ArrayList<String>();
-        List<SwingScilabDockable> toBeRemoved = Collections.unmodifiableList(list);
-        for (SwingScilabDockable t : list) {
+        List<SwingScilabDockablePanel> toBeRemoved = Collections.unmodifiableList(list);
+        for (SwingScilabDockablePanel t : list) {
             ClosingOperation op = closingOps.get(t);
             if (op != null) {
                 String name = op.askForClosing(toBeRemoved);
@@ -779,11 +779,11 @@ public class ClosingOperationsManager {
      * @param list
      *            the list
      */
-    private static final void collectTabsToClose(SwingScilabDockable tab,
-            List<SwingScilabDockable> list) {
-        List<SwingScilabDockable> children = deps.get(tab);
+    private static final void collectTabsToClose(SwingScilabDockablePanel tab,
+            List<SwingScilabDockablePanel> list) {
+        List<SwingScilabDockablePanel> children = deps.get(tab);
         if (children != null) {
-            for (SwingScilabDockable t : children) {
+            for (SwingScilabDockablePanel t : children) {
                 collectTabsToClose(t, list);
             }
         }
@@ -794,9 +794,9 @@ public class ClosingOperationsManager {
         /*
          * Update the tab list in case of hidden (eg. dynamic) dependencies
          */
-        final List<SwingScilabDockable> ro = Collections.unmodifiableList(list);
-        for (ListIterator<SwingScilabDockable> it = list.listIterator(); it.hasNext();) {
-            final SwingScilabDockable t = it.next();
+        final List<SwingScilabDockablePanel> ro = Collections.unmodifiableList(list);
+        for (ListIterator<SwingScilabDockablePanel> it = list.listIterator(); it.hasNext();) {
+            final SwingScilabDockablePanel t = it.next();
 
             final ClosingOperation op = closingOps.get(t);
             if (op != null) {
@@ -812,9 +812,9 @@ public class ClosingOperationsManager {
      *            the current tab
      * @return the list of the tabs to close
      */
-    private static final List<SwingScilabDockable> collectTabsToClose(
-        SwingScilabDockable tab) {
-        final List<SwingScilabDockable> list = new ArrayList<SwingScilabDockable>();
+    private static final List<SwingScilabDockablePanel> collectTabsToClose(
+        SwingScilabDockablePanel tab) {
+        final List<SwingScilabDockablePanel> list = new ArrayList<SwingScilabDockablePanel>();
         collectTabsToClose(tab, list);
         return list;
     }
@@ -826,9 +826,9 @@ public class ClosingOperationsManager {
      *            the current tabs
      * @return the list of the tabs to close
      */
-    private static final List<SwingScilabDockable> collectTabsToClose(List<SwingScilabDockable> tabs) {
-        final List<SwingScilabDockable> list = new ArrayList<SwingScilabDockable>();
-        for (final SwingScilabDockable tab : tabs) {
+    private static final List<SwingScilabDockablePanel> collectTabsToClose(List<SwingScilabDockablePanel> tabs) {
+        final List<SwingScilabDockablePanel> list = new ArrayList<SwingScilabDockablePanel>();
+        for (final SwingScilabDockablePanel tab : tabs) {
             collectTabsToClose(tab, list);
         }
         return list;
@@ -841,7 +841,7 @@ public class ClosingOperationsManager {
      *            the tab
      * @return the corresponding window
      */
-    private static final SwingScilabWindow getWindow(SwingScilabDockable tab) {
+    private static final SwingScilabWindow getWindow(SwingScilabDockablePanel tab) {
         return (SwingScilabWindow) SwingUtilities.getAncestorOfClass(SwingScilabWindow.class, tab);
     }
 
@@ -865,7 +865,7 @@ public class ClosingOperationsManager {
          * @return non null String if the tab requires a
          *         "Are you sure you want to close FOO ?..."
          */
-        public String askForClosing(final List<SwingScilabDockable> list);
+        public String askForClosing(final List<SwingScilabDockablePanel> list);
 
         /**
          * Update the dependency list to handle specific dependency
@@ -875,7 +875,7 @@ public class ClosingOperationsManager {
          * @param it
          *            the iterator to update
          */
-        public void updateDependencies(final List<SwingScilabDockable> list, final ListIterator<SwingScilabDockable> it);
+        public void updateDependencies(final List<SwingScilabDockablePanel> list, final ListIterator<SwingScilabDockablePanel> it);
     }
 
     @XConfAttribute
index ac13924..c18cf73 100644 (file)
@@ -23,7 +23,7 @@ import org.flexdock.docking.DockingManager;
 import org.flexdock.docking.DockingPort;
 import org.flexdock.view.View;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 
 /**
  * Action executed when the user clicks on the "Close button"
@@ -35,14 +35,14 @@ public class SciClosingAction extends AbstractAction {
 
     private static final long serialVersionUID = 1L;
 
-    private SwingScilabDockable associatedTab;
+    private SwingScilabDockablePanel associatedTab;
     private Action action;
 
     /**
      * Constructor
      * @param tab the associated tab
      */
-    public SciClosingAction(SwingScilabDockable tab) {
+    public SciClosingAction(SwingScilabDockablePanel tab) {
         this(tab, null);
     }
 
@@ -51,7 +51,7 @@ public class SciClosingAction extends AbstractAction {
      * @param tab the associated tab
      * @param action the action
      */
-    public SciClosingAction(SwingScilabDockable tab, Action action) {
+    public SciClosingAction(SwingScilabDockablePanel tab, Action action) {
         this.associatedTab = tab;
         this.action = action;
     }
index 75ff42b..8ec50ad 100644 (file)
@@ -27,7 +27,7 @@ import org.flexdock.docking.defaults.DefaultDockingPort;
 import org.flexdock.docking.event.DockingEvent;
 import org.flexdock.docking.event.DockingListener;
 import org.flexdock.docking.floating.frames.FloatingDockingPort;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
 
 /**
@@ -65,7 +65,7 @@ public class SciDockingListener implements DockingListener {
         String newId = null;
 
         DockingListener[] newListeners = e.getNewDockingPort().getDockingListeners();
-        SwingScilabDockable dockedTab = (SwingScilabDockable) e.getDockable();
+        SwingScilabDockablePanel dockedTab = (SwingScilabDockablePanel) e.getDockable();
         if (newListeners.length == 2) {
             /* This docking port has been created when the parent window were created */
             /* So this docking port has a sciDockingListener */
@@ -81,7 +81,7 @@ public class SciDockingListener implements DockingListener {
                 while (e.getDockable() == dock) {
                     dock = it.next();
                 }
-                newId = ((SwingScilabDockable) dock).getParentWindowId();
+                newId = ((SwingScilabDockablePanel) dock).getParentWindowId();
             } else { /** Create a new Window to display the tab inside it */
 
                 DefaultDockingPort dockingPort = ((DefaultDockingPort) e.getOldDockingPort());
@@ -102,7 +102,7 @@ public class SciDockingListener implements DockingListener {
                     newY += ((DefaultDockingPort) e.getNewDockingPort()).getParent().getParent().getParent().getY();
                 }
 
-                SwingScilabWindow newWindow = new SwingScilabWindow();
+                SwingScilabWindow newWindow = SwingScilabWindow.createWindow(true);
                 newWindow.setPosition(new Position(newX, newY));
                 newWindow.setDims(SwingScilabWindow.allScilabWindows.get(associatedScilabWindowId).getDims());
                 DockingManager.dock(dockedTab, newWindow.getDockingPort());
index 2865afa..f08e250 100644 (file)
@@ -17,7 +17,7 @@ import java.awt.event.ActionEvent;
 import javax.swing.AbstractAction;
 
 import org.scilab.modules.gui.bridge.CallScilabBridge;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 
 /**
  * Action executed when the user clicks on the "Help button"
@@ -27,13 +27,13 @@ public class SciHelpOnComponentAction extends AbstractAction {
 
     private static final long serialVersionUID = 1L;
 
-    private SwingScilabDockable associatedTab;
+    private SwingScilabDockablePanel associatedTab;
 
     /**
      * Constructor
      * @param tab the associated tab
      */
-    public SciHelpOnComponentAction(SwingScilabDockable tab) {
+    public SciHelpOnComponentAction(SwingScilabDockablePanel tab) {
         associatedTab = tab;
     }
 
index ffbed0f..43b751c 100644 (file)
@@ -25,7 +25,7 @@ import org.flexdock.docking.DockingManager;
 import org.flexdock.docking.DockingPort;
 import org.flexdock.docking.activation.ActiveDockableTracker;
 import org.flexdock.view.View;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
 
 /**
@@ -39,13 +39,13 @@ public class SciUndockingAction extends AbstractAction {
 
     private static final int UNDOCK_OFFSET = 30;
 
-    private SwingScilabDockable associatedTab;
+    private SwingScilabDockablePanel associatedTab;
 
     /**
      * Constructor
      * @param tab the associated tab
      */
-    public SciUndockingAction(SwingScilabDockable tab) {
+    public SciUndockingAction(SwingScilabDockablePanel tab) {
         associatedTab = tab;
     }
 
@@ -56,8 +56,7 @@ public class SciUndockingAction extends AbstractAction {
      */
     public void actionPerformed(ActionEvent arg0) {
         /** Create a new Window to dock the tab into */
-        SwingScilabWindow newWindow = new SwingScilabWindow();
-
+        SwingScilabWindow newWindow = SwingScilabWindow.createWindow(true);
         /** Save the tab dimensions to set them back after docking */
         Size oldtabSize = associatedTab.getDims();
         /** Save the old parent Window position to use it to set the new Window position */
@@ -81,7 +80,7 @@ public class SciUndockingAction extends AbstractAction {
         DockingManager.undock((Dockable) associatedTab);
         iter = port.getDockables().iterator();
         if (iter.hasNext()) {
-            SwingScilabDockable tab = (SwingScilabDockable) iter.next();
+            SwingScilabDockablePanel tab = (SwingScilabDockablePanel) iter.next();
             BarUpdater.updateBars(tab.getParentWindowId(), tab.getMenuBar(), tab.getToolBar(), tab.getInfoBar(), tab.getName(), tab.getWindowIcon());
         }
         DockingManager.dock(associatedTab, newWindow.getDockingPort());
index 684be2e..427c343 100644 (file)
@@ -47,7 +47,7 @@ import org.scilab.modules.commons.xml.XConfiguration;
 import org.scilab.modules.commons.xml.XConfigurationEvent;
 import org.scilab.modules.commons.xml.XConfigurationListener;
 import static org.scilab.modules.commons.xml.XConfiguration.XConfAttribute;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
 import org.scilab.modules.gui.console.ScilabConsole;
 import org.scilab.modules.gui.tab.Tab;
@@ -75,7 +75,7 @@ public class WindowsConfigurationManager implements XConfigurationListener {
     private static final String WINDOWS_CONFIG_FILE = System.getenv(SCI) + "/modules/gui/etc/windowsConfiguration.xml";
     private static final String DEFAULT_WINDOWS_CONFIG_FILE = System.getenv(SCI) + "/modules/gui/etc/integratedConfiguration.xml";
     private static final String NULLUUID = new UUID(0L, 0L).toString();
-    private static final Map<SwingScilabDockable, EndedRestoration> endedRestoration = new HashMap<SwingScilabDockable, EndedRestoration>();
+    private static final Map<SwingScilabDockablePanel, EndedRestoration> endedRestoration = new HashMap<SwingScilabDockablePanel, EndedRestoration>();
     private static final List<String> alreadyRestoredWindows = new ArrayList<String>();
     private static final Map<String, Object> defaultWinAttributes = new HashMap<String, Object>();
     private static final List<String> currentlyRestored = new ArrayList<String>();
@@ -225,7 +225,7 @@ public class WindowsConfigurationManager implements XConfigurationListener {
      * @param tab the associated tab
      * @param ended the closing operation
      */
-    public static void registerEndedRestoration(SwingScilabDockable tab, EndedRestoration ended) {
+    public static void registerEndedRestoration(SwingScilabDockablePanel tab, EndedRestoration ended) {
         endedRestoration.put(tab, ended);
     }
 
@@ -235,7 +235,7 @@ public class WindowsConfigurationManager implements XConfigurationListener {
      * @param ended the closing operation
      */
     public static void registerEndedRestoration(Tab tab, EndedRestoration ended) {
-        registerEndedRestoration((SwingScilabDockable) tab.getAsSimpleTab(), ended);
+        registerEndedRestoration((SwingScilabDockablePanel) tab.getAsSimpleTab(), ended);
     }
 
     /**
@@ -277,7 +277,7 @@ public class WindowsConfigurationManager implements XConfigurationListener {
             win.appendChild(serializer.serialize(doc, layoutNode));
 
             for (Dockable dockable : (Set<Dockable>) window.getDockingPort().getDockables()) {
-                saveTabProperties((SwingScilabDockable) dockable, false);
+                saveTabProperties((SwingScilabDockablePanel) dockable, false);
             }
 
             writeDocument();
@@ -326,7 +326,7 @@ public class WindowsConfigurationManager implements XConfigurationListener {
             attrs.putAll(defaultWinAttributes);
         }
 
-        SwingScilabWindow window = new SwingScilabWindow();
+        SwingScilabWindow window = SwingScilabWindow.createWindow(true);
         window.setVisible(false);
 
         final String localUUID;
@@ -367,11 +367,11 @@ public class WindowsConfigurationManager implements XConfigurationListener {
 
     public static SwingScilabWindow restoreWindow(String uuid) {
         String winuuid = UUID.randomUUID().toString();
-        SwingScilabWindow win = new SwingScilabWindow();
+        SwingScilabWindow win = SwingScilabWindow.createWindow(true);
         win.setUUID(winuuid);
         win.setIsRestoring(true);
 
-        final SwingScilabDockable tab = ScilabTabFactory.getInstance().getTab(uuid);
+        final SwingScilabDockablePanel tab = ScilabTabFactory.getInstance().getTab(uuid);
         win.addTab(tab);
         BarUpdater.forceUpdateBars(tab.getParentWindowId(), tab.getMenuBar(), tab.getToolBar(), tab.getInfoBar(), tab.getName(), tab.getWindowIcon());
 
@@ -420,21 +420,21 @@ public class WindowsConfigurationManager implements XConfigurationListener {
                 LayoutNode layoutNode = (LayoutNode) serializer.deserialize(dockingPort);
                 window.getDockingPort().importLayout(layoutNode);
             } else if (defaultTabUuid != null && !defaultTabUuid.isEmpty()) {
-                SwingScilabDockable defaultTab = ScilabTabFactory.getInstance().getTab(defaultTabUuid);
+                SwingScilabDockablePanel defaultTab = ScilabTabFactory.getInstance().getTab(defaultTabUuid);
                 defaultTab.setParentWindowId(window.getId());
                 DockingManager.dock(defaultTab, window.getDockingPort());
             }
 
-            for (SwingScilabDockable tab : (Set<SwingScilabDockable>) window.getDockingPort().getDockables()) {
+            for (SwingScilabDockablePanel tab : (Set<SwingScilabDockablePanel>) window.getDockingPort().getDockables()) {
                 tab.setParentWindowId(window.getId());
             }
 
-            SwingScilabDockable[] tabs = new SwingScilabDockable[window.getNbDockedObjects()];
-            tabs = ((Set<SwingScilabDockable>) window.getDockingPort().getDockables()).toArray(tabs);
+            SwingScilabDockablePanel[] tabs = new SwingScilabDockablePanel[window.getNbDockedObjects()];
+            tabs = ((Set<SwingScilabDockablePanel>) window.getDockingPort().getDockables()).toArray(tabs);
 
             // Be sur that the main tab will have the focus.
             // Get the elder tab and activate it
-            final SwingScilabDockable mainTab = ClosingOperationsManager.getElderTab(new ArrayList(Arrays.asList(tabs)));
+            final SwingScilabDockablePanel mainTab = ClosingOperationsManager.getElderTab(new ArrayList(Arrays.asList(tabs)));
             BarUpdater.forceUpdateBars(mainTab.getParentWindowId(), mainTab.getMenuBar(), mainTab.getToolBar(), mainTab.getInfoBar(), mainTab.getName(), mainTab.getWindowIcon());
 
             if (!ScilabConsole.isExistingConsole() && tabs.length == 1 && tabs[0].getPersistentId().equals(NULLUUID)) {
@@ -442,7 +442,7 @@ public class WindowsConfigurationManager implements XConfigurationListener {
                 return null;
             }
 
-            for (SwingScilabDockable tab : tabs) {
+            for (SwingScilabDockablePanel tab : tabs) {
                 // each tab has now a window so it can be useful for the tab to set an icon window or to center a dialog...
                 EndedRestoration ended = endedRestoration.get(tab);
                 if (ended != null) {
@@ -453,11 +453,11 @@ public class WindowsConfigurationManager implements XConfigurationListener {
 
             if (tabs.length == 1) {
                 // we remove undock and close buttons when there is only one View in the DockingPort
-                SwingScilabDockable.removeActions(tabs[0]);
+                SwingScilabDockablePanel.removeActions(tabs[0]);
             } else {
                 // we add undock and close buttons
-                for (SwingScilabDockable tab : tabs) {
-                    SwingScilabDockable.addActions(tab);
+                for (SwingScilabDockablePanel tab : tabs) {
+                    SwingScilabDockablePanel.addActions(tab);
                 }
             }
 
@@ -526,7 +526,7 @@ public class WindowsConfigurationManager implements XConfigurationListener {
      * Must be called when the restoration is finished
      * @param tab the tab
      */
-    public static final void restorationFinished(SwingScilabDockable tab) {
+    public static final void restorationFinished(SwingScilabDockablePanel tab) {
         synchronized (currentlyRestored) {
             currentlyRestored.remove(tab.getPersistentId());
 
@@ -584,7 +584,7 @@ public class WindowsConfigurationManager implements XConfigurationListener {
             ScilabTabFactory factory = ScilabTabFactory.getInstance();
             factory.addTabFactory(e.getAttribute("load"), e.getAttribute("factory"));
             currentlyRestored.add(e.getAttribute("uuid"));
-            SwingScilabDockable tab = factory.getTab(e.getAttribute("uuid"));
+            SwingScilabDockablePanel tab = factory.getTab(e.getAttribute("uuid"));
             if (!e.getAttribute("width").isEmpty() && !e.getAttribute("height").isEmpty()) {
                 tab.setMinimumSize(nullDims);
                 tab.setPreferredSize(new Dimension(Integer.parseInt(e.getAttribute("width")), Integer.parseInt(e.getAttribute("width"))));
@@ -956,7 +956,7 @@ public class WindowsConfigurationManager implements XConfigurationListener {
      * @param tab the tab
      * @param nullWin if true, the winuuid will be set to 0 (the tab is not docked)
      */
-    public static void saveTabProperties(SwingScilabDockable tab, boolean nullWin) {
+    public static void saveTabProperties(SwingScilabDockablePanel tab, boolean nullWin) {
         if (ScilabConstants.isGUI()) {
             readDocument();
 
index e38d002..b522184 100644 (file)
@@ -58,7 +58,7 @@ public class ScilabWindowBridge {
      * @return the created window
      */
     public static SimpleWindow createWindow() {
-        return new SwingScilabWindow();
+        throw new UnsupportedOperationException();
     }
 
     /**
@@ -139,7 +139,7 @@ public class ScilabWindowBridge {
      * @param newTab the tab to add to the window
      */
     public static void addTab(Window window, Tab newTab) {
-        window.getAsSimpleWindow().addTab(newTab.getAsSimpleTab());
+        //window.getAsSimpleWindow().addTab(newTab.getAsSimpleTab());
         //newTab.getAsSimpleTab().setParentWindowId(window.getAsSimpleWindow().getElementId());
     }
 
@@ -149,7 +149,7 @@ public class ScilabWindowBridge {
      * @param tab tab to remove
      */
     public static void removeTab(Window window, Tab tab) {
-        window.getAsSimpleWindow().removeTab(tab.getAsSimpleTab());
+        //window.getAsSimpleWindow().removeTab(tab.getAsSimpleTab());
     }
 
     /**
index 0f76b26..7cb3b19 100644 (file)
@@ -36,19 +36,7 @@ public interface SimpleWindow {
      * @param newWindowTitle the title we want to set for the window
      */
     void setTitle(String newWindowTitle);
-
-    /**
-     * Add a tab to a window
-     * @param newTab the tab to add to the window
-     */
-    void addTab(SimpleTab newTab);
-
-    /**
-     * Remove a tab from a window
-     * @param oldTab tab to remove
-     */
-    void removeTab(SimpleTab oldTab);
-
     /**
      * Sets a InfoBar to a window
      * @param newInfoBar the Scilab InfoBar to set to the Scilab window
index 9b396c6..dc54279 100644 (file)
@@ -38,7 +38,7 @@ import javax.swing.tree.TreeModel;
 import javax.swing.tree.TreeNode;
 import javax.swing.tree.TreePath;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
 import org.scilab.modules.gui.menu.Menu;
 import org.scilab.modules.gui.menu.ScilabMenu;
@@ -72,7 +72,7 @@ import org.scilab.modules.localization.Messages;
  * @author Calixte DENIZET
  */
 @SuppressWarnings(value = { "serial" })
-public final class CommandHistory extends SwingScilabDockable implements SimpleTab {
+public final class CommandHistory extends SwingScilabDockablePanel implements SimpleTab {
 
     public static final String COMMANDHISTORYUUID = "856207f6-0a60-47a0-b9f4-232feedd4bf4";
 
@@ -86,7 +86,7 @@ public final class CommandHistory extends SwingScilabDockable implements SimpleT
     private static DefaultMutableTreeNode scilabHistoryRootNode;
     private static DefaultMutableTreeNode currentSessionNode;
     private static DefaultTreeModel scilabHistoryTreeModel;
-    private static SwingScilabDockable browserTab;
+    private static SwingScilabDockablePanel browserTab;
     private static JScrollPane scrollPane;
 
     private static boolean modelLoaded;
@@ -162,7 +162,7 @@ public final class CommandHistory extends SwingScilabDockable implements SimpleT
      * Create a new Command History tab
      * @return the corresponding tab
      */
-    public static SwingScilabDockable createCommandHistoryTab() {
+    public static SwingScilabDockablePanel createCommandHistoryTab() {
         browserTab = new CommandHistory();
         WindowsConfigurationManager.restorationFinished(browserTab);
 
@@ -391,7 +391,7 @@ public final class CommandHistory extends SwingScilabDockable implements SimpleT
     /**
      * @return the browserTab
      */
-    public static SwingScilabDockable getBrowserTab() {
+    public static SwingScilabDockablePanel getBrowserTab() {
         return browserTab;
     }
 
index 48c0184..425d8eb 100644 (file)
@@ -15,7 +15,7 @@ package org.scilab.modules.history_browser;
 import java.util.List;
 import java.util.ListIterator;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.tabfactory.ScilabTabFactory;
 import org.scilab.modules.gui.utils.ClosingOperationsManager;
 
@@ -31,8 +31,8 @@ public class CommandHistoryTab {
      *            the uuid to restore
      * @return a new Command History tab
      */
-    public static SwingScilabDockable getCommandHistoryInstance(String uuid) {
-        final SwingScilabDockable cmdh = CommandHistory.createCommandHistoryTab();
+    public static SwingScilabDockablePanel getCommandHistoryInstance(String uuid) {
+        final SwingScilabDockablePanel cmdh = CommandHistory.createCommandHistoryTab();
         ScilabTabFactory.getInstance().addToCache(cmdh);
 
         ClosingOperationsManager.registerClosingOperation(cmdh, new ClosingOperationsManager.ClosingOperation() {
@@ -48,12 +48,12 @@ public class CommandHistoryTab {
             }
 
             @Override
-            public String askForClosing(final List<SwingScilabDockable> list) {
+            public String askForClosing(final List<SwingScilabDockablePanel> list) {
                 return null;
             }
 
             @Override
-            public void updateDependencies(List<SwingScilabDockable> list, ListIterator<SwingScilabDockable> it) {
+            public void updateDependencies(List<SwingScilabDockablePanel> list, ListIterator<SwingScilabDockablePanel> it) {
             }
         });
 
index 02b746b..160e294 100644 (file)
@@ -12,7 +12,7 @@
 
 package org.scilab.modules.history_browser;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.tabfactory.AbstractScilabTabFactory;
 
 /**
@@ -41,7 +41,7 @@ public class CommandHistoryTabFactory extends AbstractScilabTabFactory {
     /**
      * {@inheritDoc}
      */
-    public SwingScilabDockable getTab(String uuid) {
+    public SwingScilabDockablePanel getTab(String uuid) {
         return CommandHistoryTab.getCommandHistoryInstance(uuid);
     }
 
index 7e8c984..3c3d0ad 100644 (file)
@@ -64,7 +64,7 @@ import org.scilab.modules.commons.xml.XConfiguration;
 import static org.scilab.modules.commons.xml.XConfiguration.XConfAttribute;
 import org.scilab.modules.core.Scilab;
 import org.scilab.modules.gui.bridge.filechooser.SwingScilabFileChooser;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
 import org.scilab.modules.gui.filechooser.Juigetfile;
 import org.scilab.modules.gui.filechooser.ScilabFileChooser;
@@ -121,7 +121,7 @@ import org.scilab.modules.scinotes.utils.SearchFile;
  * @author Bruno JOFRET
  * @author Calixte DENIZET
  */
-public class SciNotes extends SwingScilabDockable {
+public class SciNotes extends SwingScilabDockablePanel {
 
     private static final long serialVersionUID = -6410183357490518676L;
 
@@ -286,7 +286,7 @@ public class SciNotes extends SwingScilabDockable {
     }
 
     public void setParentWindow() {
-        this.parentWindow = new SwingScilabWindow();
+        this.parentWindow = SwingScilabWindow.createWindow(true);
         setWindowIcon("accessories-text-editor");
         parentWindow.setLocation(150, 50);
         parentWindow.setSize(650, 550);
@@ -616,7 +616,7 @@ public class SciNotes extends SwingScilabDockable {
         if (b) {
             ed.closeTabAtWithoutConfirmation(ed.getTabPane().getSelectedIndex());
             if (ed.getTabPane().getTabCount() == 0) {
-                ClosingOperationsManager.startClosingOperationWithoutSave((SwingScilabDockable) ed);
+                ClosingOperationsManager.startClosingOperationWithoutSave((SwingScilabDockablePanel) ed);
                 ConfigSciNotesManager.removeEditorUUID(ed.uuid.toString());
             }
         }
@@ -874,9 +874,9 @@ public class SciNotes extends SwingScilabDockable {
 
     public static void closeEditor(SciNotes ed) {
         if (scinotesList.size() > 1) {
-            ClosingOperationsManager.startClosingOperationWithoutSave((SwingScilabDockable) ed);
+            ClosingOperationsManager.startClosingOperationWithoutSave((SwingScilabDockablePanel) ed);
         } else {
-            ClosingOperationsManager.startClosingOperation((SwingScilabDockable) ed);
+            ClosingOperationsManager.startClosingOperation((SwingScilabDockablePanel) ed);
         }
     }
 
index 1717f3a..0fb51a8 100644 (file)
 
 package org.scilab.modules.scinotes;
 
+import java.io.File;
+import java.io.IOException;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
-import java.util.Map;
 import java.util.HashMap;
-import java.io.File;
-import java.io.IOException;
+import java.util.Map;
 
 import javax.swing.JPopupMenu;
 import javax.swing.KeyStroke;
@@ -25,30 +25,28 @@ import javax.xml.parsers.DocumentBuilder;
 import javax.xml.parsers.DocumentBuilderFactory;
 import javax.xml.parsers.ParserConfigurationException;
 
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-
 import org.scilab.modules.commons.xml.ScilabDocumentBuilderFactory;
+import org.scilab.modules.gui.bridge.checkboxmenuitem.SwingScilabCheckBoxMenuItem;
+import org.scilab.modules.gui.bridge.menu.SwingScilabMenu;
+import org.scilab.modules.gui.bridge.menuitem.SwingScilabMenuItem;
+import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
+import org.scilab.modules.gui.checkboxmenuitem.CheckBoxMenuItem;
 import org.scilab.modules.gui.menu.Menu;
 import org.scilab.modules.gui.menu.ScilabMenu;
-import org.scilab.modules.gui.bridge.menu.SwingScilabMenu;
 import org.scilab.modules.gui.menubar.MenuBar;
 import org.scilab.modules.gui.menubar.ScilabMenuBar;
-import org.scilab.modules.gui.bridge.menuitem.SwingScilabMenuItem;
 import org.scilab.modules.gui.menuitem.MenuItem;
-import org.scilab.modules.gui.checkboxmenuitem.CheckBoxMenuItem;
-import org.scilab.modules.gui.bridge.checkboxmenuitem.SwingScilabCheckBoxMenuItem;
 import org.scilab.modules.gui.pushbutton.PushButton;
 import org.scilab.modules.gui.textbox.ScilabTextBox;
 import org.scilab.modules.gui.textbox.TextBox;
 import org.scilab.modules.gui.toolbar.ScilabToolBar;
 import org.scilab.modules.gui.toolbar.ToolBar;
-import org.scilab.modules.gui.window.SimpleWindow;
 import org.scilab.modules.localization.Messages;
-import org.scilab.modules.scinotes.utils.ConfigSciNotesManager;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+import org.w3c.dom.Node;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
 
 /**
  * Class SciNotesGUI handles menus, bar, ...
@@ -86,7 +84,7 @@ public final class SciNotesGUI {
      * @param editorInstance SciNotes
      * @param title the title
      */
-    public static void init(SimpleWindow mainWindow, final SciNotes editorInstance, String title) {
+    public static void init(SwingScilabWindow mainWindow, final SciNotes editorInstance, String title) {
         mainWindow.setTitle(title);
         mainWindow.addTab(editorInstance);
 
index 970b69b..dd838f8 100644 (file)
@@ -15,7 +15,7 @@ package org.scilab.modules.scinotes.tabfactory;
 import java.util.List;
 import java.util.ListIterator;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.tabfactory.ScilabTabFactory;
 import org.scilab.modules.gui.utils.ClosingOperationsManager;
 import org.scilab.modules.gui.utils.WindowsConfigurationManager;
@@ -44,7 +44,7 @@ public class CodeNavigatorTab {
             ScilabTabFactory.getInstance().addToCache(nav);
         }
 
-        ClosingOperationsManager.registerClosingOperation((SwingScilabDockable) nav,
+        ClosingOperationsManager.registerClosingOperation((SwingScilabDockablePanel) nav,
         new ClosingOperationsManager.ClosingOperation() {
 
             @Override
@@ -58,18 +58,18 @@ public class CodeNavigatorTab {
             }
 
             @Override
-            public String askForClosing(final List<SwingScilabDockable> list) {
+            public String askForClosing(final List<SwingScilabDockablePanel> list) {
                 return null;
             }
 
             @Override
-            public void updateDependencies(List<SwingScilabDockable> list,
-                                           ListIterator<SwingScilabDockable> it) {
+            public void updateDependencies(List<SwingScilabDockablePanel> list,
+                                           ListIterator<SwingScilabDockablePanel> it) {
             }
         });
 
         WindowsConfigurationManager.registerEndedRestoration(
-            (SwingScilabDockable) nav,
+            (SwingScilabDockablePanel) nav,
         new WindowsConfigurationManager.EndedRestoration() {
 
             @Override
@@ -78,8 +78,8 @@ public class CodeNavigatorTab {
             }
         });
 
-        ClosingOperationsManager.addDependency((SwingScilabDockable) editor,
-                                               (SwingScilabDockable) nav);
+        ClosingOperationsManager.addDependency((SwingScilabDockablePanel) editor,
+                                               (SwingScilabDockablePanel) nav);
 
         return nav;
     }
index d3035fa..d65e3e5 100644 (file)
@@ -12,7 +12,7 @@
 
 package org.scilab.modules.scinotes.tabfactory;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.tabfactory.AbstractScilabTabFactory;
 import org.scilab.modules.gui.tabfactory.ScilabTabFactory;
 
@@ -46,7 +46,7 @@ public class CodeNavigatorTabFactory extends AbstractScilabTabFactory {
     /**
      * {@inheritDoc}
      */
-    public SwingScilabDockable getTab(String uuid) {
+    public SwingScilabDockablePanel getTab(String uuid) {
         String editorUUID = ConfigSciNotesManager.getCodeNavigatorState(uuid);
         SciNotes editor = (SciNotes) ScilabTabFactory.getInstance().getFromCache(editorUUID);
 
index 200f3f0..42c37a2 100644 (file)
@@ -15,7 +15,7 @@ package org.scilab.modules.scinotes.tabfactory;
 import java.util.List;
 import java.util.ListIterator;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.tabfactory.ScilabTabFactory;
 import org.scilab.modules.gui.utils.ClosingOperationsManager;
 import org.scilab.modules.gui.utils.WindowsConfigurationManager;
@@ -46,7 +46,7 @@ public class SciNotesTab {
 
         final SciNotes ed = editorInstance;
         ClosingOperationsManager.registerClosingOperation(
-            (SwingScilabDockable) editorInstance,
+            (SwingScilabDockablePanel) editorInstance,
         new ClosingOperationsManager.ClosingOperation() {
 
             @Override
@@ -60,18 +60,18 @@ public class SciNotesTab {
             }
 
             @Override
-            public String askForClosing(final List<SwingScilabDockable> list) {
+            public String askForClosing(final List<SwingScilabDockablePanel> list) {
                 return ed.askForClosing();
             }
 
             @Override
-            public void updateDependencies(List<SwingScilabDockable> list,
-                                           ListIterator<SwingScilabDockable> it) {
+            public void updateDependencies(List<SwingScilabDockablePanel> list,
+                                           ListIterator<SwingScilabDockablePanel> it) {
             }
         });
 
         WindowsConfigurationManager.registerEndedRestoration(
-            (SwingScilabDockable) editorInstance,
+            (SwingScilabDockablePanel) editorInstance,
         new WindowsConfigurationManager.EndedRestoration() {
 
             @Override
@@ -81,7 +81,7 @@ public class SciNotesTab {
         });
 
         ClosingOperationsManager
-        .addDependencyWithRoot((SwingScilabDockable) editorInstance);
+        .addDependencyWithRoot((SwingScilabDockablePanel) editorInstance);
 
         return editorInstance;
     }
index d4a0f28..cf5cef5 100644 (file)
@@ -15,7 +15,7 @@ package org.scilab.modules.scinotes.tabfactory;
 import java.util.List;
 import java.util.UUID;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.tabfactory.AbstractScilabTabFactory;
 
 import org.scilab.modules.scinotes.SciNotes;
@@ -47,7 +47,7 @@ public class SciNotesTabFactory extends AbstractScilabTabFactory {
     /**
      * {@inheritDoc}
      */
-    public SwingScilabDockable getTab(String uuid) {
+    public SwingScilabDockablePanel getTab(String uuid) {
         return SciNotesTab.getEditorInstance(uuid);
     }
 
index 446808b..8fa9977 100644 (file)
@@ -15,7 +15,7 @@ package org.scilab.modules.scinotes.tabfactory;
 import java.util.List;
 import java.util.ListIterator;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.tabfactory.ScilabTabFactory;
 import org.scilab.modules.gui.utils.ClosingOperationsManager;
 import org.scilab.modules.gui.utils.WindowsConfigurationManager;
@@ -44,7 +44,7 @@ public class SearchInFilesTab {
             ScilabTabFactory.getInstance().addToCache(sf);
         }
 
-        ClosingOperationsManager.registerClosingOperation((SwingScilabDockable) sf,
+        ClosingOperationsManager.registerClosingOperation((SwingScilabDockablePanel) sf,
         new ClosingOperationsManager.ClosingOperation() {
 
             @Override
@@ -58,18 +58,18 @@ public class SearchInFilesTab {
             }
 
             @Override
-            public String askForClosing(final List<SwingScilabDockable> list) {
+            public String askForClosing(final List<SwingScilabDockablePanel> list) {
                 return null;
             }
 
             @Override
-            public void updateDependencies(List<SwingScilabDockable> list,
-                                           ListIterator<SwingScilabDockable> it) {
+            public void updateDependencies(List<SwingScilabDockablePanel> list,
+                                           ListIterator<SwingScilabDockablePanel> it) {
             }
         });
 
         WindowsConfigurationManager.registerEndedRestoration(
-            (SwingScilabDockable) sf,
+            (SwingScilabDockablePanel) sf,
         new WindowsConfigurationManager.EndedRestoration() {
 
             @Override
@@ -78,8 +78,8 @@ public class SearchInFilesTab {
             }
         });
 
-        ClosingOperationsManager.addDependency((SwingScilabDockable) editor,
-                                               (SwingScilabDockable) sf);
+        ClosingOperationsManager.addDependency((SwingScilabDockablePanel) editor,
+                                               (SwingScilabDockablePanel) sf);
 
         return sf;
     }
index e9b784a..867f143 100644 (file)
@@ -12,7 +12,7 @@
 
 package org.scilab.modules.scinotes.tabfactory;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.tabfactory.AbstractScilabTabFactory;
 import org.scilab.modules.gui.tabfactory.ScilabTabFactory;
 
@@ -46,7 +46,7 @@ public class SearchInFilesTabFactory extends AbstractScilabTabFactory {
     /**
      * {@inheritDoc}
      */
-    public SwingScilabDockable getTab(String uuid) {
+    public SwingScilabDockablePanel getTab(String uuid) {
         String editorUUID = ConfigSciNotesManager.getSearchInFilesState(uuid);
         SciNotes editor = (SciNotes) ScilabTabFactory.getInstance().getFromCache(editorUUID);
 
index 7e020f2..59ccad3 100644 (file)
@@ -58,7 +58,7 @@ import javax.swing.tree.TreePath;
 
 import org.flexdock.docking.event.DockingEvent;
 import org.scilab.modules.gui.bridge.menuitem.SwingScilabMenuItem;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
 import org.scilab.modules.gui.events.callback.CommonCallBack;
 import org.scilab.modules.gui.menu.Menu;
@@ -85,7 +85,7 @@ import org.scilab.modules.scinotes.tabfactory.CodeNavigatorTabFactory;
  * @author Calixte DENIZET
  */
 @SuppressWarnings(value = { "serial" })
-public final class NavigatorWindow extends SwingScilabDockable implements DocumentListener,
+public final class NavigatorWindow extends SwingScilabDockablePanel implements DocumentListener,
     TreeExpansionListener {
 
     private static final String EMPTY = "";
@@ -192,7 +192,7 @@ public final class NavigatorWindow extends SwingScilabDockable implements Docume
      * Set the parent window
      */
     public void setParentWindow() {
-        this.parentWindow = new SwingScilabWindow();
+        this.parentWindow = SwingScilabWindow.createWindow(true);
         parentWindow.addTab(this);
         parentWindow.setVisible(true);
     }
@@ -287,8 +287,8 @@ public final class NavigatorWindow extends SwingScilabDockable implements Docume
     public void changeToolBar() {
         SwingScilabWindow win = (SwingScilabWindow) SwingUtilities.getAncestorOfClass(SwingScilabWindow.class, this);
         if (win != null && win.getDockingPort() != null) {
-            Set<SwingScilabDockable> set = (Set<SwingScilabDockable>) win.getDockingPort().getDockables();
-            for (SwingScilabDockable tab : set) {
+            Set<SwingScilabDockablePanel> set = (Set<SwingScilabDockablePanel>) win.getDockingPort().getDockables();
+            for (SwingScilabDockablePanel tab : set) {
                 if (tab == editor) {
                     addToolBar(editor.getToolBar());
                     break;
@@ -513,7 +513,7 @@ public final class NavigatorWindow extends SwingScilabDockable implements Docume
 
         CommonCallBack callback = new CommonCallBack(null) {
             public void callBack() {
-                ClosingOperationsManager.startClosingOperation((SwingScilabDockable) NavigatorWindow.this);
+                ClosingOperationsManager.startClosingOperation((SwingScilabDockablePanel) NavigatorWindow.this);
             }
 
             public void actionPerformed(ActionEvent e) {
index 711b685..f8c3e89 100644 (file)
@@ -60,7 +60,7 @@ import javax.swing.KeyStroke;
 import javax.swing.SwingUtilities;
 
 import org.scilab.modules.gui.bridge.menuitem.SwingScilabMenuItem;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.utils.ClosingOperationsManager;
 
 import org.scilab.modules.scinotes.SciNotes;
index f06c237..ffccb37 100644 (file)
@@ -46,7 +46,7 @@ import org.scilab.modules.commons.ScilabCommons;
 import org.scilab.modules.commons.ScilabConstants;
 import org.scilab.modules.commons.xml.ScilabXMLUtilities;
 import org.scilab.modules.gui.bridge.menuitem.SwingScilabMenuItem;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
 import org.scilab.modules.gui.events.callback.CommonCallBack;
 import org.scilab.modules.gui.menu.Menu;
@@ -76,7 +76,7 @@ import org.w3c.dom.NodeList;
  * @author Calixte DENIZET
  */
 @SuppressWarnings(value = { "serial" })
-public class SearchFile extends SwingScilabDockable {
+public class SearchFile extends SwingScilabDockablePanel {
 
     public static final String SEARCHDONE = "SearchFile.SearchDone";
 
@@ -116,7 +116,7 @@ public class SearchFile extends SwingScilabDockable {
      * Set the parent window
      */
     public void setParentWindow() {
-        parentWindow = new SwingScilabWindow();
+        parentWindow = SwingScilabWindow.createWindow(true);
         parentWindow.addTab(this);
         parentWindow.setVisible(true);
     }
@@ -171,8 +171,8 @@ public class SearchFile extends SwingScilabDockable {
      */
     public void changeToolBar() {
         SwingScilabWindow win = (SwingScilabWindow) SwingUtilities.getAncestorOfClass(SwingScilabWindow.class, this);
-        Set<SwingScilabDockable> set = win.getDockingPort().getDockables();
-        for (SwingScilabDockable tab : set) {
+        Set<SwingScilabDockablePanel> set = win.getDockingPort().getDockables();
+        for (SwingScilabDockablePanel tab : set) {
             if (tab == editor) {
                 addToolBar(editor.getToolBar());
                 break;
@@ -308,7 +308,7 @@ public class SearchFile extends SwingScilabDockable {
         CommonCallBack callback = new CommonCallBack(null) {
             @Override
             public void callBack() {
-                ClosingOperationsManager.startClosingOperation((SwingScilabDockable) SearchFile.this);
+                ClosingOperationsManager.startClosingOperation((SwingScilabDockablePanel) SearchFile.this);
             }
 
             @Override
index 5efea5b..ccc8f10 100644 (file)
@@ -12,7 +12,7 @@
 
 package org.scilab.modules.ui_data.filebrowser;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
 import org.scilab.modules.gui.menu.Menu;
 import org.scilab.modules.gui.menu.ScilabMenu;
@@ -35,7 +35,7 @@ import org.scilab.modules.ui_data.utils.UiDataMessages;
  * @author Calixte DENIZET
  */
 @SuppressWarnings(value = { "serial" })
-public final class SwingScilabFileBrowser extends SwingScilabDockable {
+public final class SwingScilabFileBrowser extends SwingScilabDockablePanel {
 
     public static final String FILEBROWSERUUID = "3b649047-6a71-4998-bd8e-00d367a4793d";
 
index 71840dd..c72afe6 100644 (file)
@@ -16,7 +16,7 @@ import javax.swing.KeyStroke;
 
 import org.scilab.modules.commons.gui.ScilabKeyStroke;
 import org.scilab.modules.gui.bridge.menuitem.SwingScilabMenuItem;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.events.callback.CommonCallBack;
 import org.scilab.modules.gui.menuitem.MenuItem;
 import org.scilab.modules.gui.menuitem.ScilabMenuItem;
@@ -57,6 +57,6 @@ public class CloseAction extends CommonCallBack {
      * {@inheritDoc}
      */
     public void callBack() {
-        ClosingOperationsManager.startClosingOperation((SwingScilabDockable) ScilabFileBrowser.getFileBrowser());
+        ClosingOperationsManager.startClosingOperation((SwingScilabDockablePanel) ScilabFileBrowser.getFileBrowser());
     }
 }
index 1a657aa..3da15d5 100644 (file)
@@ -18,7 +18,7 @@ import java.io.File;
 import javax.swing.SwingUtilities;
 
 import org.scilab.modules.commons.OS;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.events.callback.CommonCallBack;
 import org.scilab.modules.gui.messagebox.ScilabModalDialog;
 import org.scilab.modules.ui_data.filebrowser.SwingScilabTreeTable;
@@ -66,7 +66,7 @@ public class EditFileWithDefaultAppAction extends CommonCallBack {
                     dt.edit(file);
                 }
             } catch (Exception e) {
-                ScilabModalDialog.show((SwingScilabDockable) SwingUtilities.getAncestorOfClass(SwingScilabDockable.class, table), String.format(UiDataMessages.CANNOTREAD, file.getName()));
+                ScilabModalDialog.show((SwingScilabDockablePanel) SwingUtilities.getAncestorOfClass(SwingScilabDockablePanel.class, table), String.format(UiDataMessages.CANNOTREAD, file.getName()));
             }
         }
     }
index 97e822a..0326bfb 100644 (file)
@@ -16,7 +16,7 @@ import java.io.File;
 
 import javax.swing.SwingUtilities;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.console.ScilabConsole;
 import org.scilab.modules.gui.events.callback.CommonCallBack;
 import org.scilab.modules.gui.messagebox.ScilabModalDialog;
@@ -57,7 +57,7 @@ public class ExecuteCommandAction extends CommonCallBack {
                     String com = String.format(cmd, path);
                     ScilabConsole.getConsole().getAsSimpleConsole().sendCommandsToScilab(com, true /* display */, true /* store in history */);
                 } catch (NoClassDefFoundError e) {
-                    ScilabModalDialog.show((SwingScilabDockable) SwingUtilities.getAncestorOfClass(SwingScilabDockable.class, table), Messages.gettext("Feature not available in this mode..."));
+                    ScilabModalDialog.show((SwingScilabDockablePanel) SwingUtilities.getAncestorOfClass(SwingScilabDockablePanel.class, table), Messages.gettext("Feature not available in this mode..."));
                 }
             }
         }
index 835c5f6..faa5f60 100644 (file)
@@ -17,7 +17,7 @@ import java.io.File;
 
 import javax.swing.SwingUtilities;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.events.callback.CommonCallBack;
 import org.scilab.modules.gui.messagebox.ScilabModalDialog;
 import org.scilab.modules.ui_data.filebrowser.SwingScilabTreeTable;
@@ -58,7 +58,7 @@ public class OpenFileWithDefaultAppAction extends CommonCallBack {
             try {
                 dt.open(file);
             } catch (Exception e) {
-                ScilabModalDialog.show((SwingScilabDockable) SwingUtilities.getAncestorOfClass(SwingScilabDockable.class, table), String.format(UiDataMessages.CANNOTOPEN, file.getName()));
+                ScilabModalDialog.show((SwingScilabDockablePanel) SwingUtilities.getAncestorOfClass(SwingScilabDockablePanel.class, table), String.format(UiDataMessages.CANNOTOPEN, file.getName()));
             }
         }
     }
index f29dda1..fb0d649 100644 (file)
@@ -15,7 +15,7 @@ package org.scilab.modules.ui_data.tabfactory;
 import java.util.List;
 import java.util.ListIterator;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.tabfactory.ScilabTabFactory;
 import org.scilab.modules.gui.utils.ClosingOperationsManager;
 import org.scilab.modules.ui_data.filebrowser.ScilabFileBrowser;
@@ -32,8 +32,8 @@ public class FileBrowserTab {
      *            the uuid to restore
      * @return a new SciNotes instance
      */
-    public static SwingScilabDockable getFileBrowserInstance() {
-        final SwingScilabDockable filebrowser = ScilabFileBrowser
+    public static SwingScilabDockablePanel getFileBrowserInstance() {
+        final SwingScilabDockablePanel filebrowser = ScilabFileBrowser
                                            .createFileBrowserTab();
         ScilabTabFactory.getInstance().addToCache(filebrowser);
 
@@ -51,13 +51,13 @@ public class FileBrowserTab {
             }
 
             @Override
-            public String askForClosing(final List<SwingScilabDockable> list) {
+            public String askForClosing(final List<SwingScilabDockablePanel> list) {
                 return null;
             }
 
             @Override
-            public void updateDependencies(List<SwingScilabDockable> list,
-                                           ListIterator<SwingScilabDockable> it) {
+            public void updateDependencies(List<SwingScilabDockablePanel> list,
+                                           ListIterator<SwingScilabDockablePanel> it) {
             }
         });
 
index 3698af0..68be737 100644 (file)
@@ -12,7 +12,7 @@
 
 package org.scilab.modules.ui_data.tabfactory;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.tabfactory.AbstractScilabTabFactory;
 import org.scilab.modules.ui_data.filebrowser.SwingScilabFileBrowser;
 
@@ -42,7 +42,7 @@ public class FileBrowserTabFactory extends AbstractScilabTabFactory {
     /**
      * {@inheritDoc}
      */
-    public SwingScilabDockable getTab(String uuid) {
+    public SwingScilabDockablePanel getTab(String uuid) {
         return FileBrowserTab.getFileBrowserInstance();
     }
 
index 999d42b..684e4e1 100644 (file)
@@ -15,7 +15,7 @@ package org.scilab.modules.ui_data.tabfactory;
 import java.util.List;
 import java.util.ListIterator;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.tabfactory.ScilabTabFactory;
 import org.scilab.modules.gui.utils.ClosingOperationsManager;
 import org.scilab.modules.ui_data.variablebrowser.ScilabVariableBrowser;
@@ -32,8 +32,8 @@ public class VariableBrowserTab {
      *            the uuid to restore
      * @return a new SciNotes instance
      */
-    public static SwingScilabDockable getVariableBrowserInstance() {
-        final SwingScilabDockable varbrowser = ScilabVariableBrowser
+    public static SwingScilabDockablePanel getVariableBrowserInstance() {
+        final SwingScilabDockablePanel varbrowser = ScilabVariableBrowser
                                           .createVarBrowserTab();
         ScilabTabFactory.getInstance().addToCache(varbrowser);
 
@@ -51,13 +51,13 @@ public class VariableBrowserTab {
             }
 
             @Override
-            public String askForClosing(final List<SwingScilabDockable> list) {
+            public String askForClosing(final List<SwingScilabDockablePanel> list) {
                 return null;
             }
 
             @Override
-            public void updateDependencies(List<SwingScilabDockable> list,
-                                           ListIterator<SwingScilabDockable> it) {
+            public void updateDependencies(List<SwingScilabDockablePanel> list,
+                                           ListIterator<SwingScilabDockablePanel> it) {
             }
         });
 
index 023e71a..411eeca 100644 (file)
@@ -12,7 +12,7 @@
 
 package org.scilab.modules.ui_data.tabfactory;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.tabfactory.AbstractScilabTabFactory;
 import org.scilab.modules.ui_data.variablebrowser.SwingScilabVariableBrowser;
 
@@ -42,7 +42,7 @@ public class VariableBrowserTabFactory extends AbstractScilabTabFactory {
     /**
      * {@inheritDoc}
      */
-    public SwingScilabDockable getTab(String uuid) {
+    public SwingScilabDockablePanel getTab(String uuid) {
         return VariableBrowserTab.getVariableBrowserInstance();
     }
 
index 9efdbac..2dc7781 100644 (file)
@@ -13,7 +13,7 @@ package org.scilab.modules.ui_data.variablebrowser;
 
 import javax.swing.SwingUtilities;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
 import org.scilab.modules.gui.tabfactory.ScilabTabFactory;
 import org.scilab.modules.gui.textbox.ScilabTextBox;
@@ -132,7 +132,7 @@ public final class ScilabVariableBrowser implements VariableBrowser {
      * Close Variable Browser
      */
     public void close() {
-        ClosingOperationsManager.startClosingOperationWithoutSave((SwingScilabDockable) browserTab);
+        ClosingOperationsManager.startClosingOperationWithoutSave((SwingScilabDockablePanel) browserTab);
     }
 
     /**
index 1c1f529..c513f3b 100644 (file)
@@ -37,7 +37,7 @@ import javax.swing.table.TableRowSorter;
 
 import org.scilab.modules.action_binding.highlevel.ScilabInterpreterManagement;
 import org.scilab.modules.action_binding.highlevel.ScilabInterpreterManagement.InterpreterException;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.bridge.contextmenu.SwingScilabContextMenu;
 import org.scilab.modules.gui.contextmenu.ContextMenu;
 import org.scilab.modules.gui.contextmenu.ScilabContextMenu;
@@ -92,7 +92,7 @@ import org.scilab.modules.ui_data.variablebrowser.rowfilter.VariableBrowserRowTy
  * Swing implementation of Scilab Variable browser
  * uses JTable
  */
-public final class SwingScilabVariableBrowser extends SwingScilabDockable implements SimpleVariableBrowser {
+public final class SwingScilabVariableBrowser extends SwingScilabDockablePanel implements SimpleVariableBrowser {
 
     public static final String VARBROWSERUUID = "3b649047-6a71-4998-bd8e-00d367a4793c";
 
@@ -406,17 +406,17 @@ public final class SwingScilabVariableBrowser extends SwingScilabDockable implem
 
             Menu menuPlot = ScilabMenu.createMenu();
             menuPlot.setText(UiDataMessages.PLOTALL);
-            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockable)SwingScilabVariableBrowser.this, "plot2d", false));
-            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockable)SwingScilabVariableBrowser.this, "Matplot", false));
-            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockable)SwingScilabVariableBrowser.this, "grayplot", false));
-            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockable)SwingScilabVariableBrowser.this, "Sgrayplot", false));
-            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockable)SwingScilabVariableBrowser.this, "champ", false));
-            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockable)SwingScilabVariableBrowser.this, "histplot", false));
-            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockable)SwingScilabVariableBrowser.this, "mesh", false));
-            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockable)SwingScilabVariableBrowser.this, "surf", false));
-            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockable)SwingScilabVariableBrowser.this, "hist3d", false));
-            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockable)SwingScilabVariableBrowser.this, "contour2d", false));
-            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockable)SwingScilabVariableBrowser.this, "pie", false));
+            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockablePanel)SwingScilabVariableBrowser.this, "plot2d", false));
+            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockablePanel)SwingScilabVariableBrowser.this, "Matplot", false));
+            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockablePanel)SwingScilabVariableBrowser.this, "grayplot", false));
+            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockablePanel)SwingScilabVariableBrowser.this, "Sgrayplot", false));
+            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockablePanel)SwingScilabVariableBrowser.this, "champ", false));
+            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockablePanel)SwingScilabVariableBrowser.this, "histplot", false));
+            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockablePanel)SwingScilabVariableBrowser.this, "mesh", false));
+            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockablePanel)SwingScilabVariableBrowser.this, "surf", false));
+            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockablePanel)SwingScilabVariableBrowser.this, "hist3d", false));
+            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockablePanel)SwingScilabVariableBrowser.this, "contour2d", false));
+            menuPlot.add(PlotAction.createMenuItem((SwingScilabDockablePanel)SwingScilabVariableBrowser.this, "pie", false));
             menu.add(menuPlot);
 
             menu.setVisible(true);
@@ -626,7 +626,7 @@ public final class SwingScilabVariableBrowser extends SwingScilabDockable implem
      * Get this browser as a Tab object
      * @return the tab
      */
-    public SwingScilabDockable getBrowserTab() {
+    public SwingScilabDockablePanel getBrowserTab() {
         return this;
     }
 
index 50a1a91..8890dd5 100644 (file)
@@ -20,6 +20,7 @@ import javax.swing.SwingUtilities;
 import javax.swing.event.ChangeListener;
 
 import org.scilab.modules.action_binding.InterpreterManagement;
+import org.scilab.modules.gui.bridge.window.SwingScilabDockingWindow;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
 import org.scilab.modules.gui.textbox.ScilabTextBox;
 import org.scilab.modules.gui.textbox.TextBox;
@@ -30,7 +31,7 @@ import org.scilab.modules.localization.Messages;
  * Implements a ScilabWindow containing Variable Editor (JTable)
  */
 @SuppressWarnings(value = { "serial" })
-public final class ScilabVariableEditor extends SwingScilabWindow implements VariableEditor {
+public final class ScilabVariableEditor extends SwingScilabDockingWindow implements VariableEditor {
 
     private static Map<String, Component> map = new HashMap();
 
index 68a2048..7ecc3f9 100644 (file)
@@ -25,7 +25,7 @@ import javax.swing.event.ChangeListener;
 import javax.swing.event.TableModelEvent;
 import javax.swing.table.TableModel;
 
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.bridge.window.SwingScilabWindow;
 import org.scilab.modules.gui.menu.Menu;
 import org.scilab.modules.gui.menu.ScilabMenu;
@@ -73,7 +73,7 @@ import org.scilab.modules.ui_data.variableeditor.undo.CellsUndoManager;
  * @author Allan SIMON
  * @author Calixte DENIZET
  */
-public class SwingScilabVariableEditor extends SwingScilabDockable implements SimpleVariableEditor {
+public class SwingScilabVariableEditor extends SwingScilabDockablePanel implements SimpleVariableEditor {
 
     /**
      * Prefix used in the tabs titles.
index 10d188a..f7e2526 100644 (file)
@@ -16,7 +16,7 @@ import javax.swing.JTable;
 
 import org.scilab.modules.commons.gui.ScilabKeyStroke;
 import org.scilab.modules.gui.bridge.menuitem.SwingScilabMenuItem;
-import org.scilab.modules.gui.bridge.tab.SwingScilabDockable;
+import org.scilab.modules.gui.bridge.tab.SwingScilabDockablePanel;
 import org.scilab.modules.gui.events.callback.CommonCallBack;
 import org.scilab.modules.gui.menuitem.MenuItem;
 import org.scilab.modules.gui.menuitem.ScilabMenuItem;
@@ -41,14 +41,14 @@ public final class ExportToCsvAction extends CommonCallBack {
     private static final String CREATE = "Export to CSV";
     private static final int GAP = 5;
 
-    private final SwingScilabDockable editor;
+    private final SwingScilabDockablePanel editor;
 
     /**
      * Constructor
      * @param editor the editor
      * @param name the name of the action
      */
-    public ExportToCsvAction(SwingScilabDockable editor, String name) {
+    public ExportToCsvAction(SwingScilabDockablePanel editor, String name) {
         super(name);
         this.editor = editor;
     }
@@ -57,7 +57,7 @@ public final class ExportToCsvAction extends CommonCallBack {
      * @param editor the editor
      * @param table where to put the action
      */
-    public static void registerAction(SwingScilabDockable editor, JTable table) {
+    public static void registerAction(SwingScilabDockablePanel editor, JTable table) {
         table.getActionMap().put(CREATE, new ExportToCsvAction(editor, CREATE));
         table.getInputMap().put(ScilabKeyStroke.getKeyStroke(KEY), CREATE);
     }
@@