* New display for uicontrols handles properties. Only properties used for Java render... 04/14204/3
Vincent COUVERT [Fri, 28 Mar 2014 10:46:24 +0000 (11:46 +0100)]
  To display all available properties, use the "ShowHiddenProperties" "Console" property.

Change-Id: Id74745f8622dd9d6a6d73bad3df7f0c06f4b79e4

17 files changed:
scilab/CHANGES_5.5.X
scilab/modules/graphic_objects/includes/graphicObjectProperties.h
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/console/Console.java
scilab/modules/graphic_objects/src/java/org/scilab/modules/graphic_objects/graphicObject/GraphicObjectProperties.java
scilab/modules/graphic_objects/src/scripts/propertiesMap.properties
scilab/modules/graphics/Gui_Import.def
scilab/modules/graphics/help/en_US/property/get.xml
scilab/modules/graphics/macros/%h_p.sci
scilab/modules/graphics/src/c/getHandleProperty/GetHashTable.c
scilab/modules/graphics/src/c/getHandleProperty/SetHashTable.c
scilab/modules/gui/help/en_US/console_properties.xml [new file with mode: 0644]
scilab/modules/gui/help/en_US/uicontrol.xml
scilab/modules/gui/includes/GetUicontrol.h
scilab/modules/gui/includes/SetConsoleShowHiddenHandles.h
scilab/modules/gui/includes/SetUicontrol.h
scilab/modules/gui/src/cpp/GetConsoleShowHiddenHandles.cpp
scilab/modules/gui/src/cpp/SetConsoleShowHiddenHandles.cpp

index a4510f5..e5588e8 100644 (file)
@@ -87,6 +87,9 @@ GUI Refactoring and Improvements
 * New way to access uicontrols using a path containing their "Tag" and their parent(s) "Tag" property.
   See the set and get functions help page for more details.
 
+* New display for uicontrols handles properties. Only properties used for Java rendering are displayed.
+  To display all available properties, use the "ShowHiddenProperties" "Console" property.
+
 
 Graphics Evolutions
 ===================
index aad0356..1c9df88 100755 (executable)
 #define __GO_UI_ICON__ 319
 #define __GO_CONSOLE__ 320
 #define __GO_SHOWHIDDENHANDLES__ 321
