Add full options management to figure 14/13614/5
Bruno JOFRET [Thu, 30 Jan 2014 18:44:16 +0000 (19:44 +0100)]
- default_axes
- dockable
- toolbar{,_visible}
- menubar{,_visible}

Remove __GO_WINDOW__ message

Change-Id: Id4b3ef66056d288c426c3fd852f0abd8c66182fa

28 files changed:
scilab/modules/graphic_objects/Makefile.am
scilab/modules/graphic_objects/Makefile.in
scilab/modules/graphic_objects/includes/createGraphicObject.h
scilab/modules/graphic_objects/includes/graphicObjectProperties.h
scilab/modules/graphic_objects/src/c/graphic_objects.vcxproj
scilab/modules/graphic_objects/src/c/graphic_objects.vcxproj.filters
scilab/modules/graphic_objects/src/cpp/createGraphicObject.cpp
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/GraphicObjectBuilder.java [deleted file]
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/graphicController/GraphicController.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/jni/Builder.cpp
scilab/modules/graphic_objects/src/jni/Builder.hxx
scilab/modules/graphic_objects/src/jni/GraphicObjectBuilder.cpp [deleted file]
scilab/modules/graphic_objects/src/jni/GraphicObjectBuilder.hxx [deleted file]
scilab/modules/graphic_objects/src/jni/builder.giws.xml
scilab/modules/graphic_objects/src/jni/graphic_objects.giws.xml
scilab/modules/graphic_objects/src/scripts/propertiesMap.properties
scilab/modules/gui/sci_gateway/c/sci_figure.c
scilab/modules/gui/src/java/org/scilab/modules/gui/SwingView.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/SwingScilabCommonPanel.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/SwingScilabDockablePanel.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/SwingScilabPanel.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/tab/SwingScilabStaticPanel.java
scilab/modules/gui/src/java/org/scilab/modules/gui/bridge/window/SwingScilabWindow.java
scilab/modules/gui/src/java/org/scilab/modules/gui/utils/ClosingOperationsManager.java

index feeada0..a9531ad 100644 (file)
@@ -30,9 +30,8 @@ BUILT_SOURCES =       includes/graphicObjectsProperties.h
 #src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicObjectProperties.java
 
 GRAPHIC_OBJECTS_JNI_SOURCES = src/jni/CallGraphicController.cpp \
-                              src/jni/GraphicObjectBuilder.cpp \
                               src/jni/Builder.cpp \
-                              src/jni/CallXmlLoader.cpp                              
+                              src/jni/CallXmlLoader.cpp
 
 GRAPHIC_OBJECTS_C_SOURCES = src/jni/DataLoader_wrap.c \
                                                        src/jni/ScilabNativeView_wrap.c \
@@ -98,13 +97,13 @@ libscigraphic_objects_la_CPPFLAGS = $(JAVA_JNI_INCLUDE) \
                        -I$(top_srcdir)/modules/core/includes/ \
                        -I$(top_srcdir)/modules/jvm/includes/ \
                        -I$(top_srcdir)/modules/localization/includes/ \
-                       -I$(top_srcdir)/modules/output_stream/includes/ 
+                       -I$(top_srcdir)/modules/output_stream/includes/
                        $(AM_CPPFLAGS)
 
 # Without the graphic_objects module
 libscigraphic_objects_disable_la_CPPFLAGS = -I$(srcdir)/includes/ \
                        -I$(top_srcdir)/modules/localization/includes/ \
-                       -I$(top_srcdir)/modules/output_stream/includes/ 
+                       -I$(top_srcdir)/modules/output_stream/includes/
                        $(AM_CPPFLAGS)
 
 GRAPHIC_OBJECTS_DISABLE_C_SOURCES = src/nographic_objects/nographic_objects.c
index ef43140..c9921a0 100644 (file)
@@ -189,7 +189,6 @@ am__objects_2 = src/jni/libscigraphic_objects_la-DataLoader_wrap.lo \
        src/jni/libscigraphic_objects_la-ObjectData_wrap.lo
 am__objects_3 =  \
        src/jni/libscigraphic_objects_la-CallGraphicController.lo \
-       src/jni/libscigraphic_objects_la-GraphicObjectBuilder.lo \
        src/jni/libscigraphic_objects_la-Builder.lo \
        src/jni/libscigraphic_objects_la-CallXmlLoader.lo
 am__objects_4 =  \
@@ -687,9 +686,8 @@ BUILT_SOURCES = includes/graphicObjectsProperties.h $(am__append_2) \
 #This file is also generated, but can not be listed to prevent GCJ call.
 #src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicObjectProperties.java
 GRAPHIC_OBJECTS_JNI_SOURCES = src/jni/CallGraphicController.cpp \
-                              src/jni/GraphicObjectBuilder.cpp \
                               src/jni/Builder.cpp \
-                              src/jni/CallXmlLoader.cpp                              
+                              src/jni/CallXmlLoader.cpp
 
 GRAPHIC_OBJECTS_C_SOURCES = src/jni/DataLoader_wrap.c \
                                                        src/jni/ScilabNativeView_wrap.c \
@@ -750,13 +748,13 @@ libscigraphic_objects_la_CPPFLAGS = $(JAVA_JNI_INCLUDE) \
                        -I$(top_srcdir)/modules/core/includes/ \
                        -I$(top_srcdir)/modules/jvm/includes/ \
                        -I$(top_srcdir)/modules/localization/includes/ \
-                       -I$(top_srcdir)/modules/output_stream/includes/ 
+                       -I$(top_srcdir)/modules/output_stream/includes/
 
 
 # Without the graphic_objects module
 libscigraphic_objects_disable_la_CPPFLAGS = -I$(srcdir)/includes/ \
                        -I$(top_srcdir)/modules/localization/includes/ \
-                       -I$(top_srcdir)/modules/output_stream/includes/ 
+                       -I$(top_srcdir)/modules/output_stream/includes/
 
 GRAPHIC_OBJECTS_DISABLE_C_SOURCES = src/nographic_objects/nographic_objects.c
 libscigraphic_objects_disable_la_SOURCES = $(GRAPHIC_OBJECTS_DISABLE_C_SOURCES)
@@ -883,8 +881,6 @@ src/jni/libscigraphic_objects_la-ObjectData_wrap.lo:  \
        src/jni/$(am__dirstamp) src/jni/$(DEPDIR)/$(am__dirstamp)
 src/jni/libscigraphic_objects_la-CallGraphicController.lo:  \
        src/jni/$(am__dirstamp) src/jni/$(DEPDIR)/$(am__dirstamp)
-src/jni/libscigraphic_objects_la-GraphicObjectBuilder.lo:  \
-       src/jni/$(am__dirstamp) src/jni/$(DEPDIR)/$(am__dirstamp)
 src/jni/libscigraphic_objects_la-Builder.lo: src/jni/$(am__dirstamp) \
        src/jni/$(DEPDIR)/$(am__dirstamp)
 src/jni/libscigraphic_objects_la-CallXmlLoader.lo:  \
@@ -1032,7 +1028,6 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@src/jni/$(DEPDIR)/libscigraphic_objects_la-CallGraphicController.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/jni/$(DEPDIR)/libscigraphic_objects_la-CallXmlLoader.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/jni/$(DEPDIR)/libscigraphic_objects_la-DataLoader_wrap.Plo@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@src/jni/$(DEPDIR)/libscigraphic_objects_la-GraphicObjectBuilder.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/jni/$(DEPDIR)/libscigraphic_objects_la-ObjectData_wrap.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/jni/$(DEPDIR)/libscigraphic_objects_la-PolylineData_wrap.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/jni/$(DEPDIR)/libscigraphic_objects_la-ScilabNativeView_wrap.Plo@am__quote@
@@ -1136,13 +1131,6 @@ src/jni/libscigraphic_objects_la-CallGraphicController.lo: src/jni/CallGraphicCo
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/jni/libscigraphic_objects_la-CallGraphicController.lo `test -f 'src/jni/CallGraphicController.cpp' || echo '$(srcdir)/'`src/jni/CallGraphicController.cpp
 
-src/jni/libscigraphic_objects_la-GraphicObjectBuilder.lo: src/jni/GraphicObjectBuilder.cpp
-@am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/jni/libscigraphic_objects_la-GraphicObjectBuilder.lo -MD -MP -MF src/jni/$(DEPDIR)/libscigraphic_objects_la-GraphicObjectBuilder.Tpo -c -o src/jni/libscigraphic_objects_la-GraphicObjectBuilder.lo `test -f 'src/jni/GraphicObjectBuilder.cpp' || echo '$(srcdir)/'`src/jni/GraphicObjectBuilder.cpp
-@am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/jni/$(DEPDIR)/libscigraphic_objects_la-GraphicObjectBuilder.Tpo src/jni/$(DEPDIR)/libscigraphic_objects_la-GraphicObjectBuilder.Plo
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     $(AM_V_CXX)source='src/jni/GraphicObjectBuilder.cpp' object='src/jni/libscigraphic_objects_la-GraphicObjectBuilder.lo' libtool=yes @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@     DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@ $(AM_V_CXX@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o src/jni/libscigraphic_objects_la-GraphicObjectBuilder.lo `test -f 'src/jni/GraphicObjectBuilder.cpp' || echo '$(srcdir)/'`src/jni/GraphicObjectBuilder.cpp
-
 src/jni/libscigraphic_objects_la-Builder.lo: src/jni/Builder.cpp
 @am__fastdepCXX_TRUE@  $(AM_V_CXX)$(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libscigraphic_objects_la_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT src/jni/libscigraphic_objects_la-Builder.lo -MD -MP -MF src/jni/$(DEPDIR)/libscigraphic_objects_la-Builder.Tpo -c -o src/jni/libscigraphic_objects_la-Builder.lo `test -f 'src/jni/Builder.cpp' || echo '$(srcdir)/'`src/jni/Builder.cpp
 @am__fastdepCXX_TRUE@  $(AM_V_at)$(am__mv) src/jni/$(DEPDIR)/libscigraphic_objects_la-Builder.Tpo src/jni/$(DEPDIR)/libscigraphic_objects_la-Builder.Plo
index 488a987..6e45435 100644 (file)
@@ -50,6 +50,7 @@ GRAPHIC_OBJECTS_IMPEXP int cloneAxesModel(int iParent);
 GRAPHIC_OBJECTS_IMPEXP int createHiddenLabel(int iParent);
 GRAPHIC_OBJECTS_IMPEXP int createLabel(int iParent, int type);
 GRAPHIC_OBJECTS_IMPEXP int createNewFigureWithAxes();
+GRAPHIC_OBJECTS_IMPEXP int createFigure(int _bDockable, int _iMenubarType, int _iToolbarType, int _bDefaultAxes, int _bVisible);
 GRAPHIC_OBJECTS_IMPEXP int createSubWin(int iParent);
 GRAPHIC_OBJECTS_IMPEXP int createText(int iParentsubwinUID, char** text, int nbRow, int nbCol, double x, double y, BOOL autoSize, double* userSize, int  centerPos, int *foreground, int *background, BOOL isboxed, BOOL isline, BOOL isfilled, int align);
 GRAPHIC_OBJECTS_IMPEXP int createRect(int iParentsubwinUID, double x, double y, double height, double width, int foreground, int background, int isfilled, int isline);
index c96c714..42d995e 100755 (executable)
 #define __GO_FEC__ 7
 #define __GO_FIGURE__ 8
 #define __GO_FIGUREMODEL__ 9
-#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_DEFAULT_AXES__ 105
-#define __GO_UPPER_LEFT_POINT__ 106
-#define __GO_WIDTH__ 107
-#define __GO_HEIGHT__ 108
-#define __GO_START_ANGLE__ 109
-#define __GO_END_ANGLE__ 110
-#define __GO_ARC_DRAWING_METHOD__ 111
-#define __GO_X_AXIS_VISIBLE__ 112
-#define __GO_X_AXIS_REVERSE__ 113
-#define __GO_X_AXIS_GRID_COLOR__ 114
-#define __GO_X_AXIS_GRID_THICKNESS__ 115
-#define __GO_X_AXIS_GRID_STYLE__ 116
-#define __GO_X_AXIS_LABEL__ 117
-#define __GO_X_AXIS_LOCATION__ 118
-#define __GO_X_AXIS_LOG_FLAG__ 119
-#define __GO_X_AXIS_TICKS__ 120
-#define __GO_X_AXIS_AUTO_TICKS__ 121
-#define __GO_X_AXIS_NUMBER_TICKS__ 122
-#define __GO_X_AXIS_TICKS_LOCATIONS__ 123
-#define __GO_X_AXIS_TICKS_LABELS__ 124
-#define __GO_X_AXIS_SUBTICKS__ 125
-#define __GO_Y_AXIS_VISIBLE__ 126
-#define __GO_Y_AXIS_REVERSE__ 127
-#define __GO_Y_AXIS_GRID_COLOR__ 128
-#define __GO_Y_AXIS_GRID_THICKNESS__ 129
-#define __GO_Y_AXIS_GRID_STYLE__ 130
-#define __GO_Y_AXIS_LABEL__ 131
-#define __GO_Y_AXIS_LOCATION__ 132
-#define __GO_Y_AXIS_LOG_FLAG__ 133
-#define __GO_Y_AXIS_TICKS__ 134
-#define __GO_Y_AXIS_AUTO_TICKS__ 135
-#define __GO_Y_AXIS_NUMBER_TICKS__ 136
-#define __GO_Y_AXIS_TICKS_LOCATIONS__ 137
-#define __GO_Y_AXIS_TICKS_LABELS__ 138
-#define __GO_Y_AXIS_SUBTICKS__ 139
-#define __GO_Z_AXIS_VISIBLE__ 140
-#define __GO_Z_AXIS_REVERSE__ 141
-#define __GO_Z_AXIS_GRID_COLOR__ 142
-#define __GO_Z_AXIS_GRID_THICKNESS__ 143
-#define __GO_Z_AXIS_GRID_STYLE__ 144
-#define __GO_Z_AXIS_LABEL__ 145
-#define __GO_Z_AXIS_LOCATION__ 146
-#define __GO_Z_AXIS_LOG_FLAG__ 147
-#define __GO_Z_AXIS_TICKS__ 148
-#define __GO_Z_AXIS_AUTO_TICKS__ 149
-#define __GO_Z_AXIS_NUMBER_TICKS__ 150
-#define __GO_Z_AXIS_TICKS_LOCATIONS__ 151
-#define __GO_Z_AXIS_TICKS_LABELS__ 152
-#define __GO_Z_AXIS_SUBTICKS__ 153
-#define __GO_AUTO_SUBTICKS__ 154
-#define __GO_GRID_POSITION__ 155
-#define __GO_TITLE__ 156
-#define __GO_AUTO_CLEAR__ 157
-#define __GO_FILLED__ 158
-#define __GO_CAMERA__ 159
-#define __GO_VIEW__ 160
-#define __GO_ISOVIEW__ 161
-#define __GO_CUBE_SCALING__ 162
-#define __GO_ROTATION_ANGLES__ 163
-#define __GO_ROTATION_ANGLES_3D__ 164
-#define __GO_BOX_TYPE__ 165
-#define __GO_HIDDEN_AXIS_COLOR__ 166
-#define __GO_TIGHT_LIMITS__ 167
-#define __GO_DATA_BOUNDS__ 168
-#define __GO_REAL_DATA_BOUNDS__ 169
-#define __GO_ZOOM_ENABLED__ 170
-#define __GO_ZOOM_BOX__ 171
-#define __GO_AUTO_SCALE__ 172
-#define __GO_FIRST_PLOT__ 173
-#define __GO_MARGINS__ 174
-#define __GO_AXES_BOUNDS__ 175
-#define __GO_CLIP_PROPERTY__ 176
-#define __GO_CLIP_STATE__ 177
-#define __GO_CLIP_BOX__ 178
-#define __GO_CLIP_BOX_SET__ 179
-#define __GO_LINE__ 180
-#define __GO_LINE_MODE__ 181
-#define __GO_LINE_STYLE__ 182
-#define __GO_LINE_THICKNESS__ 183
-#define __GO_LINE_COLOR__ 184
-#define __GO_FILL_MODE__ 185
-#define __GO_MARK__ 186
-#define __GO_MARK_MODE__ 187
-#define __GO_MARK_STYLE__ 188
-#define __GO_MARK_SIZE_UNIT__ 189
-#define __GO_MARK_SIZE__ 190
-#define __GO_MARK_FOREGROUND__ 191
-#define __GO_MARK_BACKGROUND__ 192
-#define __GO_MARK_OFFSET__ 193
-#define __GO_MARK_STRIDE__ 194
-#define __GO_TICKS_DIRECTION__ 195
-#define __GO_X_NUMBER_TICKS__ 196
-#define __GO_Y_NUMBER_TICKS__ 197
-#define __GO_X_TICKS_COORDS__ 198
-#define __GO_Y_TICKS_COORDS__ 199
-#define __GO_TICKS_COLOR__ 200
-#define __GO_TICKS_SEGMENT__ 201
-#define __GO_TICKS_STYLE__ 202
-#define __GO_SUBTICKS__ 203
-#define __GO_NUMBER_TICKS_LABELS__ 204
-#define __GO_TICKS_LABELS__ 205
-#define __GO_FORMATN__ 206
-#define __GO_FONT__ 207
-#define __GO_FONT_STYLE__ 208
-#define __GO_FONT_SIZE__ 209
-#define __GO_FONT_COLOR__ 210
-#define __GO_FONT_FRACTIONAL__ 211
-#define __GO_Z_BOUNDS__ 212
-#define __GO_OUTSIDE_COLOR__ 213
-#define __GO_COLOR_RANGE__ 214
-#define __GO_DATA_MAPPING__ 215
-#define __GO_FONT_ANGLE__ 216
-#define __GO_AUTO_POSITION__ 217
-#define __GO_CORNERS__ 218
-#define __GO_AUTO_ROTATION__ 219
-#define __GO_LINKS__ 220
-#define __GO_LINKS_COUNT__ 221
-#define __GO_LEGEND_LOCATION__ 222
-#define __GO_CLOSED__ 223
-#define __GO_ARROW_SIZE_FACTOR__ 224
-#define __GO_POLYLINE_STYLE__ 225
-#define __GO_INTERP_COLOR_VECTOR__ 226
-#define __GO_INTERP_COLOR_VECTOR_SET__ 227
-#define __GO_INTERP_COLOR_MODE__ 228
-#define __GO_X_SHIFT__ 229
-#define __GO_Y_SHIFT__ 230
-#define __GO_Z_SHIFT__ 231
-#define __GO_BAR_WIDTH__ 232
-#define __GO_SURFACE_MODE__ 233
-#define __GO_COLOR_MODE__ 234
-#define __GO_COLOR_FLAG__ 235
-#define __GO_ALIGNMENT__ 236
-#define __GO_BOX__ 237
-#define __GO_TEXT_BOX__ 238
-#define __GO_TEXT_BOX_MODE__ 239
-#define __GO_AUTO_DIMENSIONING__ 240
-#define __GO_FORMATTED_TEXT__ 241
-#define __GO_TEXT_ARRAY_DIMENSIONS__ 242
-#define __GO_TEXT_STRINGS__ 243
-#define __GO_BASE__ 244
-#define __GO_BASE_X__ 245
-#define __GO_BASE_Y__ 246
-#define __GO_BASE_Z__ 247
-#define __GO_DIRECTION__ 248
-#define __GO_DIRECTION_X__ 249
-#define __GO_DIRECTION_Y__ 250
-#define __GO_DIRECTION_Z__ 251
-#define __GO_ARROW_SIZE__ 252
-#define __GO_SEGS_COLORS__ 253
-#define __GO_COLORED__ 254
-#define __GO_ARROWS__ 255
-#define __GO_NUMBER_ARROWS__ 256
-#define __GO_CHAMP_DIMENSIONS__ 257
-#define __GO_BOUNDING_BOX__ 258
-#define __GO_MAX_LENGTH__ 259
-#define __GO_MAX_USABLE_LENGTH__ 260
-#define __GO_HIDDEN_COLOR__ 261
-#define __GO_STYLE__ 262
-#define __GO_UI_CHECKBOX__ 263
-#define __GO_UI_EDIT__ 264
-#define __GO_UI_FRAME__ 265
-#define __GO_UI_IMAGE__ 266
-#define __GO_UI_LISTBOX__ 267
-#define __GO_UI_POPUPMENU__ 268
-#define __GO_UI_PUSHBUTTON__ 269
-#define __GO_UI_RADIOBUTTON__ 270
-#define __GO_UI_SLIDER__ 271
-#define __GO_UI_TABLE__ 272
-#define __GO_UI_TEXT__ 273
-#define __GO_UI_LAYER__ 274
-#define __GO_UI_BACKGROUNDCOLOR__ 275
-#define __GO_UI_ENABLE__ 276
-#define __GO_UI_FONTANGLE__ 277
-#define __GO_UI_FONTNAME__ 278
-#define __GO_UI_FONTSIZE__ 279
-#define __GO_UI_FONTUNITS__ 280
-#define __GO_UI_FONTWEIGHT__ 281
-#define __GO_UI_FOREGROUNDCOLOR__ 282
-#define __GO_UI_HORIZONTALALIGNMENT__ 283
-#define __GO_UI_LISTBOXTOP__ 284
-#define __GO_UI_LISTBOXTOP_SIZE__ 285
-#define __GO_UI_MAX__ 286
-#define __GO_UI_MIN__ 287
-#define __GO_UI_RELIEF__ 288
-#define __GO_UI_STRING__ 289
-#define __GO_UI_STRING_SIZE__ 290
-#define __GO_UI_STRING_COLNB__ 291
-#define __GO_UI_TOOLTIPSTRING__ 292
-#define __GO_UI_TOOLTIPSTRING_SIZE__ 293
-#define __GO_UI_SLIDERSTEP__ 294
-#define __GO_UI_UNITS__ 295
-#define __GO_UI_VALUE__ 296
-#define __GO_UI_VALUE_SIZE__ 297
-#define __GO_UI_VERTICALALIGNMENT__ 298
-#define __GO_UIPARENTMENU__ 299
-#define __GO_UICHILDMENU__ 300
-#define __GO_UICHECKEDMENU__ 301
-#define __GO_UI_CHECKED__ 302
-#define __GO_UI_LABEL__ 303
-#define __GO_UI_MNEMONIC__ 304
-#define __GO_UI_ACCELERATOR__ 305
-#define __GO_UI_SEPARATOR__ 306
-#define __GO_UI_ICON__ 307
-#define __GO_CONSOLE__ 308
-#define __GO_SHOWHIDDENHANDLES__ 309
-#define __GO_WAITBAR__ 310
-#define __GO_PROGRESSIONBAR__ 311
-#define __GO_UI_MESSAGE__ 312
-#define __GO_UI_MESSAGE_SIZE__ 313
-#define __GO_DATATIP__ 314
-#define __GO_DATATIP_DATA__ 315
-#define __GO_DATATIP_ORIENTATION__ 316
-#define __GO_DATATIP_3COMPONENT__ 317
-#define __GO_DATATIP_AUTOORIENTATION__ 318
-#define __GO_DATATIP_INTERP_MODE__ 319
-#define __GO_DATATIP_DISPLAY_FNC__ 320
-#define __GO_DATATIP_BOX_MODE__ 321
-#define __GO_DATATIP_LABEL_MODE__ 322
-#define __GO_AMBIENTCOLOR__ 323
-#define __GO_DIFFUSECOLOR__ 324
-#define __GO_SPECULARCOLOR__ 325
-#define __GO_COLOR_MATERIAL__ 326
-#define __GO_MATERIAL_SHININESS__ 327
-#define __GO_LIGHT__ 328
-#define __GO_LIGHT_TYPE__ 329
-#define __GO_DATATIPS__ 330
-#define __GO_DATATIPS_COUNT__ 331
-#define __GO_DATATIP_INDEXES__ 332
-#define __GO_DATA_MODEL_DISPLAY_FUNCTION__ 333
-#define __GO_DATA_MODEL_DISPLAY_FUNCTION_SIZE__ 334
-#define __GO_RESIZE__ 335
-#define __GO_TOOLBAR__ 336
-#define __GO_TOOLBAR_VISIBLE__ 337
-#define __GO_MENUBAR__ 338
-#define __GO_MENUBAR_VISIBLE__ 339
-#define __GO_INFOBAR_VISIBLE__ 340
-#define __GO_DOCKABLE__ 341
-#define __GO_LAYOUT__ 342
-#define __GO_LAYOUT_SET__ 343
-#define __GO_UI_TAB__ 344
-#define __GO_UI_GRIDBAG_GRID__ 345
-#define __GO_UI_GRIDBAG_WEIGHT__ 346
-#define __GO_UI_GRIDBAG_FILL__ 347
-#define __GO_UI_GRIDBAG_ANCHOR__ 348
-#define __GO_UI_GRIDBAG_PADDING__ 349
-#define __GO_UI_GRID_GRID__ 350
-#define __GO_UI_GRID_PADDING__ 351
-#define __GO_UI_BORDER_POSITION__ 352
-#define __GO_GRID_OPT_GRID__ 353
-#define __GO_GRID_OPT_PADDING__ 354
-#define __GO_BORDER_OPT_PADDING__ 355
-#define __GO_UI_FRAME_BORDER__ 356
-#define __GO_UI_FRAME_BORDER_COLOR__ 357
-#define __GO_UI_FRAME_BORDER_HIGHLIGHT_IN__ 358
-#define __GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__ 359
-#define __GO_UI_FRAME_BORDER_IN_BORDER__ 360
-#define __GO_UI_FRAME_BORDER_JUSTIFICATION__ 361
-#define __GO_UI_FRAME_BORDER_OUT_BORDER__ 362
-#define __GO_UI_FRAME_BORDER_ROUNDED__ 363
-#define __GO_UI_FRAME_BORDER_SHADOW_IN__ 364
-#define __GO_UI_FRAME_BORDER_SHADOW_OUT__ 365
-#define __GO_UI_FRAME_BORDER_TITLE__ 366
-#define __GO_UI_FRAME_BORDER_POSITION__ 367
-#define __GO_UI_FRAME_BORDER_STYLE__ 368
-#define __GO_UI_GROUP_NAME__ 369
-#define __GO_UI_TITLE_POSITION__ 370
-#define __GO_UI_TITLE_SCROLL__ 371
+#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_DEFAULT_AXES__ 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
+#define __GO_UI_TITLE_POSITION__ 369
+#define __GO_UI_TITLE_SCROLL__ 370
 
 #endif /* !__GRAPHIC_OBJECT_PROPERTIES_H__ */
index af73a85..dbc62a2 100644 (file)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup Label="ProjectConfigurations">
     <ProjectConfiguration Include="Debug|Win32">
     <ClCompile Include="..\cpp\deleteGraphicObject.cpp" />
     <ClCompile Include="..\jni\ObjectData_wrap.c" />
     <ClCompile Include="..\jni\PolylineData_wrap.c" />
-    <ClCompile Include="..\jni\GraphicObjectBuilder.cpp" />
     <ClCompile Include="..\jni\ScilabNativeView_wrap.c" />
     <ClCompile Include="DllmainGraphic_objects.c" />
     <ClCompile Include="..\cpp\Fac3DDecomposer.cpp" />
     <ClInclude Include="..\..\includes\TriangleMeshData.hxx" />
     <ClInclude Include="..\..\includes\TriangleMeshFecDataDecomposer.hxx" />
     <ClInclude Include="..\jni\CallXmlLoader.hxx" />
-    <ClInclude Include="..\jni\GraphicObjectBuilder.hxx" />
   </ItemGroup>
   <ItemGroup>
     <None Include="..\jni\ObjectData.i" />
index 9b21fff..85e26de 100644 (file)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="utf-8"?>
+<?xml version="1.0" encoding="utf-8"?>
 <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <ItemGroup>
     <Filter Include="Source Files">
     <ClCompile Include="..\cpp\pickSurface.cpp">
       <Filter>Source Files</Filter>
     </ClCompile>
-    <ClCompile Include="..\jni\GraphicObjectBuilder.cpp">
-      <Filter>Source Files</Filter>
-    </ClCompile>
     <ClCompile Include="..\jni\ObjectData_wrap.c">
       <Filter>Source Files</Filter>
     </ClCompile>
     <ClInclude Include="..\..\includes\MatPlotDecomposer.hxx">
       <Filter>Header Files</Filter>
     </ClInclude>
-    <ClInclude Include="..\jni\GraphicObjectBuilder.hxx">
-      <Filter>Header Files</Filter>
-    </ClInclude>
     <ClInclude Include="..\..\includes\Matplot.h">
       <Filter>Header Files</Filter>
     </ClInclude>
index 0f5673b..7f8eb6b 100644 (file)
@@ -79,6 +79,11 @@ int createNewFigureWithAxes()
     return Builder::createNewFigureWithAxes(getScilabJavaVM());
 }
 
+int createFigure(int iDockable, int iMenubarType, int iToolbarType, int iDefaultAxes, int iVisible)
+{
+    return Builder::createFigure(getScilabJavaVM(), iDockable, iMenubarType, iToolbarType, iDefaultAxes, iVisible);
+}
+
 void cloneMenus(int model, int newParent)
 {
     Builder::cloneMenus(getScilabJavaVM(), model, newParent);
diff --git a/scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/GraphicObjectBuilder.java b/scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/GraphicObjectBuilder.java
deleted file mode 100644 (file)
index 993ba9d..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
- * Copyright (C) 2010 - DIGITEO - Bruno JOFRET
- * Copyright (C) 2012 - Scilab Enterprises - Calixte DENIZET
- * Copyright (C) 2013 - 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.graphic_objects;
-
-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.graphicObject.GraphicObjectProperties;
-
-/**
- * This is a static class to access all controller capabilities
- * from C/C++ code through JNI
- * See SCI/modules/graphic_objects/src/jni/graphic_objects.giws.xml for other details.
- **/
-public final class GraphicObjectBuilder {
-
-    public static Figure createNewFigureWithAxes(Integer id) {
-        GraphicController controller = GraphicController.getController();
-
-        final int[] props = new int[] {GraphicObjectProperties.__GO_X_AXIS_LABEL__, GraphicObjectProperties.__GO_Y_AXIS_LABEL__, GraphicObjectProperties.__GO_Z_AXIS_LABEL__, GraphicObjectProperties.__GO_TITLE__};
-        Integer figureModelUID = GraphicModel.getFigureModel().getIdentifier();
-        Integer axesModelUID = GraphicModel.getAxesModel().getIdentifier();
-        Integer newFID = controller.createUID();
-        Integer newAID = controller.createUID();
-        GraphicModel.getModel().cloneObject(figureModelUID, newFID);
-        GraphicModel.getModel().cloneObject(axesModelUID, newAID);
-
-        controller.setProperty(newFID, GraphicObjectProperties.__GO_ID__, id);
-        controller.setGraphicObjectRelationship(newFID, newAID);
-        controller.setProperty(newFID, GraphicObjectProperties.__GO_SELECTED_CHILD__, newAID);
-
-        for (Integer type : props) {
-            final double[] position = new double[] {1, 1, 1};
-            Integer modelLabelUID = (Integer) controller.getProperty(axesModelUID, type);
-            Integer pobjUID = controller.createUID();
-            GraphicModel.getModel().cloneObject(modelLabelUID, pobjUID);
-            controller.setProperty(pobjUID, GraphicObjectProperties.__GO_POSITION__, position);
-
-            Boolean autoPosition = (Boolean ) controller.getProperty(modelLabelUID, GraphicObjectProperties.__GO_AUTO_POSITION__);
-            controller.setProperty(pobjUID, GraphicObjectProperties.__GO_AUTO_POSITION__, autoPosition);
-
-            controller.setProperty(newAID, type, pobjUID);
-            CallGraphicController.setGraphicObjectRelationship(newAID, pobjUID);
-        }
-
-        ScilabNativeView.ScilabNativeView__createObject(newFID);
-        ScilabNativeView.ScilabNativeView__updateObject(newFID, GraphicObjectProperties.__GO_ID__);
-        ScilabNativeView.ScilabNativeView__setCurrentObject(newAID);
-        ScilabNativeView.ScilabNativeView__setCurrentSubWin(newAID);
-        ScilabNativeView.ScilabNativeView__setCurrentFigure(newFID);
-
-        Integer[] axesSize = (Integer[]) controller.getProperty(figureModelUID, GraphicObjectProperties.__GO_AXES_SIZE__);
-        controller.setProperty(newFID, GraphicObjectProperties.__GO_AXES_SIZE__, axesSize);
-
-        return (Figure) controller.getObjectFromId(newFID);
-    }
-
-    public static int constructRectangles(int pparentsubwinUID, double x, double y, double height, double width, int foreground, int background, int isfilled, int isline) {
-        GraphicController controller = GraphicController.getController();
-
-        Double[] clipRegion;
-        Boolean visible = false;
-        Boolean clipRegionSet = false;
-        Integer clipState = 0;
-        Boolean iMarkMode = false;
-
-        if (height < 0 || width < 0) {
-            return 0;
-        }
-
-        Integer pobjUID = CallGraphicController.askGraphicObject(GraphicObjectProperties.__GO_RECTANGLE__);
-
-        /*
-         * Sets the rectangle's parent in order to initialize the former's Contoured properties
-         * with the latter's values (cloneGraphicContext call below)
-         */
-        //setGraphicObjectProperty(pobjUID, __GO_PARENT__, pparentsubwinUID, jni_string, 1);
-
-        controller.setProperty(pobjUID, GraphicObjectProperties.__GO_UPPER_LEFT_POINT__, new Double[] {x, y, 0.0});
-        controller.setProperty(pobjUID, GraphicObjectProperties.__GO_HEIGHT__, height);
-        controller.setProperty(pobjUID, GraphicObjectProperties.__GO_WIDTH__, width);
-
-        visible = (Boolean) controller.getProperty(pparentsubwinUID, GraphicObjectProperties.__GO_VISIBLE__);
-        controller.setProperty(pobjUID, GraphicObjectProperties.__GO_VISIBLE__, visible);
-
-        /* Clip state and region */
-        /* To be checked for consistency */
-
-        clipRegion = (Double[]) controller.getProperty(pparentsubwinUID, GraphicObjectProperties.__GO_CLIP_BOX__);
-        controller.setProperty(pobjUID, GraphicObjectProperties.__GO_CLIP_BOX__, clipRegion);
-
-        clipRegionSet = (Boolean) controller.getProperty(pparentsubwinUID, GraphicObjectProperties.__GO_CLIP_BOX_SET__);
-        controller.setProperty(pobjUID, GraphicObjectProperties.__GO_CLIP_BOX_SET__,  clipRegionSet);
-
-        clipState = (Integer) controller.getProperty(pparentsubwinUID, GraphicObjectProperties.__GO_CLIP_STATE__);
-        controller.setProperty(pobjUID, GraphicObjectProperties.__GO_CLIP_STATE__, clipState);
-
-        iMarkMode = (Boolean) controller.getProperty(pparentsubwinUID, GraphicObjectProperties.__GO_MARK_MODE__);
-        controller.setProperty(pobjUID, GraphicObjectProperties.__GO_MARK_MODE__, iMarkMode);
-
-        /*
-         * Initializes the contour properties (background, foreground, etc)
-         * to the default values (those of the parent Axes).
-         */
-        cloneGraphicContext(pparentsubwinUID, pobjUID);
-
-        /* Contour settings */
-        controller.setProperty(pobjUID, GraphicObjectProperties.__GO_LINE_MODE__, isline == 1);
-        controller.setProperty(pobjUID, GraphicObjectProperties.__GO_FILL_MODE__, isfilled == 1);
-
-        if (foreground != -1) {
-            controller.setProperty(pobjUID, GraphicObjectProperties.__GO_LINE_COLOR__, foreground);
-        }
-
-        if (background != -1) {
-            controller.setProperty(pobjUID, GraphicObjectProperties.__GO_BACKGROUND__, background);
-        }
-
-        /* Parent reset to the null object */
-        //setGraphicObjectProperty(pobjUID, GraphicObjectProperties.__GO_PARENT__, "", jni_string, 1);
-
-        /*
-         * Sets the Axes as the rectangle's parent and adds the rectangle to
-         * its parent's list of children.
-         */
-        //setGraphicObjectRelationship(pparentsubwinUID, pobjUID);
-
-        return pobjUID;
-    }
-
-    public static int cloneGraphicContext(Integer sourceIdentifier, Integer destIdentifier) {
-        GraphicController controller = GraphicController.getController();
-        Boolean lineMode = false;
-        Integer foreground = 0;
-        Integer lineStyle = 0;
-        Integer background = 0;
-        Integer markForeground = 0;
-        Integer markBackground = 0;
-        Integer markStyle = 0;
-        Integer markSize = 0;
-        Integer markSizeUnit = 0;
-        Double lineThickness = 0.;
-
-        /*
-         * All these properties are passed by value thus do not care to release them
-         * and do not call releaseGraphicObjectProperty on purpose.
-         */
-
-        lineMode = (Boolean) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_LINE_MODE__);
-        foreground = (Integer) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_LINE_COLOR__);
-        lineThickness = (Double) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_LINE_THICKNESS__);
-        lineStyle = (Integer) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_LINE_STYLE__);
-
-        background = (Integer) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_BACKGROUND__);
-
-        markForeground = (Integer) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_MARK_FOREGROUND__);
-
-        markBackground = (Integer) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_MARK_BACKGROUND__);
-
-        markStyle = (Integer) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_MARK_STYLE__);
-
-        markSize = (Integer) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_MARK_SIZE__);
-
-        markSizeUnit = (Integer) controller.getProperty(sourceIdentifier, GraphicObjectProperties.__GO_MARK_SIZE_UNIT__);
-
-        controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_LINE_MODE__, lineMode);
-        controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_LINE_COLOR__, foreground);
-        controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_LINE_THICKNESS__, lineThickness);
-        controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_LINE_STYLE__, lineStyle);
-
-        controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_BACKGROUND__, background);
-
-        controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_MARK_FOREGROUND__, markForeground);
-        controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_MARK_BACKGROUND__, markBackground);
-        controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_MARK_STYLE__, markStyle);
-        controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_MARK_SIZE__, markSize);
-        controller.setProperty(destIdentifier, GraphicObjectProperties.__GO_MARK_SIZE_UNIT__, markSizeUnit);
-
-        return 0;
-    }
-}
index 789c768..fe84fb3 100644 (file)
@@ -22,6 +22,7 @@ import org.scilab.modules.graphic_objects.axes.Axes;
 import org.scilab.modules.graphic_objects.axis.Axis;
 import org.scilab.modules.graphic_objects.fec.Fec;
 import org.scilab.modules.graphic_objects.figure.Figure;
