int set_current_axes_property(void* _pvCtx, int iObjUID, void* _pvData, int valueType, int nbRow, int nbCol)
{
int iCurAxesUID = 0;
- int iParentFigureUID = 0;
+ int iCurChildUID = 0;
+ int iParentFigureUID = -1;
int* piParentFigureUID = &iParentFigureUID;
int type = -1;
int *piType = &type;
return SET_PROPERTY_ERROR;
}
+ setCurrentSubWin(iCurAxesUID);
+
+
+ // Look for top level figure
+ type = -1;
+ iCurChildUID = iCurAxesUID;
+ do {
+ iParentFigureUID = getParentObject(iCurChildUID);
+ getGraphicObjectProperty(iParentFigureUID, __GO_TYPE__, jni_int, (void **)&piType);
+ iCurChildUID = iParentFigureUID;
+ } while (iParentFigureUID != -1 && type != __GO_FIGURE__);
+
/* The current Axes' parent Figure's selected child property must be updated */
- iParentFigureUID = getParentObject(iCurAxesUID);
setGraphicObjectProperty(iParentFigureUID, __GO_SELECTED_CHILD__, &iCurAxesUID, jni_int, 1);
- setCurrentSubWin(iCurAxesUID);
-
/* F.Leray 11.02.05 : if the new selected subwin is not inside the current figure, */
/* we must also set the current figure to the subwin's parent */
if (!isCurrentFigure(iParentFigureUID))