-#define __GO_USEDEPRECATEDLF__ 322
-#define __GO_WAITBAR__ 323
-#define __GO_PROGRESSIONBAR__ 324
-#define __GO_UI_MESSAGE__ 325
-#define __GO_UI_MESSAGE_SIZE__ 326
-#define __GO_DATATIP__ 327
-#define __GO_DATATIP_DATA__ 328
-#define __GO_DATATIP_ORIENTATION__ 329
-#define __GO_DATATIP_3COMPONENT__ 330
-#define __GO_DATATIP_AUTOORIENTATION__ 331
-#define __GO_DATATIP_INTERP_MODE__ 332
-#define __GO_DATATIP_DISPLAY_FNC__ 333
-#define __GO_DATATIP_BOX_MODE__ 334
-#define __GO_DATATIP_LABEL_MODE__ 335
-#define __GO_DATATIP_MARK__ 336
-#define __GO_AMBIENTCOLOR__ 337
-#define __GO_DIFFUSECOLOR__ 338
-#define __GO_SPECULARCOLOR__ 339
-#define __GO_COLOR_MATERIAL__ 340
-#define __GO_MATERIAL_SHININESS__ 341
-#define __GO_LIGHT__ 342
-#define __GO_LIGHT_TYPE__ 343
-#define __GO_DATATIPS__ 344
-#define __GO_DATATIPS_COUNT__ 345
-#define __GO_DATATIP_INDEXES__ 346
-#define __GO_DATA_MODEL_DISPLAY_FUNCTION__ 347
-#define __GO_DATA_MODEL_DISPLAY_FUNCTION_SIZE__ 348
-#define __GO_RESIZE__ 349
-#define __GO_TOOLBAR__ 350
-#define __GO_TOOLBAR_VISIBLE__ 351
-#define __GO_MENUBAR__ 352
-#define __GO_MENUBAR_VISIBLE__ 353
-#define __GO_INFOBAR_VISIBLE__ 354
-#define __GO_DOCKABLE__ 355
-#define __GO_LAYOUT__ 356
-#define __GO_LAYOUT_SET__ 357
-#define __GO_UI_TAB__ 358
-#define __GO_UI_GRIDBAG_GRID__ 359
-#define __GO_UI_GRIDBAG_WEIGHT__ 360
-#define __GO_UI_GRIDBAG_FILL__ 361
-#define __GO_UI_GRIDBAG_ANCHOR__ 362
-#define __GO_UI_GRIDBAG_PADDING__ 363
-#define __GO_UI_GRIDBAG_PREFERREDSIZE__ 364
-#define __GO_UI_GRID_GRID__ 365
-#define __GO_UI_GRID_PADDING__ 366
-#define __GO_UI_BORDER_POSITION__ 367
-#define __GO_UI_BORDER_PREFERREDSIZE__ 368
-#define __GO_GRID_OPT_GRID__ 369
-#define __GO_GRID_OPT_PADDING__ 370
-#define __GO_BORDER_OPT_PADDING__ 371
-#define __GO_UI_FRAME_BORDER__ 372
-#define __GO_UI_FRAME_BORDER_COLOR__ 373
-#define __GO_UI_FRAME_BORDER_HIGHLIGHT_IN__ 374
-#define __GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__ 375
-#define __GO_UI_FRAME_BORDER_IN_BORDER__ 376
-#define __GO_UI_FRAME_BORDER_JUSTIFICATION__ 377
-#define __GO_UI_FRAME_BORDER_OUT_BORDER__ 378
-#define __GO_UI_FRAME_BORDER_ROUNDED__ 379
-#define __GO_UI_FRAME_BORDER_SHADOW_IN__ 380
-#define __GO_UI_FRAME_BORDER_SHADOW_OUT__ 381
-#define __GO_UI_FRAME_BORDER_TITLE__ 382
-#define __GO_UI_FRAME_BORDER_POSITION__ 383
-#define __GO_UI_FRAME_BORDER_STYLE__ 384
-#define __GO_UI_GROUP_NAME__ 385
-#define __GO_UI_TITLE_POSITION__ 386
-#define __GO_UI_TITLE_SCROLL__ 387
-#define __GO_UI_FRAME_BORDER_TYPE__ 388
-#define __GO_UI_SCROLLABLE__ 389
+#define __GO_SHOWHIDDENPROPERTIES__ 322
+#define __GO_USEDEPRECATEDLF__ 323
+#define __GO_WAITBAR__ 324
+#define __GO_PROGRESSIONBAR__ 325
+#define __GO_UI_MESSAGE__ 326
+#define __GO_UI_MESSAGE_SIZE__ 327
+#define __GO_DATATIP__ 328
+#define __GO_DATATIP_DATA__ 329
+#define __GO_DATATIP_ORIENTATION__ 330
+#define __GO_DATATIP_3COMPONENT__ 331
+#define __GO_DATATIP_AUTOORIENTATION__ 332
+#define __GO_DATATIP_INTERP_MODE__ 333
+#define __GO_DATATIP_DISPLAY_FNC__ 334
+#define __GO_DATATIP_BOX_MODE__ 335
+#define __GO_DATATIP_LABEL_MODE__ 336
+#define __GO_DATATIP_MARK__ 337
+#define __GO_AMBIENTCOLOR__ 338
+#define __GO_DIFFUSECOLOR__ 339
+#define __GO_SPECULARCOLOR__ 340
+#define __GO_COLOR_MATERIAL__ 341
+#define __GO_MATERIAL_SHININESS__ 342
+#define __GO_LIGHT__ 343
+#define __GO_LIGHT_TYPE__ 344
+#define __GO_DATATIPS__ 345
+#define __GO_DATATIPS_COUNT__ 346
+#define __GO_DATATIP_INDEXES__ 347
+#define __GO_DATA_MODEL_DISPLAY_FUNCTION__ 348
+#define __GO_DATA_MODEL_DISPLAY_FUNCTION_SIZE__ 349
+#define __GO_RESIZE__ 350
+#define __GO_TOOLBAR__ 351
+#define __GO_TOOLBAR_VISIBLE__ 352
+#define __GO_MENUBAR__ 353
+#define __GO_MENUBAR_VISIBLE__ 354
+#define __GO_INFOBAR_VISIBLE__ 355
+#define __GO_DOCKABLE__ 356
+#define __GO_LAYOUT__ 357
+#define __GO_LAYOUT_SET__ 358
+#define __GO_UI_TAB__ 359
+#define __GO_UI_GRIDBAG_GRID__ 360
+#define __GO_UI_GRIDBAG_WEIGHT__ 361
+#define __GO_UI_GRIDBAG_FILL__ 362
+#define __GO_UI_GRIDBAG_ANCHOR__ 363
+#define __GO_UI_GRIDBAG_PADDING__ 364
+#define __GO_UI_GRIDBAG_PREFERREDSIZE__ 365
+#define __GO_UI_GRID_GRID__ 366
+#define __GO_UI_GRID_PADDING__ 367
+#define __GO_UI_BORDER_POSITION__ 368
+#define __GO_UI_BORDER_PREFERREDSIZE__ 369
+#define __GO_GRID_OPT_GRID__ 370
+#define __GO_GRID_OPT_PADDING__ 371
+#define __GO_BORDER_OPT_PADDING__ 372
+#define __GO_UI_FRAME_BORDER__ 373
+#define __GO_UI_FRAME_BORDER_COLOR__ 374
+#define __GO_UI_FRAME_BORDER_HIGHLIGHT_IN__ 375
+#define __GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__ 376
+#define __GO_UI_FRAME_BORDER_IN_BORDER__ 377
+#define __GO_UI_FRAME_BORDER_JUSTIFICATION__ 378
+#define __GO_UI_FRAME_BORDER_OUT_BORDER__ 379
+#define __GO_UI_FRAME_BORDER_ROUNDED__ 380
+#define __GO_UI_FRAME_BORDER_SHADOW_IN__ 381
+#define __GO_UI_FRAME_BORDER_SHADOW_OUT__ 382
+#define __GO_UI_FRAME_BORDER_TITLE__ 383
+#define __GO_UI_FRAME_BORDER_POSITION__ 384
+#define __GO_UI_FRAME_BORDER_STYLE__ 385
+#define __GO_UI_GROUP_NAME__ 386
+#define __GO_UI_TITLE_POSITION__ 387
+#define __GO_UI_TITLE_SCROLL__ 388
+#define __GO_UI_FRAME_BORDER_TYPE__ 389
+#define __GO_UI_SCROLLABLE__ 390
 
 #endif /* !__GRAPHIC_OBJECT_PROPERTIES_H__ */
index 73fa3b4..501b7ad 100644 (file)
@@ -13,6 +13,7 @@
 package org.scilab.modules.graphic_objects.console;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CONSOLE__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_SHOWHIDDENHANDLES__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_SHOWHIDDENPROPERTIES__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_TOOLBAR_VISIBLE__;
 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_USEDEPRECATEDLF__;
 
