int ScilabView::getNbFigure(void)
{
return (int)m_figureList.size();
-
}
void ScilabView::createObject(char const* pstId)
int *piType = &iType;
char *pstParentUID = NULL;
- getGraphicObjectProperty(pstId, __GO_TYPE__, jni_int, (void **)&piType);
-
/*
** If deleting a figure, remove from figure list.
*/
- if (iType != -1 && iType == __GO_FIGURE__)
- {
- m_figureList.erase(pstId);
- }
+ m_figureList.erase(pstId);
/*
** If deleting current figure find another current one,
}
// Remove the corresponding handle.
- m_uidList.erase(m_handleList.find(pstId)->second);
- m_handleList.erase(pstId);
-
+ __handleList_iterator it = m_handleList.find(pstId);
+ m_uidList.erase(it->second);
+ m_handleList.erase(it);
+
deleteDataObject(pstId);
}
void DataModel::deleteDataObject(char const* _pstID)
{
- Data3D* newObject = (*m_dataMap)[std::string(_pstID)];
+ std::map<std::string, Data3D*>::iterator it = m_dataMap->find(std::string(_pstID));
+ if (it != m_dataMap->end() && it->second != NULL)
+ {
+ delete it->second;
+ m_dataMap->erase(it);
+ }
+
+ /*Data3D* newObject = (*m_dataMap)[std::string(_pstID)];
if (newObject != NULL)
{
delete newObject;
}
- m_dataMap->erase(std::string(_pstID));
+ m_dataMap->erase(std::string(_pstID));*/
}
package org.scilab.modules.graphic_objects.graphicView;
import org.scilab.modules.graphic_objects.ScilabNativeView;
+import org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties;
public class ScilabView extends ScilabNativeView implements GraphicView {
}
public void updateObject(String id, int property) {
- ScilabNativeView__updateObject(id, property);
+ if (property == GraphicObjectProperties.__GO_ID__) {
+ ScilabNativeView__updateObject(id, property);
+ }
}
-
}
/** make Compound current object **/
setCurrentObject(pstCompoundUID);
+ releaseGraphicObjectProperty(-1, pstCompoundUID, jni_string, 0);
+
LhsVar(1) = 0;
PutLhsVar();
return 0;
{
deleteGraphicObject(pobjUID);
deleteDataObject(pobjUID);
+ releaseGraphicObjectProperty(__GO_PARENT__, pobjUID, jni_string, 1);
return NULL;
}
{
deleteGraphicObject(pobjUID);
deleteDataObject(pobjUID);
+ releaseGraphicObjectProperty(__GO_PARENT__, pobjUID, jni_string, 1);
return NULL;
}
{
deleteGraphicObject(pobjUID);
deleteDataObject(pobjUID);
+ releaseGraphicObjectProperty(__GO_PARENT__, pobjUID, jni_string, 1);
return NULL;
}
}
if (tics_labels == NULL)
{
deleteGraphicObject(pobjUID);
+ releaseGraphicObjectProperty(__GO_PARENT__, pobjUID, jni_string, 1);
return (char *)NULL;
}
if (arrowCoords == NULL)
{
deleteGraphicObject(pobjUID);
+ releaseGraphicObjectProperty(__GO_SEGS__, pobjUID, jni_string, 1);
return (char *)NULL;
}
/* These properties must be aditionally set as this is not done by allocatePolyline */
setGraphicObjectProperty(clonedPolylineUID, __GO_LINE_STYLE__, &lineStyle, jni_int, 1);
setGraphicObjectProperty(clonedPolylineUID, __GO_LINE_THICKNESS__, &lineThickness, jni_double, 1);
+ releaseGraphicObjectProperty(__GO_POLYLINE__, clonedPolylineUID, jni_string, 1);
/*
* Some these properties are passed by value thus do not care to release them
/* Sets the parent-child relationship between the default Figure and Axes */
setGraphicObjectRelationship(pfiguremdlUID, paxesmdlUID);
+ releaseGraphicObjectProperty(-1, pfiguremdlUID, jni_string, 0);
/* Axes Model properties */
firstPlot = 1;
setGraphicObjectProperty(paxesmdlUID, __GO_FIRST_PLOT__, &firstPlot, jni_bool, 1);
+ releaseGraphicObjectProperty(-1, paxesmdlUID, jni_string, 0);
+
#if 0
ppaxesmdl->FirstPlot = TRUE;
#endif
/* Creates the Axes model's labels and sets the model as their parent */
labelUID = initLabel(paxesmdlUID);
setGraphicObjectProperty(paxesmdlUID, __GO_TITLE__, labelUID, jni_string, 1);
+ releaseGraphicObjectProperty(__GO_TITLE__, labelUID, jni_string, 0);
labelUID = initLabel(paxesmdlUID);
setGraphicObjectProperty(paxesmdlUID, __GO_X_AXIS_LABEL__, labelUID, jni_string, 1);
+ releaseGraphicObjectProperty(__GO_X_AXIS_LABEL__, labelUID, jni_string, 0);
labelUID = initLabel(paxesmdlUID);
setGraphicObjectProperty(paxesmdlUID, __GO_Y_AXIS_LABEL__, labelUID, jni_string, 1);
+ releaseGraphicObjectProperty(__GO_Y_AXIS_LABEL__, labelUID, jni_string, 0);
labelUID = initLabel(paxesmdlUID);
setGraphicObjectProperty(paxesmdlUID, __GO_Z_AXIS_LABEL__, labelUID, jni_string, 1);
+ releaseGraphicObjectProperty(__GO_Z_AXIS_LABEL__, labelUID, jni_string, 0);
return 0;
}
setGraphicObjectRelationship(psubwinUID, compoundUID);
getGraphicObjectProperty(psubwinUID, __GO_VISIBLE__, jni_bool, (void **)&piParentVisible);
setGraphicObjectProperty(compoundUID, __GO_VISIBLE__, &parentVisible, jni_bool, 1);
+ releaseGraphicObjectProperty(__GO_PARENT__, compoundUID, jni_string, 1);
}
FREE(hdltab);
setCurrentObject(newObjUID);
*hdl = getHandle(newObjUID);
+
+ releaseGraphicObjectProperty(-1, newObjUID, jni_string, 0);
}
setCurrentObject(pobjUID);
*hdl = getHandle(pobjUID);
+
+ releaseGraphicObjectProperty(__GO_POLYLINE__, pobjUID, jni_string, 1);
}
}
setCurrentObject(pobjUID);
+ releaseGraphicObjectProperty(__GO_SEGS__, pobjUID, jni_string, 1);
}
/*-----------------------------------------------------------
* Objstring: