Bug 9033 fixed: the property auto_dimensionning was not documented 00/13100/2
Calixte DENIZET [Thu, 7 Nov 2013 15:40:33 +0000 (16:40 +0100)]
Change-Id: I5eae9e92e6e011c52e531f31990a76f297d327c7

scilab/CHANGES_5.5.X
scilab/modules/graphics/help/en_US/text/text_properties.xml
scilab/modules/graphics/src/c/getHandleProperty/set_auto_dimensionning_property.c

index dce4e8d..a117156 100644 (file)
@@ -49,6 +49,8 @@ Scilab Bug Fixes
 
 * Bug #9031 fixed - Misalignment of text when using xstring with a matrix fixed.
 
+* Bug #9033 fixed - auto_dimensionning property for text handles was not documented.
+
 * Bug #9110 fixed - Examples and references to other functions added in the Statistics help pages.
 
 * Bug #9627 fixed - Arguments checking added in optimsimplex_* functions.
index b0917ad..9739ff9 100644 (file)
@@ -3,11 +3,11 @@
  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
  * Copyright (C) INRIA - Djalel Abdemouche
  * Copyright (C) INRIA - Jean-Baptiste silvy
- * 
+ *
  * 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    
+ * are also available at
  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
  *
  -->
                 </listitem>
             </varlistentry>
             <varlistentry>
+                <term>auto_dimensionning: </term>
+                <listitem>
+                  <para>
+                    auto_dimensionning set to "off" is equivalent to text_box_mode set to "filled". If text_box_mode is "off" or "centered" then it implies that auto_dimensionning is "on".
+                  </para>
+                </listitem>
+            </varlistentry>
+            <varlistentry>
                 <term>font_foreground: </term>
                 <listitem>
                     <para>This field contains the color used to display the characters of
index e61386c..1867290 100644 (file)
@@ -34,8 +34,9 @@
 /*------------------------------------------------------------------------*/
 int set_auto_dimensionning_property(void* _pvCtx, int iObjUID, void* _pvData, int valueType, int nbRow, int nbCol)
 {
-    BOOL status = FALSE;
+    static int oldTextBoxMode = -1;
 
+    BOOL status = FALSE;
     int b =  (int)FALSE;
 
     b = tryGetBooleanValueFromStack(_pvData, valueType, nbRow, nbCol, "auto_dimensionning");
@@ -47,6 +48,18 @@ int set_auto_dimensionning_property(void* _pvCtx, int iObjUID, void* _pvData, in
 
     if (status == TRUE)
     {
+        if (b && oldTextBoxMode != -1)
+        {
+            setGraphicObjectProperty(iObjUID, __GO_TEXT_BOX_MODE__, &oldTextBoxMode, jni_int, 1);
+        }
+        else
+        {
+            int textBoxMode = 2;
+            int * piOldTextBoxMode = &oldTextBoxMode;
+            getGraphicObjectProperty(iObjUID, __GO_TEXT_BOX_MODE__, jni_int, (void**)&piOldTextBoxMode);
+            setGraphicObjectProperty(iObjUID, __GO_TEXT_BOX_MODE__, &textBoxMode, jni_int, 1);
+        }
+
         return SET_PROPERTY_SUCCEED;
     }
     else