+import org.scilab.modules.graphic_objects.figure.Figure.BarType;
 import org.scilab.modules.graphic_objects.graphicController.GraphicController;
 import org.scilab.modules.graphic_objects.graphicModel.GraphicModel;
 import org.scilab.modules.graphic_objects.graphicObject.GraphicObject;
@@ -313,6 +314,31 @@ public final class Builder {
             }
         }
     }
+        
+    public final static int createFigure(boolean dockable, int menubarType, int toolbarType, boolean defaultAxes, boolean visible) {
+        GraphicController controller =  GraphicController.getController();
+        Integer figModel = GraphicModel.getFigureModel().getIdentifier();
+        Integer figId = controller.cloneObject(figModel, false);
+        Figure figure = (Figure) controller.getObjectFromId(figId);
+        figure.setDockable(dockable);
+        figure.setMenubar(menubarType);
+        figure.setToolbar(toolbarType);
+        figure.setVisible(visible);
+        
+        controller.objectCreated(figId);
+        ScilabNativeView.ScilabNativeView__setCurrentFigure(figId);
+        
+        if (menubarType == BarType.FIGURE.ordinal()) {
+            cloneMenus(figModel, figId);
+        }
+        
+        if (defaultAxes) {
+            //clone default axes
+            cloneAxesModel(figId);
+        }
+
+        return figId;
+    }
     
     public final static int createNewFigureWithAxes() {
         GraphicController controller = GraphicController.getController();
index e5101ab..6f0b2d2 100644 (file)
@@ -203,16 +203,13 @@ public class GraphicController {
 
     }
 
-    /**
-     * Ask the model to clone an object
-     * @param id : the ID of the object to clone.
-     * @return the id of the clone.
-     */
-    public Integer cloneObject(Integer id) {
+    public Integer cloneObject(Integer id, boolean broadcastMessage) {
         try {
             Integer newId = createUID();
             GraphicModel.getModel().cloneObject(id, newId);
-            objectCreated(newId);
+            if (broadcastMessage) {
+                objectCreated(newId);
+            }
 
             return newId;
         } catch (Exception e) {
@@ -223,6 +220,15 @@ public class GraphicController {
             return 0;
         }
     }
+    
+    /**
+     * Ask the model to clone an object
+     * @param id : the ID of the object to clone.
+     * @return the id of the clone.
+     */
+    public Integer cloneObject(Integer id) {
+        return cloneObject(id, true);
+    }
 
     /**
      * Deletes an object
index e213577..f01f3e6 100644 (file)
@@ -219,11 +219,6 @@ 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 6751830..bb7cea5 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, WINDOW, FIGUREMODEL, GRAYPLOT,
+    public enum Type { ARC, AXES, AXESMODEL, AXIS, CHAMP, COMPOUND, FAC3D, FEC, FIGURE, 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,8 +168,6 @@ 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 ebe5749..8bd2355 100755 (executable)
@@ -30,367 +30,366 @@ 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_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_DEFAULT_AXES__ = 105;
-    public static final int __GO_UPPER_LEFT_POINT__ = 106;
-    public static final int __GO_WIDTH__ = 107;
-    public static final int __GO_HEIGHT__ = 108;
-    public static final int __GO_START_ANGLE__ = 109;
-    public static final int __GO_END_ANGLE__ = 110;
-    public static final int __GO_ARC_DRAWING_METHOD__ = 111;
-    public static final int __GO_X_AXIS_VISIBLE__ = 112;
-    public static final int __GO_X_AXIS_REVERSE__ = 113;
-    public static final int __GO_X_AXIS_GRID_COLOR__ = 114;
-    public static final int __GO_X_AXIS_GRID_THICKNESS__ = 115;
-    public static final int __GO_X_AXIS_GRID_STYLE__ = 116;
-    public static final int __GO_X_AXIS_LABEL__ = 117;
-    public static final int __GO_X_AXIS_LOCATION__ = 118;
-    public static final int __GO_X_AXIS_LOG_FLAG__ = 119;
-    public static final int __GO_X_AXIS_TICKS__ = 120;
-    public static final int __GO_X_AXIS_AUTO_TICKS__ = 121;
-    public static final int __GO_X_AXIS_NUMBER_TICKS__ = 122;
-    public static final int __GO_X_AXIS_TICKS_LOCATIONS__ = 123;
-    public static final int __GO_X_AXIS_TICKS_LABELS__ = 124;
-    public static final int __GO_X_AXIS_SUBTICKS__ = 125;
-    public static final int __GO_Y_AXIS_VISIBLE__ = 126;
-    public static final int __GO_Y_AXIS_REVERSE__ = 127;
-    public static final int __GO_Y_AXIS_GRID_COLOR__ = 128;
-    public static final int __GO_Y_AXIS_GRID_THICKNESS__ = 129;
-    public static final int __GO_Y_AXIS_GRID_STYLE__ = 130;
-    public static final int __GO_Y_AXIS_LABEL__ = 131;
-    public static final int __GO_Y_AXIS_LOCATION__ = 132;
-    public static final int __GO_Y_AXIS_LOG_FLAG__ = 133;
-    public static final int __GO_Y_AXIS_TICKS__ = 134;
-    public static final int __GO_Y_AXIS_AUTO_TICKS__ = 135;
-    public static final int __GO_Y_AXIS_NUMBER_TICKS__ = 136;
-    public static final int __GO_Y_AXIS_TICKS_LOCATIONS__ = 137;
-    public static final int __GO_Y_AXIS_TICKS_LABELS__ = 138;
-    public static final int __GO_Y_AXIS_SUBTICKS__ = 139;
-    public static final int __GO_Z_AXIS_VISIBLE__ = 140;
-    public static final int __GO_Z_AXIS_REVERSE__ = 141;
-    public static final int __GO_Z_AXIS_GRID_COLOR__ = 142;
-    public static final int __GO_Z_AXIS_GRID_THICKNESS__ = 143;
-    public static final int __GO_Z_AXIS_GRID_STYLE__ = 144;
-    public static final int __GO_Z_AXIS_LABEL__ = 145;
-    public static final int __GO_Z_AXIS_LOCATION__ = 146;
-    public static final int __GO_Z_AXIS_LOG_FLAG__ = 147;
-    public static final int __GO_Z_AXIS_TICKS__ = 148;
-    public static final int __GO_Z_AXIS_AUTO_TICKS__ = 149;
-    public static final int __GO_Z_AXIS_NUMBER_TICKS__ = 150;
-    public static final int __GO_Z_AXIS_TICKS_LOCATIONS__ = 151;
-    public static final int __GO_Z_AXIS_TICKS_LABELS__ = 152;
-    public static final int __GO_Z_AXIS_SUBTICKS__ = 153;
-    public static final int __GO_AUTO_SUBTICKS__ = 154;
-    public static final int __GO_GRID_POSITION__ = 155;
-    public static final int __GO_TITLE__ = 156;
-    public static final int __GO_AUTO_CLEAR__ = 157;
-    public static final int __GO_FILLED__ = 158;
-    public static final int __GO_CAMERA__ = 159;
-    public static final int __GO_VIEW__ = 160;
-    public static final int __GO_ISOVIEW__ = 161;
-    public static final int __GO_CUBE_SCALING__ = 162;
-    public static final int __GO_ROTATION_ANGLES__ = 163;
-    public static final int __GO_ROTATION_ANGLES_3D__ = 164;
-    public static final int __GO_BOX_TYPE__ = 165;
-    public static final int __GO_HIDDEN_AXIS_COLOR__ = 166;
-    public static final int __GO_TIGHT_LIMITS__ = 167;
-    public static final int __GO_DATA_BOUNDS__ = 168;
-    public static final int __GO_REAL_DATA_BOUNDS__ = 169;
-    public static final int __GO_ZOOM_ENABLED__ = 170;
-    public static final int __GO_ZOOM_BOX__ = 171;
-    public static final int __GO_AUTO_SCALE__ = 172;
-    public static final int __GO_FIRST_PLOT__ = 173;
-    public static final int __GO_MARGINS__ = 174;
-    public static final int __GO_AXES_BOUNDS__ = 175;
-    public static final int __GO_CLIP_PROPERTY__ = 176;
-    public static final int __GO_CLIP_STATE__ = 177;
-    public static final int __GO_CLIP_BOX__ = 178;
-    public static final int __GO_CLIP_BOX_SET__ = 179;
-    public static final int __GO_LINE__ = 180;
-    public static final int __GO_LINE_MODE__ = 181;
-    public static final int __GO_LINE_STYLE__ = 182;
-    public static final int __GO_LINE_THICKNESS__ = 183;
-    public static final int __GO_LINE_COLOR__ = 184;
-    public static final int __GO_FILL_MODE__ = 185;
-    public static final int __GO_MARK__ = 186;
-    public static final int __GO_MARK_MODE__ = 187;
-    public static final int __GO_MARK_STYLE__ = 188;
-    public static final int __GO_MARK_SIZE_UNIT__ = 189;
-    public static final int __GO_MARK_SIZE__ = 190;
-    public static final int __GO_MARK_FOREGROUND__ = 191;
-    public static final int __GO_MARK_BACKGROUND__ = 192;
-    public static final int __GO_MARK_OFFSET__ = 193;
-    public static final int __GO_MARK_STRIDE__ = 194;
-    public static final int __GO_TICKS_DIRECTION__ = 195;
-    public static final int __GO_X_NUMBER_TICKS__ = 196;
-    public static final int __GO_Y_NUMBER_TICKS__ = 197;
-    public static final int __GO_X_TICKS_COORDS__ = 198;
-    public static final int __GO_Y_TICKS_COORDS__ = 199;
-    public static final int __GO_TICKS_COLOR__ = 200;
-    public static final int __GO_TICKS_SEGMENT__ = 201;
-    public static final int __GO_TICKS_STYLE__ = 202;
-    public static final int __GO_SUBTICKS__ = 203;
-    public static final int __GO_NUMBER_TICKS_LABELS__ = 204;
-    public static final int __GO_TICKS_LABELS__ = 205;
-    public static final int __GO_FORMATN__ = 206;
-    public static final int __GO_FONT__ = 207;
-    public static final int __GO_FONT_STYLE__ = 208;
-    public static final int __GO_FONT_SIZE__ = 209;
-    public static final int __GO_FONT_COLOR__ = 210;
-    public static final int __GO_FONT_FRACTIONAL__ = 211;
-    public static final int __GO_Z_BOUNDS__ = 212;
-    public static final int __GO_OUTSIDE_COLOR__ = 213;
-    public static final int __GO_COLOR_RANGE__ = 214;
-    public static final int __GO_DATA_MAPPING__ = 215;
-    public static final int __GO_FONT_ANGLE__ = 216;
-    public static final int __GO_AUTO_POSITION__ = 217;
-    public static final int __GO_CORNERS__ = 218;
-    public static final int __GO_AUTO_ROTATION__ = 219;
-    public static final int __GO_LINKS__ = 220;
-    public static final int __GO_LINKS_COUNT__ = 221;
-    public static final int __GO_LEGEND_LOCATION__ = 222;
-    public static final int __GO_CLOSED__ = 223;
-    public static final int __GO_ARROW_SIZE_FACTOR__ = 224;
-    public static final int __GO_POLYLINE_STYLE__ = 225;
-    public static final int __GO_INTERP_COLOR_VECTOR__ = 226;
-    public static final int __GO_INTERP_COLOR_VECTOR_SET__ = 227;
-    public static final int __GO_INTERP_COLOR_MODE__ = 228;
-    public static final int __GO_X_SHIFT__ = 229;
-    public static final int __GO_Y_SHIFT__ = 230;
-    public static final int __GO_Z_SHIFT__ = 231;
-    public static final int __GO_BAR_WIDTH__ = 232;
-    public static final int __GO_SURFACE_MODE__ = 233;
-    public static final int __GO_COLOR_MODE__ = 234;
-    public static final int __GO_COLOR_FLAG__ = 235;
-    public static final int __GO_ALIGNMENT__ = 236;
-    public static final int __GO_BOX__ = 237;
-    public static final int __GO_TEXT_BOX__ = 238;
-    public static final int __GO_TEXT_BOX_MODE__ = 239;
-    public static final int __GO_AUTO_DIMENSIONING__ = 240;
-    public static final int __GO_FORMATTED_TEXT__ = 241;
-    public static final int __GO_TEXT_ARRAY_DIMENSIONS__ = 242;
-    public static final int __GO_TEXT_STRINGS__ = 243;
-    public static final int __GO_BASE__ = 244;
-    public static final int __GO_BASE_X__ = 245;
-    public static final int __GO_BASE_Y__ = 246;
-    public static final int __GO_BASE_Z__ = 247;
-    public static final int __GO_DIRECTION__ = 248;
-    public static final int __GO_DIRECTION_X__ = 249;
-    public static final int __GO_DIRECTION_Y__ = 250;
-    public static final int __GO_DIRECTION_Z__ = 251;
-    public static final int __GO_ARROW_SIZE__ = 252;
-    public static final int __GO_SEGS_COLORS__ = 253;
-    public static final int __GO_COLORED__ = 254;
-    public static final int __GO_ARROWS__ = 255;
-    public static final int __GO_NUMBER_ARROWS__ = 256;
-    public static final int __GO_CHAMP_DIMENSIONS__ = 257;
-    public static final int __GO_BOUNDING_BOX__ = 258;
-    public static final int __GO_MAX_LENGTH__ = 259;
-    public static final int __GO_MAX_USABLE_LENGTH__ = 260;
-    public static final int __GO_HIDDEN_COLOR__ = 261;
-    public static final int __GO_STYLE__ = 262;
-    public static final int __GO_UI_CHECKBOX__ = 263;
-    public static final int __GO_UI_EDIT__ = 264;
-    public static final int __GO_UI_FRAME__ = 265;
-    public static final int __GO_UI_IMAGE__ = 266;
-    public static final int __GO_UI_LISTBOX__ = 267;
-    public static final int __GO_UI_POPUPMENU__ = 268;
-    public static final int __GO_UI_PUSHBUTTON__ = 269;
-    public static final int __GO_UI_RADIOBUTTON__ = 270;
-    public static final int __GO_UI_SLIDER__ = 271;
-    public static final int __GO_UI_TABLE__ = 272;
-    public static final int __GO_UI_TEXT__ = 273;
-    public static final int __GO_UI_LAYER__ = 274;
-    public static final int __GO_UI_BACKGROUNDCOLOR__ = 275;
-    public static final int __GO_UI_ENABLE__ = 276;
-    public static final int __GO_UI_FONTANGLE__ = 277;
-    public static final int __GO_UI_FONTNAME__ = 278;
-    public static final int __GO_UI_FONTSIZE__ = 279;
-    public static final int __GO_UI_FONTUNITS__ = 280;
-    public static final int __GO_UI_FONTWEIGHT__ = 281;
-    public static final int __GO_UI_FOREGROUNDCOLOR__ = 282;
-    public static final int __GO_UI_HORIZONTALALIGNMENT__ = 283;
-    public static final int __GO_UI_LISTBOXTOP__ = 284;
-    public static final int __GO_UI_LISTBOXTOP_SIZE__ = 285;
-    public static final int __GO_UI_MAX__ = 286;
-    public static final int __GO_UI_MIN__ = 287;
-    public static final int __GO_UI_RELIEF__ = 288;
-    public static final int __GO_UI_STRING__ = 289;
-    public static final int __GO_UI_STRING_SIZE__ = 290;
-    public static final int __GO_UI_STRING_COLNB__ = 291;
-    public static final int __GO_UI_TOOLTIPSTRING__ = 292;
-    public static final int __GO_UI_TOOLTIPSTRING_SIZE__ = 293;
-    public static final int __GO_UI_SLIDERSTEP__ = 294;
-    public static final int __GO_UI_UNITS__ = 295;
-    public static final int __GO_UI_VALUE__ = 296;
-    public static final int __GO_UI_VALUE_SIZE__ = 297;
-    public static final int __GO_UI_VERTICALALIGNMENT__ = 298;
-    public static final int __GO_UIPARENTMENU__ = 299;
-    public static final int __GO_UICHILDMENU__ = 300;
-    public static final int __GO_UICHECKEDMENU__ = 301;
-    public static final int __GO_UI_CHECKED__ = 302;
-    public static final int __GO_UI_LABEL__ = 303;
-    public static final int __GO_UI_MNEMONIC__ = 304;
-    public static final int __GO_UI_ACCELERATOR__ = 305;
-    public static final int __GO_UI_SEPARATOR__ = 306;
-    public static final int __GO_UI_ICON__ = 307;
-    public static final int __GO_CONSOLE__ = 308;
-    public static final int __GO_SHOWHIDDENHANDLES__ = 309;
-    public static final int __GO_WAITBAR__ = 310;
-    public static final int __GO_PROGRESSIONBAR__ = 311;
-    public static final int __GO_UI_MESSAGE__ = 312;
-    public static final int __GO_UI_MESSAGE_SIZE__ = 313;
-    public static final int __GO_DATATIP__ = 314;
-    public static final int __GO_DATATIP_DATA__ = 315;
-    public static final int __GO_DATATIP_ORIENTATION__ = 316;
-    public static final int __GO_DATATIP_3COMPONENT__ = 317;
-    public static final int __GO_DATATIP_AUTOORIENTATION__ = 318;
-    public static final int __GO_DATATIP_INTERP_MODE__ = 319;
-    public static final int __GO_DATATIP_DISPLAY_FNC__ = 320;
-    public static final int __GO_DATATIP_BOX_MODE__ = 321;
-    public static final int __GO_DATATIP_LABEL_MODE__ = 322;
-    public static final int __GO_AMBIENTCOLOR__ = 323;
-    public static final int __GO_DIFFUSECOLOR__ = 324;
-    public static final int __GO_SPECULARCOLOR__ = 325;
-    public static final int __GO_COLOR_MATERIAL__ = 326;
-    public static final int __GO_MATERIAL_SHININESS__ = 327;
-    public static final int __GO_LIGHT__ = 328;
-    public static final int __GO_LIGHT_TYPE__ = 329;
-    public static final int __GO_DATATIPS__ = 330;
-    public static final int __GO_DATATIPS_COUNT__ = 331;
-    public static final int __GO_DATATIP_INDEXES__ = 332;
-    public static final int __GO_DATA_MODEL_DISPLAY_FUNCTION__ = 333;
-    public static final int __GO_DATA_MODEL_DISPLAY_FUNCTION_SIZE__ = 334;
-    public static final int __GO_RESIZE__ = 335;
-    public static final int __GO_TOOLBAR__ = 336;
-    public static final int __GO_TOOLBAR_VISIBLE__ = 337;
-    public static final int __GO_MENUBAR__ = 338;
-    public static final int __GO_MENUBAR_VISIBLE__ = 339;
-    public static final int __GO_INFOBAR_VISIBLE__ = 340;
-    public static final int __GO_DOCKABLE__ = 341;
-    public static final int __GO_LAYOUT__ = 342;
-    public static final int __GO_LAYOUT_SET__ = 343;
-    public static final int __GO_UI_TAB__ = 344;
-    public static final int __GO_UI_GRIDBAG_GRID__ = 345;
-    public static final int __GO_UI_GRIDBAG_WEIGHT__ = 346;
-    public static final int __GO_UI_GRIDBAG_FILL__ = 347;
-    public static final int __GO_UI_GRIDBAG_ANCHOR__ = 348;
-    public static final int __GO_UI_GRIDBAG_PADDING__ = 349;
-    public static final int __GO_UI_GRID_GRID__ = 350;
-    public static final int __GO_UI_GRID_PADDING__ = 351;
-    public static final int __GO_UI_BORDER_POSITION__ = 352;
-    public static final int __GO_GRID_OPT_GRID__ = 353;
-    public static final int __GO_GRID_OPT_PADDING__ = 354;
-    public static final int __GO_BORDER_OPT_PADDING__ = 355;
-    public static final int __GO_UI_FRAME_BORDER__ = 356;
-    public static final int __GO_UI_FRAME_BORDER_COLOR__ = 357;
-    public static final int __GO_UI_FRAME_BORDER_HIGHLIGHT_IN__ = 358;
-    public static final int __GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__ = 359;
-    public static final int __GO_UI_FRAME_BORDER_IN_BORDER__ = 360;
-    public static final int __GO_UI_FRAME_BORDER_JUSTIFICATION__ = 361;
-    public static final int __GO_UI_FRAME_BORDER_OUT_BORDER__ = 362;
-    public static final int __GO_UI_FRAME_BORDER_ROUNDED__ = 363;
-    public static final int __GO_UI_FRAME_BORDER_SHADOW_IN__ = 364;
-    public static final int __GO_UI_FRAME_BORDER_SHADOW_OUT__ = 365;
-    public static final int __GO_UI_FRAME_BORDER_TITLE__ = 366;
-    public static final int __GO_UI_FRAME_BORDER_POSITION__ = 367;
-    public static final int __GO_UI_FRAME_BORDER_STYLE__ = 368;
-    public static final int __GO_UI_GROUP_NAME__ = 369;
-    public static final int __GO_UI_TITLE_POSITION__ = 370;
-    public static final int __GO_UI_TITLE_SCROLL__ = 371;
+    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_DEFAULT_AXES__ = 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;
+    public static final int __GO_UI_TITLE_POSITION__ = 369;
+    public static final int __GO_UI_TITLE_SCROLL__ = 370;
 
 }
index 018204c..fdb957e 100644 (file)
@@ -1,6 +1,6 @@
 #include "Builder.hxx"
 /* Generated by GIWS (version 2.0.2) with command:
-giws --disable-return-size-array --output-dir . --throws-exception-on-error --description-file builder.giws.xml
+giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/builder.giws.xml
 */
 /*
 
@@ -110,6 +110,7 @@ jintcreateHiddenLabeljintintID=NULL;
 jbooleanisAxesRedrawingjintintID=NULL;
 jintcreateLabeljintintjintintID=NULL;
 jintcreateNewFigureWithAxesID=NULL;
+jintcreateFigurejbooleanbooleanjintintjintintjbooleanbooleanjbooleanbooleanID=NULL;
 voidcloneMenusjintintjintintID=NULL;
 jintcloneAxesModeljintintID=NULL;
 jintcreateSubWinjintintID=NULL;
@@ -156,6 +157,7 @@ jintcreateHiddenLabeljintintID=NULL;
 jbooleanisAxesRedrawingjintintID=NULL;
 jintcreateLabeljintintjintintID=NULL;
 jintcreateNewFigureWithAxesID=NULL;
+jintcreateFigurejbooleanbooleanjintintjintintjbooleanbooleanjbooleanbooleanID=NULL;
 voidcloneMenusjintintjintintID=NULL;
 jintcloneAxesModeljintintID=NULL;
 jintcreateSubWinjintintID=NULL;
@@ -346,6 +348,34 @@ return res;
 
 }
 
+int Builder::createFigure (JavaVM * jvm_, bool dockable, int menubarType, int toolbarType, bool defaultAxes, bool visible){
+
+JNIEnv * curEnv = NULL;
+jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
+jclass cls = initClass(curEnv);
+if ( cls == NULL) {
+throw GiwsException::JniCallMethodException(curEnv);
+}
+
+static jmethodID jintcreateFigurejbooleanbooleanjintintjintintjbooleanbooleanjbooleanbooleanID = curEnv->GetStaticMethodID(cls, "createFigure", "(ZIIZZ)I" ) ;
+if (jintcreateFigurejbooleanbooleanjintintjintintjbooleanbooleanjbooleanbooleanID == NULL) {
+throw GiwsException::JniMethodNotFoundException(curEnv, "createFigure");
+}
+
+jboolean dockable_ = (static_cast<bool>(dockable) ? JNI_TRUE : JNI_FALSE);
+
+jboolean defaultAxes_ = (static_cast<bool>(defaultAxes) ? JNI_TRUE : JNI_FALSE);
+
+jboolean visible_ = (static_cast<bool>(visible) ? JNI_TRUE : JNI_FALSE);
+
+                        jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintcreateFigurejbooleanbooleanjintintjintintjbooleanbooleanjbooleanbooleanID ,dockable_, menubarType, toolbarType, defaultAxes_, visible_));
+                        if (curEnv->ExceptionCheck()) {
+throw GiwsException::JniCallMethodException(curEnv);
+}
+return res;
+
+}
+
 void Builder::cloneMenus (JavaVM * jvm_, int model, int newParent){
 
 JNIEnv * curEnv = NULL;
index d79af02..86f673c 100644 (file)
@@ -1,5 +1,5 @@
 /* Generated by GIWS (version 2.0.2) with command:
-giws --disable-return-size-array --output-dir . --throws-exception-on-error --description-file builder.giws.xml
+giws --disable-return-size-array --output-dir src/jni/ --throws-exception-on-error --description-file src/jni/builder.giws.xml
 */
 /*
 
@@ -83,6 +83,7 @@ jmethodID jintcreateHiddenLabeljintintID; // cache method id
 jmethodID jbooleanisAxesRedrawingjintintID; // cache method id
 jmethodID jintcreateLabeljintintjintintID; // cache method id
 jmethodID jintcreateNewFigureWithAxesID; // cache method id
+jmethodID jintcreateFigurejbooleanbooleanjintintjintintjbooleanbooleanjbooleanbooleanID; // cache method id
 jmethodID voidcloneMenusjintintjintintID; // cache method id
 jmethodID jintcloneAxesModeljintintID; // cache method id
 jmethodID jintcreateSubWinjintintID; // cache method id
@@ -174,6 +175,8 @@ static int createLabel(JavaVM * jvm_, int parent, int type);
 
 static int createNewFigureWithAxes(JavaVM * jvm_);
 
+static int createFigure(JavaVM * jvm_, bool dockable, int menubarType, int toolbarType, bool defaultAxes, bool visible);
+
 static void cloneMenus(JavaVM * jvm_, int model, int newParent);
 
 static int cloneAxesModel(JavaVM * jvm_, int parent);
diff --git a/scilab/modules/graphic_objects/src/jni/GraphicObjectBuilder.cpp b/scilab/modules/graphic_objects/src/jni/GraphicObjectBuilder.cpp
deleted file mode 100644 (file)
index 0b61343..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-#include "GraphicObjectBuilder.hxx"
-/* Generated by GIWS (version 2.0.2) with command:
-giws --disable-return-size-array --output-dir . --throws-exception-on-error --description-file graphic_objects.giws.xml
-*/
-/*
-
-This is generated code.
-
-This software is a computer program whose purpose is to hide the complexity
-of accessing Java objects/methods from C++ code.
-
-This software is governed by the CeCILL-B license under French law and
-abiding by the rules of distribution of free software.  You can  use,
-modify and/ or redistribute the software under the terms of the CeCILL-B
-license as circulated by CEA, CNRS and INRIA at the following URL
-"http://www.cecill.info".
-
-As a counterpart to the access to the source code and  rights to copy,
-modify and redistribute granted by the license, users are provided only
-with a limited warranty  and the software's author,  the holder of the
-economic rights,  and the successive licensors  have only  limited
-liability.
-
-In this respect, the user's attention is drawn to the risks associated
-with loading,  using,  modifying and/or developing or reproducing the
-software by the user in light of its specific status of free software,
-that may mean  that it is complicated to manipulate,  and  that  also
-therefore means  that it is reserved for developers  and  experienced
-professionals having in-depth computer knowledge. Users are therefore
-encouraged to load and test the software's suitability as regards their
-requirements in conditions enabling the security of their systems and/or
-data to be ensured and,  more generally, to use and operate it in the
-same conditions as regards security.
-
-The fact that you are presently reading this means that you have had
-knowledge of the CeCILL-B license and that you accept its terms.
-*/
-
-namespace org_scilab_modules_graphic_objects {
-
-                // Static declarations (if any)
-                
-// Returns the current env
-
-JNIEnv * GraphicObjectBuilder::getCurrentEnv() {
-JNIEnv * curEnv = NULL;
-jint res=this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-if (res != JNI_OK) {
-throw GiwsException::JniException(getCurrentEnv());
-}
-return curEnv;
-}
-// Destructor
-
-GraphicObjectBuilder::~GraphicObjectBuilder() {
-JNIEnv * curEnv = NULL;
-this->jvm->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-curEnv->DeleteGlobalRef(this->instance);
-curEnv->DeleteGlobalRef(this->instanceClass);
-}
-// Constructors
-GraphicObjectBuilder::GraphicObjectBuilder(JavaVM * jvm_) {
-jmethodID constructObject = NULL ;
-jobject localInstance ;
-jclass localClass ;
-
-const std::string construct="<init>";
-const std::string param="()V";
-jvm=jvm_;
-
-JNIEnv * curEnv = getCurrentEnv();
-
-localClass = curEnv->FindClass( this->className().c_str() ) ;
-if (localClass == NULL) {
-  throw GiwsException::JniClassNotFoundException(curEnv, this->className());
-}
-
-this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
-
-/* localClass is not needed anymore */
-curEnv->DeleteLocalRef(localClass);
-
-if (this->instanceClass == NULL) {
-throw GiwsException::JniObjectCreationException(curEnv, this->className());
-}
-
-
-constructObject = curEnv->GetMethodID( this->instanceClass, construct.c_str() , param.c_str() ) ;
-if(constructObject == NULL){
-throw GiwsException::JniObjectCreationException(curEnv, this->className());
-}
-
-localInstance = curEnv->NewObject( this->instanceClass, constructObject ) ;
-if(localInstance == NULL){
-throw GiwsException::JniObjectCreationException(curEnv, this->className());
-}
-this->instance = curEnv->NewGlobalRef(localInstance) ;
-if(this->instance == NULL){
-throw GiwsException::JniObjectCreationException(curEnv, this->className());
-}
-/* localInstance not needed anymore */
-curEnv->DeleteLocalRef(localInstance);
-
-                /* Methods ID set to NULL */
-jintconstructRectanglesjintintjdoubledoublejdoubledoublejdoubledoublejdoubledoublejintintjintintjintintjintintID=NULL;
-
-
-}
-
-GraphicObjectBuilder::GraphicObjectBuilder(JavaVM * jvm_, jobject JObj) {
-        jvm=jvm_;
-
-        JNIEnv * curEnv = getCurrentEnv();
-
-jclass localClass = curEnv->GetObjectClass(JObj);
-        this->instanceClass = static_cast<jclass>(curEnv->NewGlobalRef(localClass));
-        curEnv->DeleteLocalRef(localClass);
-
-        if (this->instanceClass == NULL) {
-throw GiwsException::JniObjectCreationException(curEnv, this->className());
-        }
-
-        this->instance = curEnv->NewGlobalRef(JObj) ;
-        if(this->instance == NULL){
-throw GiwsException::JniObjectCreationException(curEnv, this->className());
-        }
-        /* Methods ID set to NULL */
-        jintconstructRectanglesjintintjdoubledoublejdoubledoublejdoubledoublejdoubledoublejintintjintintjintintjintintID=NULL;
-
-
-}
-
-// Generic methods
-
-void GraphicObjectBuilder::synchronize() {
-if (getCurrentEnv()->MonitorEnter(instance) != JNI_OK) {
-throw GiwsException::JniMonitorException(getCurrentEnv(), "GraphicObjectBuilder");
-}
-}
-
-void GraphicObjectBuilder::endSynchronize() {
-if ( getCurrentEnv()->MonitorExit(instance) != JNI_OK) {
-throw GiwsException::JniMonitorException(getCurrentEnv(), "GraphicObjectBuilder");
-}
-}
-// Method(s)
-
-int GraphicObjectBuilder::constructRectangles (JavaVM * jvm_, int pparentsubwinUID, double x, double y, double height, double width, int foreground, int background, int isfilled, int isline){
-
-JNIEnv * curEnv = NULL;
-jvm_->AttachCurrentThread(reinterpret_cast<void **>(&curEnv), NULL);
-jclass cls = initClass(curEnv);
-if ( cls == NULL) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-
-static jmethodID jintconstructRectanglesjintintjdoubledoublejdoubledoublejdoubledoublejdoubledoublejintintjintintjintintjintintID = curEnv->GetStaticMethodID(cls, "constructRectangles", "(IDDDDIIII)I" ) ;
-if (jintconstructRectanglesjintintjdoubledoublejdoubledoublejdoubledoublejdoubledoublejintintjintintjintintjintintID == NULL) {
-throw GiwsException::JniMethodNotFoundException(curEnv, "constructRectangles");
-}
-
-                        jint res =  static_cast<jint>( curEnv->CallStaticIntMethod(cls, jintconstructRectanglesjintintjdoubledoublejdoubledoublejdoubledoublejdoubledoublejintintjintintjintintjintintID ,pparentsubwinUID, x, y, height, width, foreground, background, isfilled, isline));
-                        if (curEnv->ExceptionCheck()) {
-throw GiwsException::JniCallMethodException(curEnv);
-}
-return res;
-
-}
-
-}
diff --git a/scilab/modules/graphic_objects/src/jni/GraphicObjectBuilder.hxx b/scilab/modules/graphic_objects/src/jni/GraphicObjectBuilder.hxx
deleted file mode 100644 (file)
index 861d658..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-/* Generated by GIWS (version 2.0.2) with command:
-giws --disable-return-size-array --output-dir . --throws-exception-on-error --description-file graphic_objects.giws.xml
-*/
-/*
-
-This is generated code.
-
-This software is a computer program whose purpose is to hide the complexity
-of accessing Java objects/methods from C++ code.
-
-This software is governed by the CeCILL-B license under French law and
-abiding by the rules of distribution of free software.  You can  use,
-modify and/ or redistribute the software under the terms of the CeCILL-B
-license as circulated by CEA, CNRS and INRIA at the following URL
-"http://www.cecill.info".
-
-As a counterpart to the access to the source code and  rights to copy,
-modify and redistribute granted by the license, users are provided only
-with a limited warranty  and the software's author,  the holder of the
-economic rights,  and the successive licensors  have only  limited
-liability.
-
-In this respect, the user's attention is drawn to the risks associated
-with loading,  using,  modifying and/or developing or reproducing the
-software by the user in light of its specific status of free software,
-that may mean  that it is complicated to manipulate,  and  that  also
-therefore means  that it is reserved for developers  and  experienced
-professionals having in-depth computer knowledge. Users are therefore
-encouraged to load and test the software's suitability as regards their
-requirements in conditions enabling the security of their systems and/or
-data to be ensured and,  more generally, to use and operate it in the
-same conditions as regards security.
-
-The fact that you are presently reading this means that you have had
-knowledge of the CeCILL-B license and that you accept its terms.
-*/
-
-
-#ifndef __ORG_SCILAB_MODULES_GRAPHIC_OBJECTS_GRAPHICOBJECTBUILDER__
-#define __ORG_SCILAB_MODULES_GRAPHIC_OBJECTS_GRAPHICOBJECTBUILDER__
-#include <iostream>
-#include <string>
-#include <string.h>
-#include <stdlib.h>
-#include <jni.h>
-
-#include "GiwsException.hxx"
-
-        #if defined(_MSC_VER) /* Defined anyway with Visual */
-            #include <Windows.h>
-        #else
-            typedef signed char byte;
-        #endif
-
-
-#ifndef GIWSEXPORT
-# if defined(_MSC_VER) || defined(__WIN32__) || defined(__CYGWIN__)
-#   if defined(STATIC_LINKED)
-#     define GIWSEXPORT
-#   else
-#     define GIWSEXPORT __declspec(dllexport)
-#   endif
-# else
-#   if __GNUC__ >= 4
-#     define GIWSEXPORT __attribute__ ((visibility ("default")))
-#   else
-#     define GIWSEXPORT
-#   endif
-# endif
-#endif
-
-namespace org_scilab_modules_graphic_objects {
-class GIWSEXPORT GraphicObjectBuilder {
-
-private:
-JavaVM * jvm;
-
-protected:
-jmethodID jintconstructRectanglesjintintjdoubledoublejdoubledoublejdoubledoublejdoubledoublejintintjintintjintintjintintID; // cache method id
-
-
-
-jobject instance;
-jclass instanceClass; // cache class
-
-                       
-// Caching (if any)
-
-
-/**
-* Get the environment matching to the current thread.
-*/
-virtual JNIEnv * getCurrentEnv();
-
-public:
-// Constructor
-/**
-* Create a wrapping of the object from a JNIEnv.
-* It will call the default constructor
-* @param JEnv_ the Java Env
-*/
-GraphicObjectBuilder(JavaVM * jvm_);
-
-/**
-* Create a wrapping of an already existing object from a JNIEnv.
-* The object must have already been instantiated
-* @param JEnv_ the Java Env
-* @param JObj the object
-*/
-GraphicObjectBuilder(JavaVM * jvm_, jobject JObj);
-
-
-/** 
-* This is a fake constructor to avoid the constructor
-* chaining when dealing with extended giws classes 
-*/
-#ifdef FAKEGIWSDATATYPE
-GraphicObjectBuilder(fakeGiwsDataType::fakeGiwsDataType /* unused */) {}
-#endif
-
-// Destructor
-~GraphicObjectBuilder();
-
-// Generic method
-// Synchronization methods
-/**
-* Enter monitor associated with the object.
-* Equivalent of creating a "synchronized(obj)" scope in Java.
-*/
-void synchronize();
-
-/**
-* Exit monitor associated with the object.
-* Equivalent of ending a "synchronized(obj)" scope.
-*/
-void endSynchronize();
-
-// Methods
-static int constructRectangles(JavaVM * jvm_, int pparentsubwinUID, double x, double y, double height, double width, int foreground, int background, int isfilled, int isline);
-
-
-                        /**
-                        * Get class name to use for static methods
-                        * @return class name to use for static methods
-                        */
-                        
-                static const std::string className()
-                {
-                return "org/scilab/modules/graphic_objects/GraphicObjectBuilder";
-                }
-                
-
-                        /**
-                        * Get class to use for static methods
-                        * @return class to use for static methods
-                        */
-                        
-                static jclass initClass(JNIEnv * curEnv)
-                {
-                    static jclass cls = 0;
-
-                    if (cls == 0)
-                    {
-                        jclass _cls = curEnv->FindClass(className().c_str());
-                        if (_cls)
-                        {
-                            cls = static_cast<jclass>(curEnv->NewGlobalRef(_cls));
-                        }
-                    }
-
-                    return cls;
-                 }
-                
-};
-
-
-}
-#endif
index 8466d23..23c3ab9 100644 (file)
             <parameter name="type" type="int"/>
         </method>
         <method name="createNewFigureWithAxes" returnType="int" modifier="static" />
+        <method name="createFigure" returnType="int" modifier="static">
+          <parameter name="dockable" type="boolean" />
+          <parameter name="menubarType" type="int" />
+          <parameter name="toolbarType" type="int" />
+          <parameter name="defaultAxes" type="boolean" />
+          <parameter name="visible" type="boolean" />
+        </method>
         <method name="cloneMenus" returnType="void" modifier="static">
             <parameter name="model" type="int"/>
             <parameter name="newParent" type="int"/>
index ebc24eb..11644d0 100644 (file)
@@ -1,18 +1,5 @@
 <?xml version="1.0"?>
 <package name="org.scilab.modules.graphic_objects">
-    <object name="GraphicObjectBuilder">
-        <method name="constructRectangles" returnType="int" modifier="static">
-            <parameter name="pparentsubwinUID" type="int"/>
-            <parameter name="x" type="double"/>
-            <parameter name="y" type="double"/>
-            <parameter name="height" type="double"/>
-            <parameter name="width" type="double"/>
-            <parameter name="foreground" type="int"/>
-            <parameter name="background" type="int"/>
-            <parameter name="isfilled" type="int"/>
-            <parameter name="isline" type="int"/>
-        </method>
-    </object>
     <object name="CallXmlLoader">
         <method name="Load" returnType="int" modifier="static">
             <parameter name="xmlFile" type="String"/>
index 8e0070c..4f6fc91 100644 (file)
@@ -1,6 +1,7 @@
 /*
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) 2014 - Scilab Enterprises - Antoine ELIAS
+ * 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
@@ -34,8 +35,9 @@
 
 #define COLOR_COMPONENT 3
 /*--------------------------------------------------------------------------*/
-void setDefaultProperties(int _iFig, BOOL _bAlreadyExist);
+void setDefaultProperties(int _iFig);
 int addColor(int _iFig, double* _pdblColor);
+int cloneGDFWithId(int _iId);
 /*--------------------------------------------------------------------------*/
 int sci_figure(char * fname, unsigned long fname_len)
 {
@@ -46,23 +48,27 @@ int sci_figure(char * fname, unsigned long fname_len)
     int iId = 0;
     int iPos = 0;
     int i = 0;
-
+    int iNewId = -1;
+    int iAxes = 0;
+    int* piAxes = &iAxes;
+    int iPropertyOffset = 0;
+    BOOL bDoCreation = TRUE;
+    BOOL bVisible = TRUE; // Create a visible figure by default
+    BOOL bDockable = TRUE; // Create a dockable figure by default
+    BOOL bDefaultAxes = TRUE; // Create an Axes by default
+    int iMenubarType = 1; // Create a 'figure' menubar by default
+    int iToolbarType = 1; // Create a 'figure' toolbar by default
+    double dblId = 0;
 
     //figure(num) -> scf(num)
     //figure() -> scf()
 
     //figure(x, "...", ...)
-    // -> f = scf(x);
-    //      set(f, "...", ...);
 
-    if (iRhs % 2 == 0)
+    // figure()
+    if (iRhs == 0) // Auto ID
     {
-        int i = 0;
-        int iNewId = -1;
-        int iAxes = 0;
-        int* piAxes = &iAxes;
-
-        //get higher value of winsid to create the new windows @ + 1
+        //get highest value of winsid to create the new windows @ + 1
         int nbFigure = sciGetNbFigure();
 
         if (nbFigure)
@@ -76,7 +82,7 @@ int sci_figure(char * fname, unsigned long fname_len)
             }
             sciGetFiguresId(ids);
 
-            //find higher value
+            //find highest value
             for (i = 0 ; i < nbFigure ; i++)
             {
                 if (ids[i] > iNewId)
@@ -85,28 +91,20 @@ int sci_figure(char * fname, unsigned long fname_len)
                 }
             }
         }
-
         //use next value
         iNewId = iNewId + 1;
-
-        //create a new window with id = iNewId
-        iFig = createNewFigureWithAxes();
-        setGraphicObjectProperty(iFig, __GO_ID__, &iNewId, jni_int, 1);
-        setCurrentFigure(iFig);
-
-        getGraphicObjectProperty(iFig, __GO_SELECTED_CHILD__, jni_int,  (void**)&piAxes);
-        setCurrentSubWin(iAxes);
-
-        //setting up new figure
-        setDefaultProperties(iFig, FALSE);
+        iFig = cloneGDFWithId(iNewId);
+        createScalarHandle(pvApiCtx, iRhs + 1, getHandle(iFig));
+        AssignOutputVariable(pvApiCtx, 1) = iRhs + 1;
+        ReturnArguments(pvApiCtx);
+        return 0;
     }
-    else
-    {
-        //create or set current figure to x
 
+    if (iRhs == 1)
+    {
+        int iNewId = -1;
         int iAxes = 0;
         int* piAxes = &iAxes;
-        double dblId = 0;
         //figure(x);
         sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
         if (sciErr.iErr)
@@ -132,37 +130,90 @@ int sci_figure(char * fname, unsigned long fname_len)
 
         //get current fig from id
         iFig = getFigureFromIndex(iId);
-        if (iFig == 0)
+        if (iFig == 0) // Figure does not exists, create a new one
         {
-            // No Figure available with this index, should create it  !!
-            iFig = createNewFigureWithAxes();
-            setGraphicObjectProperty(iFig, __GO_ID__, &iId, jni_int, 1);
+            iFig = cloneGDFWithId(iId);
         }
-
         setCurrentFigure(iFig);
         getGraphicObjectProperty(iFig, __GO_SELECTED_CHILD__, jni_int,  (void**)&piAxes);
         setCurrentSubWin(iAxes);
+        createScalarHandle(pvApiCtx, iRhs + 1, getHandle(iFig));
+        AssignOutputVariable(pvApiCtx, 1) = iRhs + 1;
+        ReturnArguments(pvApiCtx);
+        return 0;
+    }
 
-        //setting up new figure
-        setDefaultProperties(iFig, FALSE);
+    // Prepare property analysis
+    if (iRhs % 2 == 0)
+    {
+        //get highest value of winsid to create the new windows @ + 1
+        int nbFigure = sciGetNbFigure();
+        iPos = 0;
+
+        if (nbFigure)
+        {
+            int * ids = (int*)MALLOC(nbFigure * sizeof(int));
 
+            if (ids == NULL)
+            {
+                Scierror(999, _("%s: No more memory.\n"), fname);
+                return 0;
+            }
+            sciGetFiguresId(ids);
+
+            //find highest value
+            for (i = 0 ; i < nbFigure ; i++)
+            {
+                if (ids[i] > iNewId)
+                {
+                    iNewId = ids[i];
+                }
+            }
+        }
+        //use next value
+        iNewId = iNewId + 1;
+    }
+    else
+    {
         iPos = 1;
+        //figure(x, ...);
+        sciErr = getVarAddressFromPosition(pvApiCtx, 1, &piAddr);
+        if (sciErr.iErr)
+        {
+            printError(&sciErr, 0);
+            Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, 1);
+            return 0;
+        }
+
+        if (isVarMatrixType(pvApiCtx, piAddr) == 0)
+        {
+            Scierror(999, _("%s: Wrong type for input argument #%d: An integer value expected.\n"), fname, 1);
+            return 0;
+        }
+
+        if (getScalarDouble(pvApiCtx, piAddr, &dblId))
+        {
+            Scierror(999, _("%s: No more memory.\n"), fname);
+            return 0;
+        }
+
+        iNewId = (int)(dblId + 0.5); //avoid 1.999 -> 1
+        //get current fig from id
+        iFig = getFigureFromIndex(iId);
+        if (iFig != 0) // Figure already exists
+        {
+            bDoCreation = TRUE;
+        }
     }
 
-    if (iRhs > 1)
+    if (bDoCreation)
     {
-        //set(iFig, iPos, iPos + 1)
+        int* piAddrProp = NULL;
+        char* pstProName = NULL;
+        int* piAddrData = NULL;
+        char* pstPropVal = NULL;
         for (i = iPos + 1 ; i <= iRhs ; i += 2)
         {
-            int isMatrixOfString = 0;
-            int* piAddrProp = NULL;
-            char* pstProName = NULL;
-            int* piAddrData = NULL;
-            int iRows = 0;
-            int iCols = 0;
-            void* _pvData = NULL;
-            int iType = 0;
-
             //get property name
             sciErr = getVarAddressFromPosition(pvApiCtx, i, &piAddrProp);
             if (sciErr.iErr)
@@ -176,19 +227,15 @@ int sci_figure(char * fname, unsigned long fname_len)
                 Scierror(999, _("%s: Wrong size for input argument #%d: A single string expected.\n"), fname, i);
                 return 1;
             }
-
-            //check property value to compatibility
-            if (stricmp(pstProName, "backgroundcolor") == 0)
+            if (stricmp(pstProName, "dockable") != 0
+                && stricmp(pstProName, "toolbar") != 0
+                && stricmp(pstProName, "menubar") != 0
+                && stricmp(pstProName, "default_axes") != 0
+                && stricmp(pstProName, "visible") != 0 )
             {
                 freeAllocatedSingleString(pstProName);
-                pstProName = strdup("background");
+                continue;
             }
-            else if (stricmp(pstProName, "foregroundcolor") == 0)
-            {
-                freeAllocatedSingleString(pstProName);
-                pstProName = strdup("foreground");
-            }
-
             //get address of value on stack
             sciErr = getVarAddressFromPosition(pvApiCtx, i + 1, &piAddrData);
             if (sciErr.iErr)
@@ -196,75 +243,232 @@ int sci_figure(char * fname, unsigned long fname_len)
                 Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, i + 1);
                 return 1;
             }
