Correct a bug when setting tight_limits property.
[scilab.git] / scilab / modules / graphics / src / c / getHandleProperty / set_tight_limits_property.c
1 /*------------------------------------------------------------------------*/
2 /* file: set_tight_limits_property.c                                      */
3 /* Copyright INRIA 2006                                                   */
4 /* Authors : Fabrice Leray, Allan Cornet, Jean-Baptiste Silvy             */
5 /* desc : function to modify in Scilab the tight_limits field of          */
6 /*        a handle                                                        */
7 /*------------------------------------------------------------------------*/
8
9 #include "setHandleProperty.h"
10 #include "SetProperty.h"
11 #include "getPropertyAssignedValue.h"
12 #include "SetPropertyStatus.h"
13 #include "GetProperty.h"
14 #include "sciprint.h"
15
16 /*------------------------------------------------------------------------*/
17 int set_tight_limits_property( sciPointObj * pobj, int stackPointer, int valueType, int nbRow, int nbCol )
18 {
19
20   if ( !isParameterStringMatrix( valueType ) )
21   {
22     sciprint("Incompatible type for property tight_limits.\n") ;
23     return SET_PROPERTY_ERROR ;
24   }
25
26   if ( sciGetEntityType(pobj) != SCI_SUBWIN )
27   {
28     sciprint("tight_limits property does not exists for this handle.\n") ;
29     return SET_PROPERTY_ERROR ;
30   }
31
32   if ( isStringParamEqual( stackPointer, "on" ) )
33   {
34     pSUBWIN_FEATURE (pobj)->tight_limits = TRUE ;
35   }
36   else if ( isStringParamEqual( stackPointer, "off" ) )
37   {
38     pSUBWIN_FEATURE (pobj)->tight_limits = FALSE ;
39   }
40   else
41   {
42     sciprint("Second argument must be 'on' or 'off'.\n") ;
43     return SET_PROPERTY_ERROR ;
44   }
45   return SET_PROPERTY_SUCCEED ;
46 }
47 /*------------------------------------------------------------------------*/