Document Viewer

« Back

HandsOn: Transformation to ADOxx Model

Model Transformation to new ADOxx Model

## Open Model
CC "Modeling" GET_ACT_MODEL
SETL idSourceModel: (modelid)

SETL sClassnameSource: ("A")
SETL sClassnameTarget: ("T")

# BEGIN set new model
CC "CoreUI" MODEL_SELECT_BOX mgroup-sel without-models title: "Target model group"
                 boxtext: "Please select the target model group:"

CC "Core" CREATE_MODEL modeltype: "Sample"
                       modelname: "My First sample"
                       version: "1.0"
                       mgroups: ( mgroupids )
SETL idTargetModel: ( modelid )
CC "Modeling" CREATE_WINDOW_FOR_LOADED_MODEL modelid: ( idTargetModel)

# END set new model
CC "Core" GET_ALL_OBJS_OF_CLASSNAME modelid: (idSourceModel)
                                    classname: (sClassnameSource)
SETL sObjects: ( objids )

# BEGIN set x, y pos SETL xoffset:5cm
SETL yoffset: 5.0cm
SETL xpos:    5.0cm
SETL ypos:    5.0cm
SETL counter: 1

FOR sObject in: (sObjects) {
  # get class ID from class name
  CC "Core" GET_CLASS_ID classname: (sClassnameSource)
  # get all Notebook attributes
  CC "Core" GET_ALL_NB_ATTRS classid: ( classid )
  # and show their IDs
  CC "AdoScript" INFOBOX ( attrids )

  CC "Core" GET_ATTR_VAL objid: ( VAL sObject) attrname: "Name"
  SETL sAttrName: ( val )

  # Make new object
  CC "Core" GET_CLASS_ID classname:(sClassnameTarget)
  SETL idClassTarget: ( classid )

  CC "Core" CREATE_OBJ modelid: (idTargetModel)
                             classid: (idClassTarget)
                             objname: (sAttrName)
  CC "Modeling" SET_OBJ_POS objid: ( objid ) x: 5cm y: 5cm
}