@@ -36,6 +37,8 @@ public final class Console extends GraphicObject {
 
     private boolean showHiddenHandles;
 
+    private boolean showHiddenProperties;
+
     private ScilabMode scilabMode;
 
     private boolean useDeprecatedLF = false;
@@ -45,6 +48,7 @@ public final class Console extends GraphicObject {
     /** Console properties names */
     private enum ConsoleProperty {
         SHOWHIDDENHANDLES,
+        SHOWHIDDENPROPERTIES,
         USEDEPRECATEDLF,
         TOOLBARVISIBLE
     };
@@ -96,7 +100,7 @@ public final class Console extends GraphicObject {
     }
 
     /**
-     * Set the showHiddenHandles proeprty
+     * Set the showHiddenHandles property
      * @param showHiddenHandles the new value to set
      */
     public UpdateStatus setShowHiddenHandles(boolean showHiddenHandles) {
@@ -105,7 +109,7 @@ public final class Console extends GraphicObject {
     }
 
     /**
-     * Get the showHiddenHandles proeprty
+     * Get the showHiddenHandles property
      * @return showHiddenHandles
      */
     public boolean getShowHiddenHandles() {
@@ -113,6 +117,23 @@ public final class Console extends GraphicObject {
     }
 
     /**
+     * Set the showHiddenProperties property
+     * @param showHiddenProperties the new value to set
+     */
+    public UpdateStatus setShowHiddenProperties(boolean showHiddenProperties) {
+        this.showHiddenProperties = showHiddenProperties;
+        return UpdateStatus.Success;
+    }
+
+    /**
+     * Get the showHiddenProperties property
+     * @return showHiddenProperties
+     */
+    public boolean getShowHiddenProperties() {
+        return this.showHiddenProperties;
+    }
+
+    /**
      * Accept method
      * @param visitor the visitor
      * @see org.scilab.modules.graphic_objects.graphicObject.GraphicObject#accept(org.scilab.modules.graphic_objects.graphicObject.Visitor)
@@ -129,6 +150,8 @@ public final class Console extends GraphicObject {
     public Object getPropertyFromName(int propertyName) {
         if (propertyName == __GO_SHOWHIDDENHANDLES__) {
             return ConsoleProperty.SHOWHIDDENHANDLES;
+        } else if (propertyName == __GO_SHOWHIDDENPROPERTIES__) {
+            return ConsoleProperty.SHOWHIDDENPROPERTIES;
         } else if (propertyName == __GO_USEDEPRECATEDLF__) {
             return ConsoleProperty.USEDEPRECATEDLF;
         } else if (propertyName == __GO_TOOLBAR_VISIBLE__) {
@@ -145,6 +168,8 @@ public final class Console extends GraphicObject {
     public Object getProperty(Object property) {
         if (property == ConsoleProperty.SHOWHIDDENHANDLES) {
             return getShowHiddenHandles();
+        } else if (property == ConsoleProperty.SHOWHIDDENPROPERTIES) {
+            return getShowHiddenProperties();
         } else if (property == ConsoleProperty.USEDEPRECATEDLF) {
             return getUseDeprecatedLF();
         } else if (property == ConsoleProperty.TOOLBARVISIBLE) {
@@ -163,6 +188,8 @@ public final class Console extends GraphicObject {
     public UpdateStatus setProperty(Object property, Object value) {
         if (property == ConsoleProperty.SHOWHIDDENHANDLES) {
             setShowHiddenHandles((Boolean) value);
+        } else if (property == ConsoleProperty.SHOWHIDDENPROPERTIES) {
+            setShowHiddenProperties((Boolean) value);
         } else if (property == ConsoleProperty.USEDEPRECATEDLF) {
             setUseDeprecatedLF((Boolean) value);
         } else if (property == ConsoleProperty.TOOLBARVISIBLE) {
index a770123..490990a 100755 (executable)
@@ -343,73 +343,74 @@ public class GraphicObjectProperties {
     public static final int __GO_UI_ICON__ = 319;
     public static final int __GO_CONSOLE__ = 320;
     public static final int __GO_SHOWHIDDENHANDLES__ = 321;
-    public static final int __GO_USEDEPRECATEDLF__ = 322;
-    public static final int __GO_WAITBAR__ = 323;
-    public static final int __GO_PROGRESSIONBAR__ = 324;
-    public static final int __GO_UI_MESSAGE__ = 325;
-    public static final int __GO_UI_MESSAGE_SIZE__ = 326;
-    public static final int __GO_DATATIP__ = 327;
-    public static final int __GO_DATATIP_DATA__ = 328;
-    public static final int __GO_DATATIP_ORIENTATION__ = 329;
-    public static final int __GO_DATATIP_3COMPONENT__ = 330;
-    public static final int __GO_DATATIP_AUTOORIENTATION__ = 331;
-    public static final int __GO_DATATIP_INTERP_MODE__ = 332;
-    public static final int __GO_DATATIP_DISPLAY_FNC__ = 333;
-    public static final int __GO_DATATIP_BOX_MODE__ = 334;
-    public static final int __GO_DATATIP_LABEL_MODE__ = 335;
-    public static final int __GO_DATATIP_MARK__ = 336;
-    public static final int __GO_AMBIENTCOLOR__ = 337;
-    public static final int __GO_DIFFUSECOLOR__ = 338;
-    public static final int __GO_SPECULARCOLOR__ = 339;
-    public static final int __GO_COLOR_MATERIAL__ = 340;
-    public static final int __GO_MATERIAL_SHININESS__ = 341;
-    public static final int __GO_LIGHT__ = 342;
-    public static final int __GO_LIGHT_TYPE__ = 343;
-    public static final int __GO_DATATIPS__ = 344;
-    public static final int __GO_DATATIPS_COUNT__ = 345;
-    public static final int __GO_DATATIP_INDEXES__ = 346;
-    public static final int __GO_DATA_MODEL_DISPLAY_FUNCTION__ = 347;
-    public static final int __GO_DATA_MODEL_DISPLAY_FUNCTION_SIZE__ = 348;
-    public static final int __GO_RESIZE__ = 349;
-    public static final int __GO_TOOLBAR__ = 350;
-    public static final int __GO_TOOLBAR_VISIBLE__ = 351;
-    public static final int __GO_MENUBAR__ = 352;
-    public static final int __GO_MENUBAR_VISIBLE__ = 353;
-    public static final int __GO_INFOBAR_VISIBLE__ = 354;
-    public static final int __GO_DOCKABLE__ = 355;
-    public static final int __GO_LAYOUT__ = 356;
-    public static final int __GO_LAYOUT_SET__ = 357;
-    public static final int __GO_UI_TAB__ = 358;
-    public static final int __GO_UI_GRIDBAG_GRID__ = 359;
-    public static final int __GO_UI_GRIDBAG_WEIGHT__ = 360;
-    public static final int __GO_UI_GRIDBAG_FILL__ = 361;
-    public static final int __GO_UI_GRIDBAG_ANCHOR__ = 362;
-    public static final int __GO_UI_GRIDBAG_PADDING__ = 363;
-    public static final int __GO_UI_GRIDBAG_PREFERREDSIZE__ = 364;
-    public static final int __GO_UI_GRID_GRID__ = 365;
-    public static final int __GO_UI_GRID_PADDING__ = 366;
-    public static final int __GO_UI_BORDER_POSITION__ = 367;
-    public static final int __GO_UI_BORDER_PREFERREDSIZE__ = 368;
-    public static final int __GO_GRID_OPT_GRID__ = 369;
-    public static final int __GO_GRID_OPT_PADDING__ = 370;
-    public static final int __GO_BORDER_OPT_PADDING__ = 371;
-    public static final int __GO_UI_FRAME_BORDER__ = 372;
-    public static final int __GO_UI_FRAME_BORDER_COLOR__ = 373;
-    public static final int __GO_UI_FRAME_BORDER_HIGHLIGHT_IN__ = 374;
-    public static final int __GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__ = 375;
-    public static final int __GO_UI_FRAME_BORDER_IN_BORDER__ = 376;
-    public static final int __GO_UI_FRAME_BORDER_JUSTIFICATION__ = 377;
-    public static final int __GO_UI_FRAME_BORDER_OUT_BORDER__ = 378;
-    public static final int __GO_UI_FRAME_BORDER_ROUNDED__ = 379;
-    public static final int __GO_UI_FRAME_BORDER_SHADOW_IN__ = 380;
-    public static final int __GO_UI_FRAME_BORDER_SHADOW_OUT__ = 381;
-    public static final int __GO_UI_FRAME_BORDER_TITLE__ = 382;
-    public static final int __GO_UI_FRAME_BORDER_POSITION__ = 383;
-    public static final int __GO_UI_FRAME_BORDER_STYLE__ = 384;
-    public static final int __GO_UI_GROUP_NAME__ = 385;
-    public static final int __GO_UI_TITLE_POSITION__ = 386;
-    public static final int __GO_UI_TITLE_SCROLL__ = 387;
-    public static final int __GO_UI_FRAME_BORDER_TYPE__ = 388;
-    public static final int __GO_UI_SCROLLABLE__ = 389;
+    public static final int __GO_SHOWHIDDENPROPERTIES__ = 322;
+    public static final int __GO_USEDEPRECATEDLF__ = 323;
+    public static final int __GO_WAITBAR__ = 324;
+    public static final int __GO_PROGRESSIONBAR__ = 325;
+    public static final int __GO_UI_MESSAGE__ = 326;
+    public static final int __GO_UI_MESSAGE_SIZE__ = 327;
+    public static final int __GO_DATATIP__ = 328;
+    public static final int __GO_DATATIP_DATA__ = 329;
+    public static final int __GO_DATATIP_ORIENTATION__ = 330;
+    public static final int __GO_DATATIP_3COMPONENT__ = 331;
+    public static final int __GO_DATATIP_AUTOORIENTATION__ = 332;
+    public static final int __GO_DATATIP_INTERP_MODE__ = 333;
+    public static final int __GO_DATATIP_DISPLAY_FNC__ = 334;
+    public static final int __GO_DATATIP_BOX_MODE__ = 335;
+    public static final int __GO_DATATIP_LABEL_MODE__ = 336;
+    public static final int __GO_DATATIP_MARK__ = 337;
+    public static final int __GO_AMBIENTCOLOR__ = 338;
+    public static final int __GO_DIFFUSECOLOR__ = 339;
+    public static final int __GO_SPECULARCOLOR__ = 340;
+    public static final int __GO_COLOR_MATERIAL__ = 341;
+    public static final int __GO_MATERIAL_SHININESS__ = 342;
+    public static final int __GO_LIGHT__ = 343;
+    public static final int __GO_LIGHT_TYPE__ = 344;
+    public static final int __GO_DATATIPS__ = 345;
+    public static final int __GO_DATATIPS_COUNT__ = 346;
+    public static final int __GO_DATATIP_INDEXES__ = 347;
+    public static final int __GO_DATA_MODEL_DISPLAY_FUNCTION__ = 348;
+    public static final int __GO_DATA_MODEL_DISPLAY_FUNCTION_SIZE__ = 349;
+    public static final int __GO_RESIZE__ = 350;
+    public static final int __GO_TOOLBAR__ = 351;
+    public static final int __GO_TOOLBAR_VISIBLE__ = 352;
+    public static final int __GO_MENUBAR__ = 353;
+    public static final int __GO_MENUBAR_VISIBLE__ = 354;
+    public static final int __GO_INFOBAR_VISIBLE__ = 355;
+    public static final int __GO_DOCKABLE__ = 356;
+    public static final int __GO_LAYOUT__ = 357;
+    public static final int __GO_LAYOUT_SET__ = 358;
+    public static final int __GO_UI_TAB__ = 359;
+    public static final int __GO_UI_GRIDBAG_GRID__ = 360;
+    public static final int __GO_UI_GRIDBAG_WEIGHT__ = 361;
+    public static final int __GO_UI_GRIDBAG_FILL__ = 362;
+    public static final int __GO_UI_GRIDBAG_ANCHOR__ = 363;
+    public static final int __GO_UI_GRIDBAG_PADDING__ = 364;
+    public static final int __GO_UI_GRIDBAG_PREFERREDSIZE__ = 365;
+    public static final int __GO_UI_GRID_GRID__ = 366;
+    public static final int __GO_UI_GRID_PADDING__ = 367;
+    public static final int __GO_UI_BORDER_POSITION__ = 368;
+    public static final int __GO_UI_BORDER_PREFERREDSIZE__ = 369;
+    public static final int __GO_GRID_OPT_GRID__ = 370;
+    public static final int __GO_GRID_OPT_PADDING__ = 371;
+    public static final int __GO_BORDER_OPT_PADDING__ = 372;
+    public static final int __GO_UI_FRAME_BORDER__ = 373;
+    public static final int __GO_UI_FRAME_BORDER_COLOR__ = 374;
+    public static final int __GO_UI_FRAME_BORDER_HIGHLIGHT_IN__ = 375;
+    public static final int __GO_UI_FRAME_BORDER_HIGHLIGHT_OUT__ = 376;
+    public static final int __GO_UI_FRAME_BORDER_IN_BORDER__ = 377;
+    public static final int __GO_UI_FRAME_BORDER_JUSTIFICATION__ = 378;
+    public static final int __GO_UI_FRAME_BORDER_OUT_BORDER__ = 379;
+    public static final int __GO_UI_FRAME_BORDER_ROUNDED__ = 380;
+    public static final int __GO_UI_FRAME_BORDER_SHADOW_IN__ = 381;
+    public static final int __GO_UI_FRAME_BORDER_SHADOW_OUT__ = 382;
+    public static final int __GO_UI_FRAME_BORDER_TITLE__ = 383;
+    public static final int __GO_UI_FRAME_BORDER_POSITION__ = 384;
+    public static final int __GO_UI_FRAME_BORDER_STYLE__ = 385;
+    public static final int __GO_UI_GROUP_NAME__ = 386;
+    public static final int __GO_UI_TITLE_POSITION__ = 387;
+    public static final int __GO_UI_TITLE_SCROLL__ = 388;
+    public static final int __GO_UI_FRAME_BORDER_TYPE__ = 389;
+    public static final int __GO_UI_SCROLLABLE__ = 390;
 
 }
index b46f2c6..747d368 100755 (executable)
@@ -358,6 +358,7 @@ __GO_UI_ICON__
 
 __GO_CONSOLE__
 __GO_SHOWHIDDENHANDLES__
+__GO_SHOWHIDDENPROPERTIES__
 __GO_USEDEPRECATEDLF__
 
 __GO_WAITBAR__
index 090cbf0..df7770a 100644 (file)
@@ -70,3 +70,5 @@ GetConsoleUseDeprecatedLF
 SetConsoleUseDeprecatedLF
 GetUicontrolIcon
 SetUicontrolIcon
+GetConsoleShowHiddenProperties
+SetConsoleShowHiddenProperties
index a241ccd..4d486b9 100644 (file)
@@ -34,7 +34,7 @@
                 <listitem>
                     <para>handle, the handle of the entity to retrieve a property.
                         <literal>h</literal> can be a vector of handles, in which case get returns
-                        the property value for all objects contained in h. <literal>h</literal> can also be <emphasis>0</emphasis> to get the root object properties.
+                        the property value for all objects contained in h. <literal>h</literal> can also be <emphasis>0</emphasis> to get the root object properties. Calling <literal>get(0)</literal> will return a "Console" handle with configuration <link linkend="console_properties">properties</link>.
                     </para>
                 </listitem>
             </varlistentry>
     <refsection>
         <title>Examples</title>
         <para>
-          <programlisting role="example"><![CDATA[
+            <programlisting role="example"><![CDATA[
 // for graphics entities
  clf()
 
@@ -171,7 +171,7 @@ close(); // close figure
 ]]></programlisting>
         </para>
         <para>
-        <programlisting role="example"><![CDATA[
+            <programlisting role="example"><![CDATA[
 // Using path
 f = figure("dockable", "off", "menubar", "none", "toolbar", "none", "infobar_visible", "off", "tag", "mainfig");
 frameHandle = uicontrol("parent", f, "style", "frame", "position", [200 200 190 100], "tag", "myframe");
index 1946990..4210ab8 100755 (executable)
@@ -971,72 +971,79 @@ function %h_p(h)
 
             showHiddenProperties = get(get(0), "ShowHiddenProperties") == "on";
             t = [];
-            t($+1) = "Parent: "+h.parent.type;
-            t($+1) = "Children: "+fmtchildren(h.children);
-            t($+1) = "";
-            t($+1) = "Style = "+h.style;
-            t($+1) = "";
-            t($+1) = "BackgroundColor = "+sci2exp(h.backgroundcolor,0);
+            t($ + 1) = "Parent: " + h.parent.type;
+            t($ + 1) = "Children: " + fmtchildren(h.children);
+            t($ + 1) = "Style = " + h.style;
+            if and(h.style <> ["popupmenu"]) | showHiddenProperties then
+                t($ + 1) = "BackgroundColor = " + sci2exp(h.backgroundcolor,0);
+            end
             if h.style == "frame" | showHiddenProperties then
-                t($+1) = "Border = "+sci2exp(b);
+                t($ + 1) = "Border = " + sci2exp(b);
             end
             if and(h.style <> ["frame", "layer", "text"]) | showHiddenProperties then
-                t($+1) = "Callback = "+h.callback;
-                t($+1) = "Callback_Type = "+sci2exp(h.callback_type,0);
+                t($ + 1) = "Callback = " + h.callback;
+                t($ + 1) = "Callback_Type = " + sci2exp(h.callback_type,0);
+            end
+            t($ + 1) = "Constraints = " + sci2exp(c);
+            t($ + 1) = "Enable = " + sci2exp(h.enable);
+            if and(h.style <> ["image", "slider", "layer"]) | showHiddenProperties then
+                t($ + 1) = "FontAngle = " + h.fontangle;
+                t($ + 1) = "FontName = " + h.fontname;
+                t($ + 1) = "FontSize = " + sci2exp(h.fontsize);
+                t($ + 1) = "FontUnits = " + h.fontunits;
+                t($ + 1) = "FontWeight = " + h.fontweight;
             end
-            t($+1) = "Constraints = "+sci2exp(c);
-            t($+1) = "Enable = "+sci2exp(h.enable);
-            if and(h.style <> ["frame", "layer"]) | showHiddenProperties then
-                t($+1) = "FontAngle = "+h.fontangle;
-                t($+1) = "FontName = "+h.fontname;
-                t($+1) = "FontSize = "+sci2exp(h.fontsize);
-                t($+1) = "FontUnits = "+h.fontunits;
-                t($+1) = "FontWeight = "+h.fontweight;
+            if and(h.style <> ["frame", "layer", "tab", "slider", "image", "popupmenu"]) | showHiddenProperties then
+                t($ + 1) = "ForegroundColor = " + sci2exp(h.foregroundcolor,0);
             end
-            t($+1) = "ForegroundColor = "+sci2exp(h.foregroundcolor,0);
             if or(h.style == ["radiobutton", "checkbox"]) | showHiddenProperties then
-                t($+1) = "Groupname = "+sci2exp(h.groupname);
+                t($ + 1) = "Groupname = " + sci2exp(h.groupname);
+            end
+            if and(h.style <> ["frame", "layer", "tab", "listbox", "popupmenu"]) | showHiddenProperties then
+                t($ + 1) = "HorizontalAlignment = " + h.horizontalalignment;
             end
-            t($+1) = "HorizontalAlignment = "+h.horizontalalignment;
-            if and(h.style <> ["frame", "layer"]) | showHiddenProperties then
-                t($+1) = "Icon = "+fmtuser_data(h.icon);
+            if or(h.style == ["text", "pushbutton", "frame"]) | showHiddenProperties then
+                t($ + 1) = "Icon = " + fmtuser_data(h.icon);
             end
             if h.style == "frame" | showHiddenProperties then
-                t($+1) = "Layout = "+sci2exp(h.layout);
-                t($+1) = "Layout_options = "+sci2exp(l);
+                t($ + 1) = "Layout = " + sci2exp(h.layout);
+                t($ + 1) = "Layout_options = " + sci2exp(l);
             end
             if h.style == "listbox" | showHiddenProperties then
-                t($+1) = "ListboxTop = "+sci2exp(h.listboxtop,0);
+                t($ + 1) = "ListboxTop = " + sci2exp(h.listboxtop,0);
             end
-            t($+1) = "Margins = "+sci2exp(h.margins);
+            t($ + 1) = "Margins = " + sci2exp(h.margins);
             if or(h.style == ["checkbox", "radiobutton", "slider", "spinner", "listbox", "edit"]) | showHiddenProperties then
-                t($+1) = "Max = "+sci2exp(h.max);
-                t($+1) = "Min = "+sci2exp(h.min);
+                t($ + 1) = "Max = " + sci2exp(h.max);
+                t($ + 1) = "Min = " + sci2exp(h.min);
             end
-            t($+1) = "Position = "+sci2exp(h.position,0);
-            t($+1) = "Relief = "+h.relief;
+            t($ + 1) = "Position = " + sci2exp(h.position,0);
+            t($ + 1) = "Relief = " + h.relief;
             if or(h.style == ["frame", "edit"]) | showHiddenProperties then
-                t($+1) = "Scrollable = "+sci2exp(h.scrollable);
+                t($ + 1) = "Scrollable = " + sci2exp(h.scrollable);
             end
             if or(h.style == ["slider", "spinner"]) | showHiddenProperties then
-                t($+1) = "SliderStep = "+sci2exp(h.sliderstep);
+                t($ + 1) = "SliderStep = " + sci2exp(h.sliderstep);
             end
-            if h.style == "slider" | showHiddenProperties then
-                t($+1) = "String = "+fmtuser_data(h.string);
+            if h.style <> "slider" | showHiddenProperties then
+                t($ + 1) = "String = " + fmtuser_data(h.string);
             end
-            t($+1) = "Tag = "+h.tag;
+            t($ + 1) = "Tag = " + h.tag;
             if h.style == "tab" | showHiddenProperties then
-                t($+1) = "Title_position = "+sci2exp(h.title_position);
-                t($+1) = "Title_scroll = "+sci2exp(h.title_scroll);
+                t($ + 1) = "Title_position = " + sci2exp(h.title_position);
+                t($ + 1) = "Title_scroll = " + sci2exp(h.title_scroll);
             end
-            t($+1) = "TooltipString = "+fmtuser_data(h.tooltipstring);
-            t($+1) = "Units = "+h.units;
-            t($+1) = "Userdata = "+fmtuser_data(u);
-            if or(h.style == ["checkbox", "radiobutton", "slider", "spinner", "listbox", "edit", "layer", "tab"]) | showHiddenProperties then
-                t($+1) = "Value = "+sci2exp(h.value,0);
+            t($ + 1) = "TooltipString = " + fmtuser_data(h.tooltipstring);
+            t($ + 1) = "Units = " + h.units;
+            t($ + 1) = "Userdata = " + fmtuser_data(u);
+            if or(h.style == ["checkbox", "radiobutton", "slider", "spinner", "listbox", "edit", "layer", "tab", "popupmenu"]) | showHiddenProperties then
+                t($ + 1) = "Value = " + sci2exp(h.value,0);
+            end
+
+            if and(h.style <> ["frame", "layer", "tab", "listbox", "popupmenu"]) | showHiddenProperties then
+                t($ + 1) = "VerticalAlignment = " + h.verticalalignment;
             end
-            t($+1) = "VerticalAlignment = "+h.verticalalignment;
-            t($+1) = "Visible = "+sci2exp(h.visible);
+            t($ + 1) = "Visible = " + sci2exp(h.visible);
 
             // Console
             // =====================================================================
@@ -1045,6 +1052,7 @@ function %h_p(h)
             t=[t;
             "Children: "+fmtchildren(h.children)
             "ShowHiddenHandles: "+sci2exp(h.showhiddenhandles)
+            "ShowHiddenProperties: "+sci2exp(h.showhiddenproperties)
             "UseDeprecatedSkin: "+sci2exp(h.usedeprecatedskin)
             ]
             // Light
index f97fc0a..bbe65b2 100755 (executable)
@@ -210,6 +210,7 @@ static getHashTableCouple propertyGetTable[] =
     {"anti_aliasing", get_anti_aliasing_property},
     {"UID", get_UID},
     {"showhiddenhandles", GetConsoleShowHiddenHandles},
+    {"showhiddenproperties", GetConsoleShowHiddenProperties},
     {"usedeprecatedskin", GetConsoleUseDeprecatedLF},
     {"resizefcn", get_figure_resizefcn_property},
     {"tooltipstring", GetUicontrolTooltipString},
index 862e6c4..f74d4cd 100755 (executable)
@@ -211,6 +211,7 @@ static setHashTableCouple propertySetTable[] =
     {"grid_position", set_grid_position_property},
     {"anti_aliasing", set_anti_aliasing_property},
     {"showhiddenhandles", SetConsoleShowHiddenHandles},
+    {"showhiddenproperties", SetConsoleShowHiddenProperties},
     {"usedeprecatedskin", SetConsoleUseDeprecatedLF},
     {"resizefcn", set_figure_resizefcn_property},
     {"tooltipstring", SetUicontrolTooltipString},
diff --git a/scilab/modules/gui/help/en_US/console_properties.xml b/scilab/modules/gui/help/en_US/console_properties.xml
new file mode 100644 (file)
index 0000000..1f8c781
--- /dev/null
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+ * Copyright (C) 2014 - Scilab Enterprises - Vincent Couvert
+ *
+ * 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
+ *
+ -->
+<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" xmlns:scilab="http://www.scilab.org" xml:lang="en" xml:id="console_properties">
+    <refnamediv>
+        <refname>Console properties</refname>
+        <refpurpose>Description of console object properties.</refpurpose>
+    </refnamediv>
+    <refsection>
+        <title>Description</title>
+        <para>
+            This object is returned when calling <literal>get(0)</literal> and allows to modify some parameters for handles and uicontrols.
+        </para>
+        <variablelist>
+            <varlistentry>
+                <term>Console properties</term>
+                <listitem>
+                    <variablelist>
+                        <varlistentry>
+                            <term>ShowHiddenHandles:</term>
+                            <listitem>
+                                <para>A boolean or a string</para>
+                                <para>Manages the display of all children handles in figures including default menus ones.</para>
+                                <para>
+                                    Default value is <literal>"off"</literal>.
+                                </para>
+                            </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                            <term>UseDeprecatedSkin:</term>
+                            <listitem>
+                                <para>A boolean or a string</para>
+                                <para>Manages the rendering of uicontrols.</para>
+                                <para>
+                                    Default value is <literal>"off"</literal> and uicontrols look and feel is managed by operating system.
+                                </para>
+                                <para>
+                                    Setting this value to <literal>"on"</literal> or <literal>%T</literal> will make the uicontrols have an old TK look and feel.
+                                </para>
+                            </listitem>
+                        </varlistentry>
+                        <varlistentry>
+                            <term>ShowHiddenProperties:</term>
+                            <listitem>
+                                <para>A boolean or a string</para>
+                                <para>Manages the display of uicontrols properties.</para>
+                                <para>
+                                    Default value is <literal>"off"</literal> and only the uicontrols properties used on the Java side are displayed.
+                                </para>
+                                <para>
+                                    Setting this value to <literal>"on"</literal> or <literal>%T</literal> will make all available properties displayed (for example a <literal>ListboxTop</literal> property will be dispalyed for <literal>pushbutton</literal> uicontrols.
+                                </para>
+                            </listitem>
+                        </varlistentry>
+                    </variablelist>
+                </listitem>
+            </varlistentry>
+        </variablelist>
+    </refsection>
+    <refsection>
+        <title>Examples</title>
+        <programlisting role="example"><![CDATA[ 
+f=gcf() // Do no display hidden handles
+c = get(0);
+set(c, "ShowHiddenHandles", "on");
+f=gcf() // Show menu handles as children
+
+h=uicontrol(); // Button with OS look & feel
+set(c, "UseDeprecatedSkin", "on");
+h=uicontrol(); // Button with old TK look & feel
+
+h=uicontrol() // Minimal display of properties
+set(c, "ShowHiddenProperties", "on");
+h=uicontrol() // Full display of properties
+ ]]></programlisting>
+    </refsection>
+    <refsection role="see also">
+        <title>See Also</title>
+        <simplelist type="inline">
+            <member>
+                <link linkend="uicontrol">uicontrol</link>
+            </member>
+        </simplelist>
+    </refsection>
+</refentry>
index f65378b..1200b26 100644 (file)
@@ -52,6 +52,9 @@
         <para>
             All available properties and their description are given in the <link linkend="uicontrol_properties">uicontrol properties</link> help page.
         </para>
+        <para>
+            Uicontrols rendering and properties display can be customized using <link linkend="console_properties">Console properties</link>.
+        </para>
     </refsection>
     <refsection>
         <title>Available styles</title>
index d4ac53b..2415c42 100644 (file)
@@ -51,6 +51,7 @@ GUI_IMPEXP int GetUimenuLabel(void* _pvCtx, int iObjUID);
 GUI_IMPEXP int GetUiobjectEnable(void* _pvCtx, int iObjUID);
 GUI_IMPEXP int GetUiobjectForegroundColor(void* _pvCtx, int iObjUID);
 GUI_IMPEXP int GetConsoleShowHiddenHandles(void* _pvCtx, int iObjUID);
+GUI_IMPEXP int GetConsoleShowHiddenProperties(void* _pvCtx, int iObjUID);
 GUI_IMPEXP int GetUicontrolRelief(void* _pvCtx, int iObjUID);
 GUI_IMPEXP int GetConsoleUseDeprecatedLF(void* _pvCtx, int iObjUID);
 GUI_IMPEXP int GetUicontrolTooltipString(void* _pvCtx, int iObjUID);
index 3390641..7750c09 100644 (file)
  * @return true if the set has been correcty done
  */
 GUI_IMPEXP int SetConsoleShowHiddenHandles(void* _pvCtx, int iObjUID, void* _pvData, int valueType, int nbRow, int nbCol);
+
+/**
+ * Set ShowHiddenProperties property of the console
+ *
+ * @param pobj Scilab object corresponding to the console
+ * @param stackPointer position on the stack of the status to set
+ * @param valueType type of the value on stack
+ * @param nbRow number of rows of the value on stack
+ * @param nbCol number of columns of the value on stack
+ * @return true if the set has been correcty done
+ */
+GUI_IMPEXP int SetConsoleShowHiddenProperties(void* _pvCtx, int iObjUID, void* _pvData, int valueType, int nbRow, int nbCol);
+
 /**
  * Set UseDeprecatedSkin property of the console
  *
index 0b3bfdd..be961ac 100644 (file)
@@ -55,6 +55,7 @@ GUI_IMPEXP int SetUimenuLabel(void* _pvCtx, int iObjUID, void* _pvData, int valu
 GUI_IMPEXP int SetUiobjectEnable(void* _pvCtx, int iObjUID, void* _pvData, int valueType, int nbRow, int nbCol ) ;
 GUI_IMPEXP int SetUiobjectForegroundColor(void* _pvCtx, int iObjUID, void* _pvData, int valueType, int nbRow, int nbCol);
 GUI_IMPEXP int SetConsoleShowHiddenHandles(void* _pvCtx, int iObjUID, void* _pvData, int valueType, int nbRow, int nbCol ) ;
+GUI_IMPEXP int SetConsoleShowHiddenProperties(void* _pvCtx, int iObjUID, void* _pvData, int valueType, int nbRow, int nbCol ) ;
 GUI_IMPEXP int SetConsoleUseDeprecatedLF(void* _pvCtx, int iObjUID, void* _pvData, int valueType, int nbRow, int nbCol);
 
 char *IntToStyle(int _iStyle);
index 2165e2d..ac52868 100644 (file)
@@ -39,6 +39,30 @@ int GetConsoleShowHiddenHandles(void* _pvCtx, int iObjUID)
     }
 }
 
+int GetConsoleShowHiddenProperties(void* _pvCtx, int iObjUID)
+{
+    int iShowHiddenProperties = 0;
+    int *piShowHiddenProperties = &iShowHiddenProperties;
+
+    getGraphicObjectProperty(iObjUID, __GO_SHOWHIDDENPROPERTIES__, jni_bool, (void **)&piShowHiddenProperties);
+
+    if (piShowHiddenProperties == NULL)
+    {
+        Scierror(999, const_cast < char *>(_("'%s' property does not exist for this handle.\n")), "ShowHiddenProperties");
+
+        return FALSE;
+    }
+
+    if (iShowHiddenProperties == TRUE)
+    {
+        return sciReturnString(_pvCtx, "on");
+    }
+    else
+    {
+        return sciReturnString(_pvCtx, "off");
+    }
+}
+
 int GetConsoleUseDeprecatedLF(void* _pvCtx, int iObjUID)
 {
     int iUseDeprecatedLF = 0;
index 6aaeae2..d9e47e0 100644 (file)
@@ -46,6 +46,32 @@ int SetConsoleShowHiddenHandles(void* _pvCtx, int iObjUID, void* _pvData, int va
         return SET_PROPERTY_ERROR;
     }
 }
+
+int SetConsoleShowHiddenProperties(void* _pvCtx, int iObjUID, void* _pvData, int valueType, int nbRow, int nbCol)
+{
+    int b = (int)FALSE;
+    BOOL status = FALSE;
+
+    b = tryGetBooleanValueFromStack(_pvData, valueType, nbRow, nbCol, const_cast < char *>("ShowHiddenProperties"));
+
+    if (b == NOT_A_BOOLEAN_VALUE)
+    {
+        return SET_PROPERTY_ERROR;
+    }
+
+    status = setGraphicObjectProperty(iObjUID, __GO_SHOWHIDDENPROPERTIES__, &b, jni_bool, 1);
+
+    if (status == TRUE)
+    {
+        return SET_PROPERTY_SUCCEED;
+    }
+    else
+    {
+        Scierror(999, _("'%s' property does not exist for this handle.\n"), "ShowHiddenProperties");
+        return SET_PROPERTY_ERROR;
+    }
+}
+
 int SetConsoleUseDeprecatedLF(void* _pvCtx, int iObjUID, void* _pvData, int valueType, int nbRow, int nbCol)
 {
     int b = (int)FALSE;
@@ -71,5 +97,3 @@ int SetConsoleUseDeprecatedLF(void* _pvCtx, int iObjUID, void* _pvData, int valu
     }
 }
 
-
-