2 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 * Copyright (C) 2010-2010 - DIGITEO - Bruno JOFRET
5 * This file must be used under the terms of the CeCILL.
6 * This source file is licensed as described in the file COPYING, which
7 * you should have received as part of this distribution. The terms
8 * are also available at
9 * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
15 #include "setGraphicObjectProperty.h"
16 #include "graphicObjectProperties.h"
17 #include "getScilabJavaVM.h"
23 #include "CallGraphicController.hxx"
24 #include "DataController.hxx"
25 #include "ScilabView.hxx"
27 using namespace org_scilab_modules_graphic_objects;
29 void setGraphicObjectRelationship(int _parentId, int _childId)
31 // do not perform anything if the id is undefined
32 if (_parentId == 0 || _childId == 0)
37 CallGraphicController::setGraphicObjectRelationship(getScilabJavaVM(), _parentId, _childId);
40 BOOL setGraphicObjectProperty(int _iID, int _iName, void const* _pvValue, _ReturnType_ _valueType, int numElements)
42 return setGraphicObjectPropertyAndWarn(_iID, _iName, _pvValue, _valueType, numElements, 1);
45 BOOL setGraphicObjectPropertyAndNoWarn(int _iID, int _iName, void const* _pvValue, _ReturnType_ _valueType, int numElements)
47 return setGraphicObjectPropertyAndWarn(_iID, _iName, _pvValue, _valueType, numElements, 0);
50 BOOL setGraphicObjectPropertyAndWarn(int _iID, int _iName, void const* _pvValue, _ReturnType_ _valueType, int numElements, int warnJava)
54 double doubleValue = 0.;
56 BOOL boolValue = FALSE;
58 // do not perform anything if the id is undefined
66 case __GO_USER_DATA__ :
68 ScilabView::setUserdata(_iID, (int*) _pvValue, numElements);
71 case __GO_DATA_MODEL__ :
72 case __GO_DATA_MODEL_COORDINATES__ :
73 case __GO_DATA_MODEL_X__ :
74 case __GO_DATA_MODEL_Y__ :
75 case __GO_DATA_MODEL_Z__ :
76 case __GO_DATA_MODEL_X_COORDINATES_SHIFT__ :
77 case __GO_DATA_MODEL_Y_COORDINATES_SHIFT__ :
78 case __GO_DATA_MODEL_Z_COORDINATES_SHIFT__ :
79 case __GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__ :
80 case __GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__ :
81 case __GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__ :
82 case __GO_DATA_MODEL_NUM_ELEMENTS__ :
83 case __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__ :
84 case __GO_DATA_MODEL_NUM_VERTICES_PER_GON__ :
85 case __GO_DATA_MODEL_NUM_GONS__ :
86 case __GO_DATA_MODEL_Z_COORDINATES_SET__ :
87 case __GO_DATA_MODEL_COLORS__ :
88 case __GO_DATA_MODEL_NUM_COLORS__ :
89 case __GO_DATA_MODEL_NUM_VERTICES__ :
90 case __GO_DATA_MODEL_NUM_INDICES__ :
91 case __GO_DATA_MODEL_INDICES__ :
92 case __GO_DATA_MODEL_VALUES__ :
93 case __GO_DATA_MODEL_FEC_TRIANGLES__ :
94 case __GO_DATA_MODEL_NUM_X__ :
95 case __GO_DATA_MODEL_NUM_Y__ :
96 case __GO_DATA_MODEL_NUM_Z__ :
97 case __GO_DATA_MODEL_GRID_SIZE__ :
98 case __GO_DATA_MODEL_X_DIMENSIONS__ :
99 case __GO_DATA_MODEL_Y_DIMENSIONS__ :
100 case __GO_DATA_MODEL_MATPLOT_BOUNDS__ :
101 case __GO_DATA_MODEL_MATPLOT_TYPE__ :
102 case __GO_DATA_MODEL_MATPLOT_DATA_INFOS__ :
103 case __GO_DATA_MODEL_MATPLOT_DATA_TYPE__ :
104 case __GO_DATA_MODEL_MATPLOT_DATA_ORDER__ :
105 case __GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__ :
106 case __GO_DATA_MODEL_MATPLOT_IMAGE_DATA__ :
107 case __GO_DATA_MODEL_DISPLAY_FUNCTION__ :
109 BOOL res = DataController::setGraphicObjectProperty(_iID, _iName, _pvValue, numElements);
110 if ((res || _iName == __GO_DATA_MODEL__) && warnJava)
112 ///printf("debug property value=%d\n",_iName);
113 CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, __GO_DATA_MODEL__, _iID);
122 result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (char *)_pvValue);
125 case jni_string_vector :
126 result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (char**)_pvValue, numElements);
129 doubleValue = *(double*)_pvValue;
130 result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (double)doubleValue);
132 case jni_double_vector :
133 result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (double*)_pvValue, numElements);
136 intValue = *(int*)_pvValue;
137 result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (int)intValue);
139 case jni_int_vector :
140 result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (int*)_pvValue, numElements);
143 boolValue = *(BOOL*)_pvValue;
144 result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, BOOLtobool(boolValue));
146 case jni_bool_vector :
147 result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (bool*)_pvValue, numElements);
155 return booltoBOOL(result);