-
-            getVarType(pvApiCtx, piAddrData, &iType);
-
-            if ((strcmp(pstProName, "user_data") == 0) || (stricmp(pstProName, "userdata") == 0))
+            if (getAllocatedSingleString(pvApiCtx, piAddrData, (char**)&pstPropVal))
             {
-                /* in this case set_user_data_property
-                * directly uses the  third position in the stack
-                * to get the variable which is to be set in
-                * the user_data property (any data type is allowed) S. Steer */
-                _pvData = (void*)piAddrData;         /*position in the stack */
-                iRows = -1;   /*unused */
-                iCols = -1;   /*unused */
-                iType = -1;
+                Scierror(999, _("%s: Wrong size for input argument #%d: A single string expected.\n"), fname, 3);
+                return 1;
             }
-            else
+            //check property value to compatibility
+            if (stricmp(pstProName, "dockable") == 0)
             {
-                switch (iType)
+                if (stricmp(pstPropVal, "on") == 0)
                 {
-                    case sci_matrix :
-                        getMatrixOfDouble(pvApiCtx, piAddrData, &iRows, &iCols, (double**)&_pvData);
-                        break;
-                    case sci_boolean :
-                        getMatrixOfBoolean(pvApiCtx, piAddrData, &iRows, &iCols, (int**)&_pvData);
-                        break;
-                    case sci_handles :
-                        getMatrixOfHandle(pvApiCtx, piAddrData, &iRows, &iCols, (long long**)&_pvData);
-                        break;
-                    case sci_strings :
-                        if (   strcmp(pstProName, "tics_labels") != 0 && strcmp(pstProName, "auto_ticks") != 0 &&
-                                strcmp(pstProName, "axes_visible") != 0 && strcmp(pstProName, "axes_reverse") != 0 &&
-                                strcmp(pstProName, "text") != 0 && stricmp(pstProName, "string") != 0 &&
-                                stricmp(pstProName, "tooltipstring") != 0) /* Added for uicontrols */
-                        {
-                            if (getAllocatedSingleString(pvApiCtx, piAddrData, (char**)&_pvData))
-                            {
-                                Scierror(999, _("%s: Wrong size for input argument #%d: A single string expected.\n"), fname, 3);
-                                return 1;
-                            }
-                            iRows = (int)strlen((char*)_pvData);
-                            iCols = 1;
-                        }
-                        else
-                        {
-                            isMatrixOfString = 1;
-                            getAllocatedMatrixOfString(pvApiCtx, piAddrData, &iRows, &iCols, (char***)&_pvData);
-                        }
-                        break;
-                    case sci_list :
-                        iCols = 1;
-                        getListItemNumber(pvApiCtx, piAddrData, &iRows);
-                        _pvData = (void*)piAddrData;         /* In this case l3 is the list position in stack */
-                        break;
-                    default :
-                        _pvData = (void*)piAddrData;         /* In this case l3 is the list position in stack */
-                        break;
+                    bDockable = TRUE;
                 }
-
-                callSetProperty(pvApiCtx, iFig, _pvData, iType, iRows, iCols, pstProName);
-                if (iType == sci_strings)
+                else if (stricmp(pstPropVal, "off") == 0)
+                {
+                    bDockable = FALSE;
+                }
+                else
+                {
+                    Scierror(999, _("Wrong value for '%s' property: '%s' or '%s' expected."), "dockable", "on", "off");
+                    freeAllocatedSingleString(pstProName);
+                    freeAllocatedSingleString(pstPropVal);
+                    return 1;
+                }
+            }
+            else if (stricmp(pstProName, "toolbar") == 0)
+            {
+                if (stricmp(pstPropVal, "none") == 0)
+                {
+                    iToolbarType = 0;
+                }
+                else if (stricmp(pstPropVal, "figure") == 0)
+                {
+                    iToolbarType = 1;
+                }
+                else
+                {
+                    Scierror(999, _("Wrong value for '%s' property: '%s' or '%s' expected."), "toolbar", "none", "figure");
+                    freeAllocatedSingleString(pstProName);
+                    freeAllocatedSingleString(pstPropVal);
+                    return 1;
+                }
+            }
+            else if (stricmp(pstProName, "menubar") == 0)
+            {
+                if (stricmp(pstPropVal, "none") == 0)
                 {
-                    //free allacted data
-                    if (isMatrixOfString == 1)
+                    iMenubarType = 0;
+                }
+                else if (stricmp(pstPropVal, "figure") == 0)
+                {
+                    iMenubarType = 1;
+                }
+                else
+                {
+                    Scierror(999, _("Wrong value for '%s' property: '%s' or '%s' expected."), "menubar", "none", "figure");
+                    freeAllocatedSingleString(pstProName);
+                    freeAllocatedSingleString(pstPropVal);
+                    return 1;
+                }
+            }
+            else if (stricmp(pstProName, "default_axes") == 0)
+            {
+                if (stricmp(pstPropVal, "on") == 0)
+                {
+                    bDefaultAxes = TRUE;
+                }
+                else if (stricmp(pstPropVal, "off") == 0)
+                {
+                    bDefaultAxes = FALSE;
+                }
+                else
+                {
+                    Scierror(999, _("Wrong value for '%s' property: '%s' or '%s' expected."), "default_axes", "on", "off");
+                    freeAllocatedSingleString(pstProName);
+                    freeAllocatedSingleString(pstPropVal);
+                    return 1;
+                }
+            }
+            else if (stricmp(pstProName, "visible") == 0)
+            {
+                if (stricmp(pstPropVal, "on") == 0)
+                {
+                    bVisible = TRUE;
+                }
+                else if (stricmp(pstPropVal, "off") == 0)
+                {
+                    bVisible = FALSE;
+                }
+                else
+                {
+                    Scierror(999, _("Wrong value for '%s' property: '%s' or '%s' expected."), "visible", "on", "off");
+                    freeAllocatedSingleString(pstProName);
+                    freeAllocatedSingleString(pstPropVal);
+                    return 1;
+                }
+            }
+            freeAllocatedSingleString(pstPropVal);
+        }
+        iFig = createFigure(bDockable, iMenubarType, iToolbarType, bDefaultAxes, bVisible);
+        setGraphicObjectProperty(iFig, __GO_ID__, &iNewId, jni_int, 1);
+
+    }
+
+    //set(iFig, iPos, iPos + 1)
+    for (i = iPos + 1 ; i <= iRhs ; i += 2)
+    {
+        int isMatrixOfString = 0;
+        int* piAddrProp = NULL;
+        char* pstProName = NULL;
+        int* piAddrData = NULL;
+        int iRows = 0;
+        int iCols = 0;
+        void* _pvData = NULL;
+        int iType = 0;
+
+        //get property name
+        sciErr = getVarAddressFromPosition(pvApiCtx, i, &piAddrProp);
+        if (sciErr.iErr)
+        {
+            Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, i);
+            return 1;
+        }
+
+        if (getAllocatedSingleString(pvApiCtx, piAddrProp, &pstProName))
+        {
+            Scierror(999, _("%s: Wrong size for input argument #%d: A single string expected.\n"), fname, i);
+            return 1;
+        }
+
+        if (bDoCreation &&
+                (stricmp(pstProName, "dockable") == 0 ||
+                 stricmp(pstProName, "menubar") == 0 ||
+                 stricmp(pstProName, "toolbar") == 0))
+        {
+            // Already set creating new figure
+            // but let the set_ function fail if figure already exists
+            continue;
+        }
+
+        //check property value to compatibility
+        if (stricmp(pstProName, "backgroundcolor") == 0)
+        {
+            freeAllocatedSingleString(pstProName);
+            pstProName = strdup("background");
+        }
+        else if (stricmp(pstProName, "foregroundcolor") == 0)
+        {
+            freeAllocatedSingleString(pstProName);
+            pstProName = strdup("foreground");
+        }
+
+        //get address of value on stack
+        sciErr = getVarAddressFromPosition(pvApiCtx, i + 1, &piAddrData);
+        if (sciErr.iErr)
+        {
+            Scierror(999, _("%s: Can not read input argument #%d.\n"), fname, i + 1);
+            return 1;
+        }
+
+        getVarType(pvApiCtx, piAddrData, &iType);
+
+        if ((strcmp(pstProName, "user_data") == 0) || (stricmp(pstProName, "userdata") == 0))
+        {
+            /* in this case set_user_data_property
+             * directly uses the  third position in the stack
+             * to get the variable which is to be set in
+             * the user_data property (any data type is allowed) S. Steer */
+            _pvData = (void*)piAddrData;         /*position in the stack */
+            iRows = -1;   /*unused */
+            iCols = -1;   /*unused */
+            iType = -1;
+        }
+        else
+        {
+            switch (iType)
+            {
+                case sci_matrix :
+                    getMatrixOfDouble(pvApiCtx, piAddrData, &iRows, &iCols, (double**)&_pvData);
+                    break;
+                case sci_boolean :
+                    getMatrixOfBoolean(pvApiCtx, piAddrData, &iRows, &iCols, (int**)&_pvData);
+                    break;
+                case sci_handles :
+                    getMatrixOfHandle(pvApiCtx, piAddrData, &iRows, &iCols, (long long**)&_pvData);
+                    break;
+                case sci_strings :
+                    if (   strcmp(pstProName, "tics_labels") != 0 && strcmp(pstProName, "auto_ticks") != 0 &&
+                            strcmp(pstProName, "axes_visible") != 0 && strcmp(pstProName, "axes_reverse") != 0 &&
+                            strcmp(pstProName, "text") != 0 && stricmp(pstProName, "string") != 0 &&
+                            stricmp(pstProName, "tooltipstring") != 0) /* Added for uicontrols */
                     {
-                        freeAllocatedMatrixOfString(iRows, iCols, (char**)_pvData);
+                        if (getAllocatedSingleString(pvApiCtx, piAddrData, (char**)&_pvData))
+                        {
+                            Scierror(999, _("%s: Wrong size for input argument #%d: A single string expected.\n"), fname, 3);
+                            return 1;
+                        }
+                        iRows = (int)strlen((char*)_pvData);
+                        iCols = 1;
                     }
                     else
                     {
-                        freeAllocatedSingleString((char*)_pvData);
+                        isMatrixOfString = 1;
+                        getAllocatedMatrixOfString(pvApiCtx, piAddrData, &iRows, &iCols, (char***)&_pvData);
                     }
+                    break;
+                case sci_list :
+                    iCols = 1;
+                    getListItemNumber(pvApiCtx, piAddrData, &iRows);
+                    _pvData = (void*)piAddrData;         /* In this case l3 is the list position in stack */
+                    break;
+                default :
+                    _pvData = (void*)piAddrData;         /* In this case l3 is the list position in stack */
+                    break;
+            }
+
+            callSetProperty(pvApiCtx, iFig, _pvData, iType, iRows, iCols, pstProName);
+            if (iType == sci_strings)
+            {
+                //free allacted data
+                if (isMatrixOfString == 1)
+                {
+                    freeAllocatedMatrixOfString(iRows, iCols, (char**)_pvData);
+                }
+                else
+                {
+                    freeAllocatedSingleString((char*)_pvData);
                 }
             }
         }
