#include <map>
#include <list>
+#include <vector>
#include <string>
#include "dynlib_graphic_objects.h"
typedef std::map<int, int> __figureList;
typedef __figureList::iterator __figureList_iterator;
typedef __figureList::reverse_iterator __figureList_reverse_iterator;
+ typedef std::map<int, std::vector<int> > __userdata;
typedef std::map<int, PathItem*> __pathList;
typedef __pathList::iterator __pathList_iterator;
static __uidList m_uidList;
static __pathFigList m_pathFigList;
static __pathList m_pathList;
+ static __userdata m_userdata;
static long m_topHandleValue;
static int m_currentFigure;
static int m_currentObject;
static int search_path(char* _pstPath);
static std::string get_path(int uid);
+ static void setUserdata(int _id, int* _data, int _datasize);
+ static int getUserdataSize(int _id);
+ static int* getUserdata(int _id);
+
private :
static PathItem* search_children(PathItem* _path, std::string _subPath, bool _bDeep, std::list<int>& _ignoredList);
#include "graphicObjectProperties.h"
#include "getScilabJavaVM.h"
#include "deleteGraphicObject.h"
+#include "MALLOC.h"
}
/**
m_pathList[iUID] = item;
+ m_userdata[iUID]; //create an empty vector<int>
+
//get existing information from current object
updateObject(iUID, __GO_PARENT__);
updateObject(iUID, __GO_CHILDREN__);
deleteDataObject(iUID);
m_pathList.erase(iUID);
+ m_userdata.erase(iUID);
}
void ScilabView::updateObject(int iUID, int iProperty)
return path;
}
+void ScilabView::setUserdata(int _id, int* _data, int _datasize)
+{
+ m_userdata[_id] = std::vector<int>(_data, _data + _datasize);
+}
+
+int ScilabView::getUserdataSize(int _id)
+{
+ return (int)m_userdata[_id].size();
+}
+
+int* ScilabView::getUserdata(int _id)
+{
+ std::vector<int> &vect = m_userdata[_id];
+ int size = (int)vect.size();
+
+ if (size != 0)
+ {
+ return &(vect[0]);
+ }
+
+ //empty userdata must be == NULL
+ return NULL;
+}
+
/*
** Allocate static class variable.
*/
int ScilabView::m_axesModel;
ScilabView::__pathList ScilabView::m_pathList = *new __pathList();
ScilabView::__pathFigList ScilabView::m_pathFigList = *new __pathFigList();
+ScilabView::__userdata ScilabView::m_userdata = *new __userdata();
#include "CallGraphicController.hxx"
#include "DataController.hxx"
+#include "ScilabView.hxx"
using namespace org_scilab_modules_graphic_objects;
return;
}
- /* All the Data model properties have the DATA_MODEL prefix */
- if (_iName == __GO_DATA_MODEL__
- || _iName == __GO_DATA_MODEL_COORDINATES__
- || _iName == __GO_DATA_MODEL_X__
- || _iName == __GO_DATA_MODEL_Y__
- || _iName == __GO_DATA_MODEL_Z__
- || _iName == __GO_DATA_MODEL_X_COORDINATES_SHIFT__
- || _iName == __GO_DATA_MODEL_Y_COORDINATES_SHIFT__
- || _iName == __GO_DATA_MODEL_Z_COORDINATES_SHIFT__
- || _iName == __GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__
- || _iName == __GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__
- || _iName == __GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__
- || _iName == __GO_DATA_MODEL_NUM_ELEMENTS__
- || _iName == __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__
- || _iName == __GO_DATA_MODEL_NUM_VERTICES_PER_GON__
- || _iName == __GO_DATA_MODEL_NUM_GONS__
- || _iName == __GO_DATA_MODEL_Z_COORDINATES_SET__
- || _iName == __GO_DATA_MODEL_COLORS__
- || _iName == __GO_DATA_MODEL_NUM_COLORS__
- || _iName == __GO_DATA_MODEL_NUM_VERTICES__
- || _iName == __GO_DATA_MODEL_NUM_INDICES__
- || _iName == __GO_DATA_MODEL_INDICES__
- || _iName == __GO_DATA_MODEL_VALUES__
- || _iName == __GO_DATA_MODEL_FEC_TRIANGLES__
- || _iName == __GO_DATA_MODEL_NUM_X__
- || _iName == __GO_DATA_MODEL_NUM_Y__
- || _iName == __GO_DATA_MODEL_NUM_Z__
- || _iName == __GO_DATA_MODEL_GRID_SIZE__
- || _iName == __GO_DATA_MODEL_X_DIMENSIONS__
- || _iName == __GO_DATA_MODEL_Y_DIMENSIONS__
- || _iName == __GO_DATA_MODEL_MATPLOT_BOUNDS__
- || _iName == __GO_DATA_MODEL_MATPLOT_TYPE__
- || _iName == __GO_DATA_MODEL_MATPLOT_DATA_INFOS__
- || _iName == __GO_DATA_MODEL_MATPLOT_DATA_TYPE__
- || _iName == __GO_DATA_MODEL_MATPLOT_DATA_ORDER__
- || _iName == __GO_DATA_MODEL_MATPLOT_GL_TYPE__
- || _iName == __GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__
- || _iName == __GO_DATA_MODEL_MATPLOT_IMAGE_DATA__
- || _iName == __GO_DATA_MODEL_MATPLOT_IMAGE_DATASIZE__
- || _iName == __GO_DATA_MODEL_DISPLAY_FUNCTION__
- || _iName == __GO_DATA_MODEL_DISPLAY_FUNCTION_SIZE__
- )
+ switch (_iName)
{
- DataController::getGraphicObjectProperty(iUID, _iName, _pvData);
- return;
- }
+ case __GO_USER_DATA__ :
+ {
+ *_pvData = ScilabView::getUserdata(iUID);
+ break;
+ }
+ case __GO_USER_DATA_SIZE__ :
+ {
+ ((int *)*_pvData)[0] = ScilabView::getUserdataSize(iUID);
+ break;
+ }
- try
- {
- switch (_returnType)
+ /* All the Data model properties have the DATA_MODEL prefix */
+ case __GO_DATA_MODEL__ :
+ case __GO_DATA_MODEL_COORDINATES__ :
+ case __GO_DATA_MODEL_X__ :
+ case __GO_DATA_MODEL_Y__ :
+ case __GO_DATA_MODEL_Z__ :
+ case __GO_DATA_MODEL_X_COORDINATES_SHIFT__ :
+ case __GO_DATA_MODEL_Y_COORDINATES_SHIFT__ :
+ case __GO_DATA_MODEL_Z_COORDINATES_SHIFT__ :
+ case __GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__ :
+ case __GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__ :
+ case __GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__ :
+ case __GO_DATA_MODEL_NUM_ELEMENTS__ :
+ case __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__ :
+ case __GO_DATA_MODEL_NUM_VERTICES_PER_GON__ :
+ case __GO_DATA_MODEL_NUM_GONS__ :
+ case __GO_DATA_MODEL_Z_COORDINATES_SET__ :
+ case __GO_DATA_MODEL_COLORS__ :
+ case __GO_DATA_MODEL_NUM_COLORS__ :
+ case __GO_DATA_MODEL_NUM_VERTICES__ :
+ case __GO_DATA_MODEL_NUM_INDICES__ :
+ case __GO_DATA_MODEL_INDICES__ :
+ case __GO_DATA_MODEL_VALUES__ :
+ case __GO_DATA_MODEL_FEC_TRIANGLES__ :
+ case __GO_DATA_MODEL_NUM_X__ :
+ case __GO_DATA_MODEL_NUM_Y__ :
+ case __GO_DATA_MODEL_NUM_Z__ :
+ case __GO_DATA_MODEL_GRID_SIZE__ :
+ case __GO_DATA_MODEL_X_DIMENSIONS__ :
+ case __GO_DATA_MODEL_Y_DIMENSIONS__ :
+ case __GO_DATA_MODEL_MATPLOT_BOUNDS__ :
+ case __GO_DATA_MODEL_MATPLOT_TYPE__ :
+ case __GO_DATA_MODEL_MATPLOT_DATA_INFOS__ :
+ case __GO_DATA_MODEL_MATPLOT_DATA_TYPE__ :
+ case __GO_DATA_MODEL_MATPLOT_DATA_ORDER__ :
+ case __GO_DATA_MODEL_MATPLOT_GL_TYPE__ :
+ case __GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__ :
+ case __GO_DATA_MODEL_MATPLOT_IMAGE_DATA__ :
+ case __GO_DATA_MODEL_MATPLOT_IMAGE_DATASIZE__ :
+ case __GO_DATA_MODEL_DISPLAY_FUNCTION__ :
+ case __GO_DATA_MODEL_DISPLAY_FUNCTION_SIZE__ :
{
- case jni_string:
- {
- *(_pvData) = CallGraphicController::getGraphicObjectPropertyAsString(getScilabJavaVM(), iUID, _iName);
- return;
- }
- case jni_string_vector:
- {
- *_pvData = CallGraphicController::getGraphicObjectPropertyAsStringVector(getScilabJavaVM(), iUID, _iName);
- return;
- }
- case jni_double:
+ DataController::getGraphicObjectProperty(iUID, _iName, _pvData);
+ break;
+ }
+ default : //property in Java Model
+ {
+ try
{
- double * ret = CallGraphicController::getGraphicObjectPropertyAsDoubleVector(getScilabJavaVM(), iUID, _iName);
- if (ret == NULL)
- {
- *_pvData = NULL;
- }
- else
+ switch (_returnType)
{
- ((double *)*_pvData)[0] = *ret;
- delete[] ret;
- }
+ case jni_string:
+ {
+ *(_pvData) = CallGraphicController::getGraphicObjectPropertyAsString(getScilabJavaVM(), iUID, _iName);
+ return;
+ }
+ case jni_string_vector:
+ {
+ *_pvData = CallGraphicController::getGraphicObjectPropertyAsStringVector(getScilabJavaVM(), iUID, _iName);
+ return;
+ }
+ case jni_double:
+ {
+ double * ret = CallGraphicController::getGraphicObjectPropertyAsDoubleVector(getScilabJavaVM(), iUID, _iName);
+ if (ret == NULL)
+ {
+ *_pvData = NULL;
+ }
+ else
+ {
+ ((double *)*_pvData)[0] = *ret;
+ delete[] ret;
+ }
- return;
- }
- case jni_double_vector:
- {
- *_pvData = CallGraphicController::getGraphicObjectPropertyAsDoubleVector(getScilabJavaVM(), iUID, _iName);
- return;
- }
- case jni_bool:
- {
- int * ret = CallGraphicController::getGraphicObjectPropertyAsBooleanVector(getScilabJavaVM(), iUID, _iName);
- if (ret == NULL)
- {
- *_pvData = NULL;
- }
- else
- {
- ((int *)*_pvData)[0] = *ret;
- delete[] ret;
- }
+ return;
+ }
+ case jni_double_vector:
+ {
+ *_pvData = CallGraphicController::getGraphicObjectPropertyAsDoubleVector(getScilabJavaVM(), iUID, _iName);
+ return;
+ }
+ case jni_bool:
+ {
+ int * ret = CallGraphicController::getGraphicObjectPropertyAsBooleanVector(getScilabJavaVM(), iUID, _iName);
+ if (ret == NULL)
+ {
+ *_pvData = NULL;
+ }
+ else
+ {
+ ((int *)*_pvData)[0] = *ret;
+ delete[] ret;
+ }
- return;
- }
- case jni_bool_vector:
- {
- *_pvData = CallGraphicController::getGraphicObjectPropertyAsBooleanVector(getScilabJavaVM(), iUID, _iName);
- return;
- }
- case jni_int:
- {
- int * ret = CallGraphicController::getGraphicObjectPropertyAsIntegerVector(getScilabJavaVM(), iUID, _iName);
- if (ret == NULL)
- {
- *_pvData = NULL;
- }
- else
- {
- ((int *)*_pvData)[0] = *ret;
- delete[] ret;
- }
+ return;
+ }
+ case jni_bool_vector:
+ {
+ *_pvData = CallGraphicController::getGraphicObjectPropertyAsBooleanVector(getScilabJavaVM(), iUID, _iName);
+ return;
+ }
+ case jni_int:
+ {
+ int * ret = CallGraphicController::getGraphicObjectPropertyAsIntegerVector(getScilabJavaVM(), iUID, _iName);
+ if (ret == NULL)
+ {
+ *_pvData = NULL;
+ }
+ else
+ {
+ ((int *)*_pvData)[0] = *ret;
+ delete[] ret;
+ }
- return;
+ return;
+ }
+ case jni_int_vector:
+ {
+ *_pvData = CallGraphicController::getGraphicObjectPropertyAsIntegerVector(getScilabJavaVM(), iUID, _iName);
+ return;
+ }
+ default:
+ *_pvData = NULL;
+ return;
+ }
}
- case jni_int_vector:
+ catch (std::exception &e)
{
- *_pvData = CallGraphicController::getGraphicObjectPropertyAsIntegerVector(getScilabJavaVM(), iUID, _iName);
- return;
- }
- default:
+ e.what();
+ // If we have an exception, return null to scilab to manage error.
*_pvData = NULL;
return;
+ }
}
}
- catch (std::exception &e)
- {
- e.what();
- // If we have an exception, return null to scilab to manage error.
- *_pvData = NULL;
- return;
- }
+ return;
}
#include "CallGraphicController.hxx"
#include "DataController.hxx"
+#include "ScilabView.hxx"
using namespace org_scilab_modules_graphic_objects;
return FALSE;
}
-
- // Special Case for data, no need to go through Java.
- if (_iName == __GO_DATA_MODEL__
- || _iName == __GO_DATA_MODEL_COORDINATES__
- || _iName == __GO_DATA_MODEL_X__
- || _iName == __GO_DATA_MODEL_Y__
- || _iName == __GO_DATA_MODEL_Z__
- || _iName == __GO_DATA_MODEL_X_COORDINATES_SHIFT__
- || _iName == __GO_DATA_MODEL_Y_COORDINATES_SHIFT__
- || _iName == __GO_DATA_MODEL_Z_COORDINATES_SHIFT__
- || _iName == __GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__
- || _iName == __GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__
- || _iName == __GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__
- || _iName == __GO_DATA_MODEL_NUM_ELEMENTS__
- || _iName == __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__
- || _iName == __GO_DATA_MODEL_NUM_VERTICES_PER_GON__
- || _iName == __GO_DATA_MODEL_NUM_GONS__
- || _iName == __GO_DATA_MODEL_Z_COORDINATES_SET__
- || _iName == __GO_DATA_MODEL_COLORS__
- || _iName == __GO_DATA_MODEL_NUM_COLORS__
- || _iName == __GO_DATA_MODEL_NUM_VERTICES__
- || _iName == __GO_DATA_MODEL_NUM_INDICES__
- || _iName == __GO_DATA_MODEL_INDICES__
- || _iName == __GO_DATA_MODEL_VALUES__
- || _iName == __GO_DATA_MODEL_FEC_TRIANGLES__
- || _iName == __GO_DATA_MODEL_NUM_X__
- || _iName == __GO_DATA_MODEL_NUM_Y__
- || _iName == __GO_DATA_MODEL_NUM_Z__
- || _iName == __GO_DATA_MODEL_GRID_SIZE__
- || _iName == __GO_DATA_MODEL_X_DIMENSIONS__
- || _iName == __GO_DATA_MODEL_Y_DIMENSIONS__
- || _iName == __GO_DATA_MODEL_MATPLOT_BOUNDS__
- || _iName == __GO_DATA_MODEL_MATPLOT_TYPE__
- || _iName == __GO_DATA_MODEL_MATPLOT_DATA_INFOS__
- || _iName == __GO_DATA_MODEL_MATPLOT_DATA_TYPE__
- || _iName == __GO_DATA_MODEL_MATPLOT_DATA_ORDER__
- || _iName == __GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__
- || _iName == __GO_DATA_MODEL_MATPLOT_IMAGE_DATA__
- || _iName == __GO_DATA_MODEL_DISPLAY_FUNCTION__
- )
+ switch (_iName)
{
- BOOL ret = DataController::setGraphicObjectProperty(_iID, _iName, _pvValue, numElements);
- if ((ret || _iName == __GO_DATA_MODEL__) && warnJava)
+ case __GO_USER_DATA__ :
{
- ///printf("debug property value=%d\n",_iName);
- CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, __GO_DATA_MODEL__, _iID);
+ ScilabView::setUserdata(_iID, (int*) _pvValue, numElements);
+ return TRUE;
+ }
+ case __GO_DATA_MODEL__ :
+ case __GO_DATA_MODEL_COORDINATES__ :
+ case __GO_DATA_MODEL_X__ :
+ case __GO_DATA_MODEL_Y__ :
+ case __GO_DATA_MODEL_Z__ :
+ case __GO_DATA_MODEL_X_COORDINATES_SHIFT__ :
+ case __GO_DATA_MODEL_Y_COORDINATES_SHIFT__ :
+ case __GO_DATA_MODEL_Z_COORDINATES_SHIFT__ :
+ case __GO_DATA_MODEL_X_COORDINATES_SHIFT_SET__ :
+ case __GO_DATA_MODEL_Y_COORDINATES_SHIFT_SET__ :
+ case __GO_DATA_MODEL_Z_COORDINATES_SHIFT_SET__ :
+ case __GO_DATA_MODEL_NUM_ELEMENTS__ :
+ case __GO_DATA_MODEL_NUM_ELEMENTS_ARRAY__ :
+ case __GO_DATA_MODEL_NUM_VERTICES_PER_GON__ :
+ case __GO_DATA_MODEL_NUM_GONS__ :
+ case __GO_DATA_MODEL_Z_COORDINATES_SET__ :
+ case __GO_DATA_MODEL_COLORS__ :
+ case __GO_DATA_MODEL_NUM_COLORS__ :
+ case __GO_DATA_MODEL_NUM_VERTICES__ :
+ case __GO_DATA_MODEL_NUM_INDICES__ :
+ case __GO_DATA_MODEL_INDICES__ :
+ case __GO_DATA_MODEL_VALUES__ :
+ case __GO_DATA_MODEL_FEC_TRIANGLES__ :
+ case __GO_DATA_MODEL_NUM_X__ :
+ case __GO_DATA_MODEL_NUM_Y__ :
+ case __GO_DATA_MODEL_NUM_Z__ :
+ case __GO_DATA_MODEL_GRID_SIZE__ :
+ case __GO_DATA_MODEL_X_DIMENSIONS__ :
+ case __GO_DATA_MODEL_Y_DIMENSIONS__ :
+ case __GO_DATA_MODEL_MATPLOT_BOUNDS__ :
+ case __GO_DATA_MODEL_MATPLOT_TYPE__ :
+ case __GO_DATA_MODEL_MATPLOT_DATA_INFOS__ :
+ case __GO_DATA_MODEL_MATPLOT_DATA_TYPE__ :
+ case __GO_DATA_MODEL_MATPLOT_DATA_ORDER__ :
+ case __GO_DATA_MODEL_MATPLOT_IMAGE_TYPE__ :
+ case __GO_DATA_MODEL_MATPLOT_IMAGE_DATA__ :
+ case __GO_DATA_MODEL_DISPLAY_FUNCTION__ :
+ {
+ BOOL res = DataController::setGraphicObjectProperty(_iID, _iName, _pvValue, numElements);
+ if ((res || _iName == __GO_DATA_MODEL__) && warnJava)
+ {
+ ///printf("debug property value=%d\n",_iName);
+ CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, __GO_DATA_MODEL__, _iID);
+ }
+ return res;
}
- return ret;
- }
-
- switch (_valueType)
- {
- case jni_string :
- result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (char *)_pvValue);
- break;
-
- case jni_string_vector :
- result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (char**)_pvValue, numElements);
- break;
- case jni_double :
- doubleValue = *(double*)_pvValue;
- result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (double)doubleValue);
- break;
- case jni_double_vector :
- result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (double*)_pvValue, numElements);
- break;
- case jni_int :
- intValue = *(int*)_pvValue;
- result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (int)intValue);
- break;
- case jni_int_vector :
- result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (int*)_pvValue, numElements);
- break;
- case jni_bool :
- boolValue = *(BOOL*)_pvValue;
- result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, BOOLtobool(boolValue));
- break;
- case jni_bool_vector :
- result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (bool*)_pvValue, numElements);
- break;
default :
- /* Do Nothing */
- break;
+ {
+ switch (_valueType)
+ {
+ case jni_string :
+ result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (char *)_pvValue);
+ break;
+
+ case jni_string_vector :
+ result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (char**)_pvValue, numElements);
+ break;
+ case jni_double :
+ doubleValue = *(double*)_pvValue;
+ result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (double)doubleValue);
+ break;
+ case jni_double_vector :
+ result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (double*)_pvValue, numElements);
+ break;
+ case jni_int :
+ intValue = *(int*)_pvValue;
+ result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (int)intValue);
+ break;
+ case jni_int_vector :
+ result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (int*)_pvValue, numElements);
+ break;
+ case jni_bool :
+ boolValue = *(BOOL*)_pvValue;
+ result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, BOOLtobool(boolValue));
+ break;
+ case jni_bool_vector :
+ result = CallGraphicController::setGraphicObjectProperty(getScilabJavaVM(), _iID, _iName, (bool*)_pvValue, numElements);
+ break;
+ default :
+ /* Do Nothing */
+ break;
+ }
+ }
}
-
return booltoBOOL(result);
}
import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CALLBACK__;
import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CHAMP__;
import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CHILDREN_COUNT__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_SPINNER__;
import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_CHILDREN__;
import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_COMPOUND__;
import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_DATATIP__;
import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_PUSHBUTTON__;
import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_RADIOBUTTON__;
import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_SLIDER__;
+import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_SPINNER__;
import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TABLE__;
import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TAB__;
import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_UI_TEXT__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_USER_DATA_SIZE__;
-import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_USER_DATA__;
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__;
};
/** GraphicObject properties */
- public enum GraphicObjectPropertyType { PARENT, CHILDREN, CHILDREN_COUNT, HIDDEN, VISIBLE, USERDATA, USERDATASIZE, TYPE, REFERENCED, VALID, DATA,
+ public enum GraphicObjectPropertyType { PARENT, CHILDREN, CHILDREN_COUNT, HIDDEN, VISIBLE, TYPE, REFERENCED, VALID, DATA,
PARENT_FIGURE, PARENT_AXES, HASLEGENDCHILD, LEGENDCHILD, SELECTEDCHILD, TAG, CALLBACK, CALLBACKTYPE, UNKNOWNPROPERTY
};
/** Specifies if the "handle" is hidden, i.e not listed as children in Scilab view */
private boolean hidden;
- /** User data */
- private Integer[] userData;
-
/** Tag */
private String tag;
parent = 0;
children = new LinkedList<Integer>();
visible = true;
- userData = null;
valid = true;
referenced = false;
selectedChild = 0;
return GraphicObjectPropertyType.HIDDEN;
case __GO_VISIBLE__ :
return GraphicObjectPropertyType.VISIBLE;
- case __GO_USER_DATA__ :
- return GraphicObjectPropertyType.USERDATA;
- case __GO_USER_DATA_SIZE__ :
- return GraphicObjectPropertyType.USERDATASIZE;
case __GO_REFERENCED__ :
return GraphicObjectPropertyType.REFERENCED;
case __GO_VALID__ :
return isHidden();
case VISIBLE:
return getVisible();
- case USERDATA:
- return getUserData();
- case USERDATASIZE:
- return getUserDataSize();
case PARENT_FIGURE:
return getParentFigure();
case PARENT_AXES:
case VISIBLE:
setVisible((Boolean) value);
break;
- case USERDATA:
- setUserData((Integer[]) value);
- break;
- case USERDATASIZE:
- return UpdateStatus.Fail;
case SELECTEDCHILD:
setSelectedChild((Integer) value);
break;
}
/**
- * @return the userData
- */
- public Object getUserData() {
- return userData;
- }
-
- /**
- * @param userData the userData to set
- * @return TODO
- */
- public UpdateStatus setUserData(Integer[] userData) {
- this.userData = userData;
- return UpdateStatus.Success;
- }
-
- /**
- * @return the userDataSize
- */
- public Integer getUserDataSize() {
- if (userData != null) {
- return userData.length;
- }
- return 0;
- }
-
- /**
* @return the tag
*/
public String getTag() {
if (getParent() != 0 && GraphicController.getController().getObjectFromId(getParent()) != null) {
return GraphicController.getController().getObjectFromId(getParent()).getParentFigure();
}
-
+
/* No parent Figure found */
return 0;
}
else
{
status = sciReturnUserData(_pvCtx, piUserData, iUserDataSize);
- free(piUserData);
}
return status;