@@ -277,7 +481,25 @@ int sci_figure(char * fname, unsigned long fname_len)
     return 0;
 }
 /*--------------------------------------------------------------------------*/
-void setDefaultProperties(int _iFig, BOOL _bAlreadyExist)
+int cloneGDFWithId(int _iID)
+{
+    int iAxes;
+    int *piAxes = &iAxes;
+    //create a new window with id = iNewId
+    int iFig = createNewFigureWithAxes();
+    setGraphicObjectProperty(iFig, __GO_ID__, &_iID, jni_int, 1);
+    setCurrentFigure(iFig);
+
+    getGraphicObjectProperty(iFig, __GO_SELECTED_CHILD__, jni_int,  (void**)&piAxes);
+    setCurrentSubWin(iAxes);
+
+    //setting up new figure
+    setDefaultProperties(iFig);
+
+    return iFig;
+}
+/*--------------------------------------------------------------------------*/
+void setDefaultProperties(int _iFig)
 {
     //get figure axes
     int iAxes = getOrCreateDefaultSubwin();
@@ -285,18 +507,15 @@ void setDefaultProperties(int _iFig, BOOL _bAlreadyExist)
     int iColorIndex = 0;
     int iFilled = 0;
     int iAxesVisible = 0;
+    double pdblNewColor[COLOR_COMPONENT] = {0.8, 0.8, 0.8};
 
     setGraphicObjectProperty(_iFig, __GO_IMMEDIATE_DRAWING__, &iDrawing, jni_bool, 1);
 
-    if (_bAlreadyExist == FALSE)
-    {
-        double pdblNewColor[COLOR_COMPONENT] = {0.8, 0.8, 0.8};
-        iColorIndex = addColor(_iFig, pdblNewColor);
+    iColorIndex = addColor(_iFig, pdblNewColor);
 
-        //set background in figure and axes to new ( or existting ) color
-        setGraphicObjectProperty(_iFig, __GO_BACKGROUND__, &iColorIndex, jni_int, 1);
-        setGraphicObjectProperty(iAxes, __GO_BACKGROUND__, &iColorIndex, jni_int, 1);
-    }
+    //set background in figure and axes to new ( or existting ) color
+    setGraphicObjectProperty(_iFig, __GO_BACKGROUND__, &iColorIndex, jni_int, 1);
+    setGraphicObjectProperty(iAxes, __GO_BACKGROUND__, &iColorIndex, jni_int, 1);
 
     //a.filled = "off"
     setGraphicObjectProperty(iAxes, __GO_FILLED__, &iFilled, jni_bool, 1);
index 5f36d2a..be6db53 100644 (file)
@@ -64,7 +64,6 @@ 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_WINDOW__;
 import static org.scilab.modules.gui.utils.Debug.DEBUG;
 
 import java.awt.CardLayout;
@@ -122,6 +121,7 @@ import org.scilab.modules.gui.ged.Inspector;
 import org.scilab.modules.gui.menubar.ScilabMenuBar;
 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.utils.ClosingOperationsManager;
 import org.scilab.modules.gui.utils.Size;
@@ -179,7 +179,6 @@ public final class SwingView implements GraphicView {
         Edit,
         Frame,
         Figure,
-        Window,
         Image,
         ListBox,
         PopupMenu,
@@ -236,13 +235,13 @@ public final class SwingView implements GraphicView {
     };
 
     private static final Set<Integer> managedTypes = new HashSet<Integer>(Arrays.asList(
-                GraphicObjectProperties.__GO_FIGURE__,
-                GraphicObjectProperties.__GO_UICONTEXTMENU__,
-                GraphicObjectProperties.__GO_UIMENU__,
-                GraphicObjectProperties.__GO_CONSOLE__,
-                GraphicObjectProperties.__GO_PROGRESSIONBAR__,
-                GraphicObjectProperties.__GO_WAITBAR__,
-                GraphicObjectProperties.__GO_UICONTROL__
+            GraphicObjectProperties.__GO_FIGURE__,
+            GraphicObjectProperties.__GO_UICONTEXTMENU__,
+            GraphicObjectProperties.__GO_UIMENU__,
+            GraphicObjectProperties.__GO_CONSOLE__,
+            GraphicObjectProperties.__GO_PROGRESSIONBAR__,
+            GraphicObjectProperties.__GO_WAITBAR__,
+            GraphicObjectProperties.__GO_UICONTROL__
             ));
 
     @Override
@@ -262,7 +261,6 @@ 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__
@@ -289,8 +287,6 @@ 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__ :
@@ -385,7 +381,6 @@ 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();
@@ -399,10 +394,6 @@ public final class SwingView implements GraphicView {
                 window.setTitle(figureTitle);
                 Integer[] figureSize = figure.getSize();
                 window.setDims(new Size(figureSize[0], figureSize[1]));
-                /* TOOLBAR */
-                ToolBar toolBar = ToolBarBuilder.buildToolBar(SwingScilabCommonPanel.GRAPHICS_TOOLBAR_DESCRIPTOR, figureId);
-                /* INFOBAR */
-                TextBox infoBar = ScilabTextBox.createTextBox();
 
                 SwingScilabPanel tab;
                 if (figure.getDockable()) {
@@ -415,8 +406,17 @@ public final class SwingView implements GraphicView {
                 }
                 tab.setId(id);
 
+                /* MENUBAR */
                 tab.setMenuBar(ScilabMenuBar.createMenuBar());
-                tab.setToolBar(toolBar);
+                /* TOOLBAR */
+                if (figure.getToolbarAsEnum() == Figure.BarType.FIGURE) {
+                    ToolBar toolBar = ToolBarBuilder.buildToolBar(SwingScilabCommonPanel.GRAPHICS_TOOLBAR_DESCRIPTOR, figureId);
+                    tab.setToolBar(toolBar);
+                } else {
+                    tab.setToolBar(ScilabToolBar.createToolBar());
+                }
+                /* INFOBAR */
+                TextBox infoBar = ScilabTextBox.createTextBox();
                 tab.setInfoBar(ScilabTextBox.createTextBox());
                 window.addMenuBar(tab.getMenuBar());
                 window.addToolBar(tab.getToolBar());
@@ -429,7 +429,6 @@ public final class SwingView implements GraphicView {
                 tab.setEventHandler(figure.getEventHandlerString());
                 tab.setEventHandlerEnabled(figure.getEventHandlerEnable());
 
-
                 tab.setVisible(true);
                 tab.setName(figureTitle);
 
@@ -442,7 +441,11 @@ public final class SwingView implements GraphicView {
                 tab.update(__GO_SIZE__, GraphicController.getController().getProperty(id, __GO_SIZE__));
                 tab.update(__GO_POSITION__, GraphicController.getController().getProperty(id, __GO_POSITION__));
                 // TODO set other default properties
+
                 window.pack();
+                if (!figure.getDockable()) {
+                    window.setVisible(figure.getVisible());
+                }
                 return tab;
             case Frame:
                 SwingScilabFrame frame = new SwingScilabFrame();
@@ -543,21 +546,21 @@ public final class SwingView implements GraphicView {
      */
     private void setMenuDefaultProperties(Widget uiMenuObject, Integer id) {
         SwingViewMenu.update(uiMenuObject, __GO_CHILDREN__,
-                             GraphicController.getController().getProperty(id, __GO_CHILDREN__));
+                GraphicController.getController().getProperty(id, __GO_CHILDREN__));
         SwingViewMenu.update(uiMenuObject, __GO_CALLBACK__,
-                             GraphicController.getController().getProperty(id, __GO_CALLBACK__));
+                GraphicController.getController().getProperty(id, __GO_CALLBACK__));
         SwingViewMenu.update(uiMenuObject, __GO_CALLBACKTYPE__,
-                             GraphicController.getController().getProperty(id, __GO_CALLBACKTYPE__));
+                GraphicController.getController().getProperty(id, __GO_CALLBACKTYPE__));
         SwingViewMenu.update(uiMenuObject, __GO_UI_CHECKED__,
-                             GraphicController.getController().getProperty(id, __GO_UI_CHECKED__));
+                GraphicController.getController().getProperty(id, __GO_UI_CHECKED__));
         SwingViewMenu.update(uiMenuObject, __GO_UI_ENABLE__,
-                             GraphicController.getController().getProperty(id, __GO_UI_ENABLE__));
+                GraphicController.getController().getProperty(id, __GO_UI_ENABLE__));
         SwingViewMenu.update(uiMenuObject, __GO_UI_FOREGROUNDCOLOR__,
-                             GraphicController.getController().getProperty(id, __GO_UI_FOREGROUNDCOLOR__));
+                GraphicController.getController().getProperty(id, __GO_UI_FOREGROUNDCOLOR__));
         SwingViewMenu.update(uiMenuObject, __GO_UI_LABEL__,
-                             GraphicController.getController().getProperty(id, __GO_UI_LABEL__));
+                GraphicController.getController().getProperty(id, __GO_UI_LABEL__));
         SwingViewMenu.update(uiMenuObject, __GO_UI_ICON__,
-                             GraphicController.getController().getProperty(id, __GO_UI_ICON__));
+                GraphicController.getController().getProperty(id, __GO_UI_ICON__));
     }
 
     /**
@@ -568,35 +571,35 @@ public final class SwingView implements GraphicView {
     private void setDefaultProperties(Widget uiControlObject, Integer id) {
         /* Visible property is set first to avoid to see the object rendered before all its properties to be set (See bug #10346) */
         SwingViewWidget.update(uiControlObject, __GO_VISIBLE__,
-                               GraphicController.getController().getProperty(id, __GO_VISIBLE__));
+                GraphicController.getController().getProperty(id, __GO_VISIBLE__));
         SwingViewWidget.update(uiControlObject, __GO_UI_BACKGROUNDCOLOR__,
-                               GraphicController.getController().getProperty(id, __GO_UI_BACKGROUNDCOLOR__));
+                GraphicController.getController().getProperty(id, __GO_UI_BACKGROUNDCOLOR__));
         SwingViewWidget.update(uiControlObject, __GO_UI_ENABLE__,
-                               GraphicController.getController().getProperty(id, __GO_UI_ENABLE__));
+                GraphicController.getController().getProperty(id, __GO_UI_ENABLE__));
         SwingViewWidget.update(uiControlObject, __GO_UI_FONTANGLE__,
-                               GraphicController.getController().getProperty(id, __GO_UI_FONTANGLE__));
+                GraphicController.getController().getProperty(id, __GO_UI_FONTANGLE__));
         SwingViewWidget.update(uiControlObject, __GO_UI_FONTNAME__,
-                               GraphicController.getController().getProperty(id, __GO_UI_FONTNAME__));
+                GraphicController.getController().getProperty(id, __GO_UI_FONTNAME__));
         SwingViewWidget.update(uiControlObject, __GO_UI_FONTUNITS__,
-                               GraphicController.getController().getProperty(id, __GO_UI_FONTUNITS__));
+                GraphicController.getController().getProperty(id, __GO_UI_FONTUNITS__));
         SwingViewWidget.update(uiControlObject, __GO_UI_FONTSIZE__,
-                               GraphicController.getController().getProperty(id, __GO_UI_FONTSIZE__));
+                GraphicController.getController().getProperty(id, __GO_UI_FONTSIZE__));
         SwingViewWidget.update(uiControlObject, __GO_UI_FONTWEIGHT__,
-                               GraphicController.getController().getProperty(id, __GO_UI_FONTWEIGHT__));
+                GraphicController.getController().getProperty(id, __GO_UI_FONTWEIGHT__));
         SwingViewWidget.update(uiControlObject, __GO_UI_FOREGROUNDCOLOR__,
-                               GraphicController.getController().getProperty(id, __GO_UI_FOREGROUNDCOLOR__));
+                GraphicController.getController().getProperty(id, __GO_UI_FOREGROUNDCOLOR__));
         SwingViewWidget.update(uiControlObject, __GO_UI_HORIZONTALALIGNMENT__,
-                               GraphicController.getController().getProperty(id, __GO_UI_HORIZONTALALIGNMENT__));
+                GraphicController.getController().getProperty(id, __GO_UI_HORIZONTALALIGNMENT__));
         SwingViewWidget.update(uiControlObject, __GO_UI_RELIEF__,
-                               GraphicController.getController().getProperty(id, __GO_UI_RELIEF__));
+                GraphicController.getController().getProperty(id, __GO_UI_RELIEF__));
         SwingViewWidget.update(uiControlObject, __GO_UI_STRING__,
-                               GraphicController.getController().getProperty(id, __GO_UI_STRING__));
+                GraphicController.getController().getProperty(id, __GO_UI_STRING__));
         SwingViewWidget.update(uiControlObject, __GO_UI_VERTICALALIGNMENT__,
-                               GraphicController.getController().getProperty(id, __GO_UI_VERTICALALIGNMENT__));
+                GraphicController.getController().getProperty(id, __GO_UI_VERTICALALIGNMENT__));
         SwingViewWidget.update(uiControlObject, __GO_POSITION__,
-                               GraphicController.getController().getProperty(id, __GO_POSITION__));
+                GraphicController.getController().getProperty(id, __GO_POSITION__));
         SwingViewWidget.update(uiControlObject, __GO_LAYOUT__,
-                               GraphicController.getController().getProperty(id, __GO_LAYOUT__));
+                GraphicController.getController().getProperty(id, __GO_LAYOUT__));
     }
 
     public void deleteObject(Integer id) {
@@ -605,16 +608,19 @@ public final class SwingView implements GraphicView {
             switch (requestedObject.getType()) {
                 case Figure:
                     if (SwingUtilities.isEventDispatchThread()) {
+                        final SwingScilabPanel tab = (SwingScilabPanel) requestedObject.getValue();
                         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);
+                            final SwingScilabDockablePanel dockableTab = (SwingScilabDockablePanel) tab;
+                            dockableTab.disablePaint();
+                            DockingManager.close(dockableTab);
+                            DockingManager.unregisterDockable((Dockable) dockableTab);
+                            ClosingOperationsManager.unregisterClosingOperation(dockableTab);
+                            ClosingOperationsManager.removeDependency(dockableTab);
+                            ClosingOperationsManager.checkTabForClosing(dockableTab);
+                            tab.close();
+                        } else {
+                            tab.getParentWindow().close();
                         }
-                        ((SwingScilabPanel) requestedObject.getValue()).close();
                     } else {
                         try {
                             SwingUtilities.invokeAndWait(new Runnable() {
@@ -630,8 +636,10 @@ public final class SwingView implements GraphicView {
                                         ClosingOperationsManager.unregisterClosingOperation(dockableTab);
                                         ClosingOperationsManager.removeDependency(dockableTab);
                                         ClosingOperationsManager.checkTabForClosing(dockableTab);
+                                        tab.close();
+                                    } else {
+                                        tab.getParentWindow().close();
                                     }
-                                    tab.close();
                                 }
 
                             });
@@ -748,9 +756,9 @@ public final class SwingView implements GraphicView {
             final Integer[] newChildren = (Integer[]) GraphicController.getController().getProperty(id, __GO_CHILDREN__);
 
             switch (type) {
-                    /*
-                     * FIGURE CHILDREN UPDATE
-                     */
+                /*
+                 * FIGURE CHILDREN UPDATE
+                 */
                 case __GO_FIGURE__ :
                     updateFigureChildren(registeredObject, newChildren);
                     break;
@@ -903,10 +911,10 @@ public final class SwingView implements GraphicView {
                         case UiCheckedMenu:
                             allObjects.remove(childId);
                             allObjects.put(childId, CreateObjectFromType(__GO_UIPARENTMENU__, childId));
-                            ((Container) ((SwingScilabDockablePanel) updatedComponent).getMenuBar().getAsSimpleMenuBar()).add((SwingScilabMenu) allObjects.get(childId).getValue());
+                            ((Container) ((SwingScilabPanel) updatedComponent).getMenuBar().getAsSimpleMenuBar()).add((SwingScilabMenu) allObjects.get(childId).getValue());
                             break;
                         default: /* UiParentMenu */
-                            ((Container) ((SwingScilabDockablePanel) updatedComponent).getMenuBar().getAsSimpleMenuBar()).add((SwingScilabMenu) allObjects.get(childId).getValue());
+                            ((Container) ((SwingScilabPanel) updatedComponent).getMenuBar().getAsSimpleMenuBar()).add((SwingScilabMenu) allObjects.get(childId).getValue());
                             break;
                     }
                     needRevalidate = true;
@@ -933,7 +941,7 @@ public final class SwingView implements GraphicView {
 
                 /* Remove an uicontrol */
                 if (childType == __GO_UICONTROL__) {
-                    ((SwingScilabDockablePanel) updatedComponent).removeMember(allObjects.get(childId).getValue());
+                    ((SwingScilabPanel) updatedComponent).removeMember(allObjects.get(childId).getValue());
                     needRevalidate = true;
                 }
 
@@ -942,10 +950,10 @@ public final class SwingView implements GraphicView {
                     TypedObject childAsTypedObject = allObjects.get(childId);
                     switch (childAsTypedObject.getType()) {
                         case UiCheckedMenu:
-                            ((Container) ((SwingScilabDockablePanel) updatedComponent).getMenuBar().getAsSimpleMenuBar()).remove((SwingScilabCheckBoxMenuItem) allObjects.get(childId).getValue());
+                            ((Container) ((SwingScilabPanel) updatedComponent).getMenuBar().getAsSimpleMenuBar()).remove((SwingScilabCheckBoxMenuItem) allObjects.get(childId).getValue());
                             break;
                         default: /* UiParentMenu */
-                            ((Container) ((SwingScilabDockablePanel) updatedComponent).getMenuBar().getAsSimpleMenuBar()).remove((SwingScilabMenu) allObjects.get(childId).getValue());
+                            ((Container) ((SwingScilabPanel) updatedComponent).getMenuBar().getAsSimpleMenuBar()).remove((SwingScilabMenu) allObjects.get(childId).getValue());
                             break;
                     }
                     needRevalidate = true;
index 67ad2b5..481d09b 100644 (file)
@@ -152,6 +152,9 @@ public class SwingScilabCommonPanel {
                 break;
             case __GO_VISIBLE__ :
                 component.getContentPane().setVisible((Boolean) value);
+                if (component.getParentWindow().getNbDockedObjects() == 1) {
+                    component.getParentWindow().setVisible((Boolean) value);
+                }
                 break;
             case __GO_INFOBAR_VISIBLE__ :
                 component.getInfoBar().setVisible((Boolean) value);
@@ -340,4 +343,8 @@ public class SwingScilabCommonPanel {
             }
         }
     }
+    
+    protected static void  removeMember(SwingScilabPanel component,SwingViewObject member) {
+        component.getWidgetPane().remove((Component) member);
+    }
 }
index 6fb61b6..e1249ce 100644 (file)
@@ -621,7 +621,7 @@ public class SwingScilabDockablePanel extends View implements SimpleTab, FocusLi
      * @param member the member to remove
      */
     public void removeMember(SwingViewObject member) {
-        uiContentPane.remove((Component) member);
+        SwingScilabCommonPanel.removeMember(this, member);
     }
 
     /**
index 05db64d..03bcf3b 100644 (file)
@@ -45,7 +45,10 @@ public interface SwingScilabPanel extends SwingViewObject {
     
     public void setVisible(boolean isVisible);
     public void setWindowIcon(String windowIcon);
+    
     public void addMember(SwingViewObject member);
+    public void removeMember(SwingViewObject member);
+    
     public void revalidate();
     
     public void setCallback(CommonCallBack callback);
index 350bd86..6a184fe 100644 (file)
@@ -15,9 +15,9 @@ 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_SIZE__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_VISIBLE__;
 
 import java.awt.Container;
-import java.awt.Dimension;
 import java.awt.event.ComponentEvent;
 import java.awt.event.ComponentListener;
 
@@ -44,7 +44,7 @@ public class SwingScilabStaticPanel extends SwingScilabScrollPane implements Swi
     private boolean eventHandlerEnabled;
     private String parentWindowId;
     private String windowIcon;
-    
+
     private JLayeredPane uiContentPane;
     private JLayeredPane layerdPane;
 
@@ -53,17 +53,17 @@ public class SwingScilabStaticPanel extends SwingScilabScrollPane implements Swi
         uiContentPane = (JLayeredPane) getUIComponent();
         layerdPane = (JLayeredPane) getGlobalComponent();
         setVisible(true);
-        
+
         layerdPane.setLayout(null);
         layerdPane.setOpaque(false);
-        
+
         uiContentPane.setOpaque(true);
         uiContentPane.setLayout(null);
         layerdPane.add(uiContentPane, JLayeredPane.DEFAULT_LAYER + 1, 0);
 
         layerdPane.setVisible(true);
         uiContentPane.setVisible(true);
-        
+
         /* Manage figure_size property */
         addComponentListener(new ComponentListener() {
 
@@ -93,7 +93,6 @@ public class SwingScilabStaticPanel extends SwingScilabScrollPane implements Swi
             public void componentHidden(ComponentEvent arg0) {
             }
         });
-
     }
 
     public void setId(Integer id) {
@@ -167,15 +166,32 @@ public class SwingScilabStaticPanel extends SwingScilabScrollPane implements Swi
 
     public void setCallback(CommonCallBack callback) {
         // TODO Auto-generated method stub
-        
+
     }
 
     public Container getContentPane() {
         return this.getAsContainer();
     }
-    
+
     public void close() {
+        setMenuBar(null);
+        setToolBar(null);
+        setInfoBar(null);
+        removeAll();
+        // without this children canvas are not released.
+        getParentWindow().setVisible(false);
+        Container dummyContainer = new Container();
+        getParentWindow().setContentPane(dummyContainer);
+        setVisible(false);
     }
 
-    
+    /**
+     * Remove a SwingViewObject (from SwingView.java)
+     * @param member the member to remove
+     */
+    public void removeMember(SwingViewObject member) {
+        SwingScilabCommonPanel.removeMember(this, member);
+    }
+
+
 }
index 9dc65ab..9e69b9a 100644 (file)
@@ -335,6 +335,7 @@ public abstract class SwingScilabWindow extends JFrame implements SimpleWindow {
             Dimension finalDim = new Dimension(newWindowSize.getWidth(), newWindowSize.getHeight());
 
             setSize(finalDim);
+            setPreferredSize(finalDim);
             // validate so the new values are taken into account immediately
             validate();
         }
index bcd8d76..6da2f3e 100644 (file)
@@ -299,6 +299,7 @@ public class ClosingOperationsManager {
                     }
                     return close(list, window, askToExit, mustSave);
                 } else {
+                    window.close();
                     return true;
                 }
             }