Ejemplo n.º 1
0
    def createTypeGraph(self, atom3i, rootNode):

        self.obj39 = TypeName(atom3i)

        self.obj39.Name.setValue('ImageText')
        self.obj39.graphClass_ = graph_TypeName
        from graph_TypeName import *
        new_obj = graph_TypeName(178.0, 177.0, self.obj39)
        self.obj39.graphObject_ = new_obj
        rootNode.addNode(self.obj39)

        self.obj40 = LeafType(atom3i)

        self.obj40.TypeConstraint.setValue(
            ('typeConst', (['Python', 'OCL'], 1),
             (['PREcondition', 'POSTcondition'], 1), ([
                 'EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT',
                 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE OBJECT'
             ], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), '\n\n'))
        self.obj40.Type.setValue(
            ('Image', 'String', None, ('Key', 0), ('Direct Editing', 1)))
        self.obj40.Type.initialValue = ATOM3String('')
        self.obj40.graphClass_ = graph_LeafType
        from graph_LeafType import *
        new_obj = graph_LeafType(70.0, 400.0, self.obj40)
        self.obj40.graphObject_ = new_obj
        rootNode.addNode(self.obj40)

        self.obj41 = LeafType(atom3i)

        self.obj41.TypeConstraint.setValue(
            ('typeConst', (['Python', 'OCL'], 1),
             (['PREcondition', 'POSTcondition'], 1), ([
                 'EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT',
                 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE OBJECT'
             ], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), '\n\n'))
        self.obj41.Type.setValue(
            ('Text', 'String', None, ('Key', 0), ('Direct Editing', 1)))
        self.obj41.Type.initialValue = ATOM3String('')
        self.obj41.graphClass_ = graph_LeafType
        from graph_LeafType import *
        new_obj = graph_LeafType(253.0, 402.0, self.obj41)
        self.obj41.graphObject_ = new_obj
        rootNode.addNode(self.obj41)

        self.obj42 = Operator(atom3i)

        self.obj42.type.setValue((['X', 'U', '->'], 1))
        self.obj42.type.config = 0
        self.obj42.graphClass_ = graph_Operator
        from graph_Operator import *
        new_obj = graph_Operator(198.0, 308.0, self.obj42)
        self.obj42.graphObject_ = new_obj
        rootNode.addNode(self.obj42)
        self.obj39.out_connections_.append(self.obj42)
        self.obj42.in_connections_.append(self.obj39)
        self.obj42.out_connections_.append(self.obj41)
        self.obj41.in_connections_.append(self.obj42)
        self.obj42.out_connections_.append(self.obj40)
        self.obj40.in_connections_.append(self.obj42)
Ejemplo n.º 2
0
    def createTypeGraph(self, atom3i, rootNode):

        self.obj45 = TypeName(atom3i)

        self.obj45.Name.setValue('segment')
        self.obj45.graphClass_ = graph_TypeName
        new_obj = graph_TypeName(283.0, 197.0, self.obj45)
        self.obj45.graphObject_ = new_obj
        rootNode.addNode(self.obj45)

        self.obj46 = LeafType(atom3i)

        self.obj46.Type.setValue(
            ('width', 'Integer', None, ('Key', 0), ('Direct Editing', 1)))
        self.obj46.Type.initialValue = ATOM3Integer(0)
        self.obj46.graphClass_ = graph_LeafType
        new_obj = graph_LeafType(161.0, 344.0, self.obj46)
        self.obj46.graphObject_ = new_obj
        rootNode.addNode(self.obj46)

        self.obj47 = LeafType(atom3i)

        self.obj47.Type.setValue(
            ('fill', 'String', None, ('Key', 0), ('Direct Editing', 1)))
        self.obj47.Type.initialValue = ATOM3String('')
        self.obj47.graphClass_ = graph_LeafType
        new_obj = graph_LeafType(279.0, 387.0, self.obj47)
        self.obj47.graphObject_ = new_obj
        rootNode.addNode(self.obj47)

        self.obj48 = LeafType(atom3i)

        self.obj48.Type.setValue(('decoration', 'Appearance', None, ('Key', 0),
                                  ('Direct Editing', 1)))
        self.obj48.Type.initialValue = ATOM3Appearance()
        self.obj48.Type.initialValue.setValue(('class0', self.obj48.Type))
        self.obj48.graphClass_ = graph_LeafType
        new_obj = graph_LeafType(401.0, 355.0, self.obj48)
        self.obj48.graphObject_ = new_obj
        rootNode.addNode(self.obj48)

        self.obj49 = Operator(atom3i)

        self.obj49.Type.setValue((['U', 'X'], 1))
        self.obj49.Type.config = 0
        self.obj49.graphClass_ = graph_Operator
        new_obj = graph_Operator(312.0, 292.0, self.obj49)
        self.obj49.graphObject_ = new_obj
        rootNode.addNode(self.obj49)
        self.obj45.out_connections_.append(self.obj49)
        self.obj49.in_connections_.append(self.obj45)
        self.obj49.out_connections_.append(self.obj46)
        self.obj46.in_connections_.append(self.obj49)
        self.obj49.out_connections_.append(self.obj47)
        self.obj47.in_connections_.append(self.obj49)
        self.obj49.out_connections_.append(self.obj48)
        self.obj48.in_connections_.append(self.obj49)
Ejemplo n.º 3
0
    def __init__(self, parent):
        GGrule.__init__(self, 2)
        self.TimeDelay = ATOM3Integer(2)
        self.exactMatch = 1
        self.LHS = ASG_TypesMetaModel(parent)

        self.obj39 = TypeName(parent)

        self.obj39.Name.setValue('')
        self.obj39.GGLabel.setValue(1)
        self.obj39.graphClass_ = graph_TypeName
        if parent.genGraphics:
            from graph_TypeName import *
            new_obj = graph_TypeName(207.0, 272.0, self.obj39)
        else:
            new_obj = None
        self.obj39.graphObject_ = new_obj
        self.LHS.addNode(self.obj39)
        self.RHS = ASG_TypesMetaModel(parent)

        self.obj41 = TypeName(parent)

        self.obj41.Name.setValue('typename0')
        self.obj41.GGLabel.setValue(1)
        self.obj41.graphClass_ = graph_TypeName
        if parent.genGraphics:
            from graph_TypeName import *
            new_obj = graph_TypeName(211.0, 254.0, self.obj41)
        else:
            new_obj = None
        self.obj41.graphObject_ = new_obj
        self.obj410 = AttrCalc()
        self.obj410.Copy = ATOM3Boolean()
        self.obj410.Copy.setValue(('Copy from LHS', 1))
        self.obj410.Copy.config = 0
        self.obj410.Specify = ATOM3Constraint()
        self.obj410.Specify.setValue(
            ('AttrSpecify', (['Python', 'OCL'], 1),
             (['PREcondition', 'POSTcondition'], 1), ([
                 'EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT',
                 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE'
             ], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), '\n'))
        self.obj41.GGset2Any['Name'] = self.obj410
        self.RHS.addNode(self.obj41)
Ejemplo n.º 4
0
    def createTypeGraph(self, atom3i, rootNode):

        self.obj37 = TypeName(atom3i)

        self.obj37.Name.setValue('StringList')
        self.obj37.graphClass_ = graph_TypeName
        new_obj = graph_TypeName(147.0, 102.0, self.obj37)
        self.obj37.graphObject_ = new_obj
        rootNode.addNode(self.obj37)

        self.obj38 = LeafType(atom3i)

        self.obj38.TypeConstraint.setValue(
            ('typeConst', (['Python', 'OCL'], 1),
             (['PREcondition', 'POSTcondition'], 1), ([
                 'EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT',
                 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE OBJECT'
             ], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), '\n\n'))
        self.obj38.Type.setValue(
            ('ltypename', 'String', None, ('Key', 0), ('Direct Editing', 1)))
        self.obj38.Type.initialValue = ATOM3String('')
        self.obj38.graphClass_ = graph_LeafType
        new_obj = graph_LeafType(60.0, 316.0, self.obj38)
        self.obj38.graphObject_ = new_obj
        rootNode.addNode(self.obj38)

        self.obj39 = LeafType(atom3i)

        self.obj39.TypeConstraint.setValue(
            ('typeConst', (['Python', 'OCL'], 1),
             (['PREcondition', 'POSTcondition'], 1), ([
                 'EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT',
                 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE OBJECT'
             ], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), '\n\n'))
        self.obj39.Type.setValue(
            ('ltypename', 'String', None, ('Key', 0), ('Direct Editing', 1)))
        self.obj39.Type.initialValue = ATOM3String('')
        self.obj39.graphClass_ = graph_LeafType
        new_obj = graph_LeafType(249.0, 317.0, self.obj39)
        self.obj39.graphObject_ = new_obj
        rootNode.addNode(self.obj39)

        self.obj40 = Operator(atom3i)

        self.obj40.type.setValue((['X', 'U', '->'], 1))
        self.obj40.type.config = 0
        self.obj40.graphClass_ = graph_Operator
        new_obj = graph_Operator(177.0, 229.0, self.obj40)
        self.obj40.graphObject_ = new_obj
        rootNode.addNode(self.obj40)
        self.obj37.out_connections_.append(self.obj40)
        self.obj40.in_connections_.append(self.obj37)
        self.obj40.out_connections_.append(self.obj39)
        self.obj39.in_connections_.append(self.obj40)
        self.obj40.out_connections_.append(self.obj38)
        self.obj38.in_connections_.append(self.obj40)
Ejemplo n.º 5
0
def createNewTypeName(self, wherex, wherey, screenCoordinates=1):
    self.fromClass = None
    self.toClass = None
    # try the global constraints...
    res = self.ASGroot.preCondition(ASG.CREATE)
    if res:
        self.constraintViolation(res)
        self.mode = self.IDLEMODE
        return

    new_semantic_obj = TypeName(self)
    ne = len(self.ASGroot.listNodes["TypeName"])
    if new_semantic_obj.keyword_:
        new_semantic_obj.keyword_.setValue(
            new_semantic_obj.keyword_.toString() + str(ne))
    if screenCoordinates:
        new_obj = graph_TypeName(self.UMLmodel.canvasx(wherex),
                                 self.UMLmodel.canvasy(wherey),
                                 new_semantic_obj)
    else:  # already in canvas coordinates
        new_obj = graph_TypeName(wherex, wherey, new_semantic_obj)
    new_obj.DrawObject(self.UMLmodel, self.editGGLabel)
    self.UMLmodel.addtag_withtag("TypeName", new_obj.tag)
    new_semantic_obj.graphObject_ = new_obj
    self.ASGroot.addNode(new_semantic_obj)
    res = self.ASGroot.postCondition(ASG.CREATE)
    if res:
        self.constraintViolation(res)
        self.mode = self.IDLEMODE
        return

    res = new_semantic_obj.postCondition(ASGNode.CREATE)
    if res:
        self.constraintViolation(res)
        self.mode = self.IDLEMODE
        return

    self.mode = self.IDLEMODE
    if self.editGGLabel:
        self.statusbar.event(StatusBar.TRANSFORMATION, StatusBar.CREATE)
    else:
        self.statusbar.event(StatusBar.MODEL, StatusBar.CREATE)
    return new_semantic_obj
Ejemplo n.º 6
0
def createNewTypeName(self, wherex, wherey, screenCoordinates = 1):
   self.fromClass = None
   self.toClass = None
   # try the global constraints...
   res = self.ASGroot.preCondition(ASG.CREATE)
   if res:
      self.constraintViolation(res)
      self.mode=self.IDLEMODE
      return

   new_semantic_obj = TypeName(self)
   ne = len(self.ASGroot.listNodes["TypeName"])
   if new_semantic_obj.keyword_:
      new_semantic_obj.keyword_.setValue(new_semantic_obj.keyword_.toString()+str(ne))
   if screenCoordinates:
      new_obj = graph_TypeName(self.UMLmodel.canvasx(wherex), self.UMLmodel.canvasy(wherey), new_semantic_obj)
   else: # already in canvas coordinates
      new_obj = graph_TypeName(wherex, wherey, new_semantic_obj)
   new_obj.DrawObject(self.UMLmodel, self.editGGLabel)
   self.UMLmodel.addtag_withtag("TypeName", new_obj.tag)
   new_semantic_obj.graphObject_ = new_obj
   self.ASGroot.addNode(new_semantic_obj)
   res = self.ASGroot.postCondition(ASG.CREATE)
   if res:
      self.constraintViolation(res)
      self.mode=self.IDLEMODE
      return

   res = new_semantic_obj.postCondition(ASGNode.CREATE)
   if res:
      self.constraintViolation(res)
      self.mode=self.IDLEMODE
      return

   self.mode=self.IDLEMODE
   if self.editGGLabel :
      self.statusbar.event(StatusBar.TRANSFORMATION, StatusBar.CREATE)
   else:
      self.statusbar.event(StatusBar.MODEL, StatusBar.CREATE)
   return new_semantic_obj
Ejemplo n.º 7
0
    def createTypeGraph(self, atom3i, rootNode):
        self.types = atom3i.types

        self.obj28 = TypeName(atom3i)

        self.obj28.Name.setValue('testModels')
        self.obj28.graphClass_ = graph_TypeName
        if atom3i.genGraphics:
            from graph_TypeName import *
            new_obj = graph_TypeName(74.0, 59.0, self.obj28)
        else:
            new_obj = None
        self.obj28.graphObject_ = new_obj
        rootNode.addNode(self.obj28)

        self.obj29 = LeafType(atom3i)

        self.obj29.TypeConstraint.setValue(
            ('typeConst', (['Python', 'OCL'], 1),
             (['PREcondition', 'POSTcondition'], 1), ([
                 'EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT',
                 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE'
             ], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), '\n\n'))
        self.obj29.Type.setValue(
            ('a', 'String', None, ('Key', 0), ('Direct Editing', 1)))
        self.obj29.Type.initialValue = ATOM3String('a')
        self.obj29.graphClass_ = graph_LeafType
        if atom3i.genGraphics:
            from graph_LeafType import *
            new_obj = graph_LeafType(29.0, 198.0, self.obj29)
        else:
            new_obj = None
        self.obj29.graphObject_ = new_obj
        rootNode.addNode(self.obj29)

        self.obj30 = ModelType(atom3i)

        self.obj30.MetaModelName.setValue('StateChart')
        self.obj30.Name.setValue('Method_SC')
        self.obj30.graphClass_ = graph_ModelType
        if atom3i.genGraphics:
            from graph_ModelType import *
            new_obj = graph_ModelType(139.0, 286.0, self.obj30)
        else:
            new_obj = None
        self.obj30.graphObject_ = new_obj
        rootNode.addNode(self.obj30)

        self.obj31 = ModelType(atom3i)

        self.obj31.MetaModelName.setValue('CBD4OOCSMP')
        self.obj31.Name.setValue('Method_CBD')
        self.obj31.graphClass_ = graph_ModelType
        if atom3i.genGraphics:
            from graph_ModelType import *
            new_obj = graph_ModelType(302.0, 289.0, self.obj31)
        else:
            new_obj = None
        self.obj31.graphObject_ = new_obj
        rootNode.addNode(self.obj31)

        self.obj32 = Operator(atom3i)

        self.obj32.type.setValue((['X', 'U', '->'], 0))
        self.obj32.type.config = 0
        self.obj32.graphClass_ = graph_Operator
        if atom3i.genGraphics:
            from graph_Operator import *
            new_obj = graph_Operator(106.0, 127.0, self.obj32)
        else:
            new_obj = None
        self.obj32.graphObject_ = new_obj
        rootNode.addNode(self.obj32)

        self.obj33 = Operator(atom3i)

        self.obj33.type.setValue((['X', 'U', '->'], 1))
        self.obj33.type.config = 0
        self.obj33.graphClass_ = graph_Operator
        if atom3i.genGraphics:
            from graph_Operator import *
            new_obj = graph_Operator(192.0, 183.0, self.obj33)
        else:
            new_obj = None
        self.obj33.graphObject_ = new_obj
        rootNode.addNode(self.obj33)
        self.obj28.out_connections_.append(self.obj32)
        self.obj32.in_connections_.append(self.obj28)
        self.obj28.graphObject_.pendingConnections.append(
            (self.obj28.graphObject_.tag, self.obj32.graphObject_.tag,
             [113.0, 93.0, 112.0, 145.0], 2, 0))
        self.obj32.out_connections_.append(self.obj29)
        self.obj29.in_connections_.append(self.obj32)
        self.obj32.graphObject_.pendingConnections.append(
            (self.obj32.graphObject_.tag, self.obj29.graphObject_.tag,
             [133.0, 218.0, 141.0, 145.0], 2, 0))
        self.obj32.out_connections_.append(self.obj33)
        self.obj33.in_connections_.append(self.obj32)
        self.obj32.graphObject_.pendingConnections.append(
            (self.obj32.graphObject_.tag, self.obj33.graphObject_.tag,
             [169.0, 173.0, 141.0, 145.0], 2, 0))
        self.obj33.out_connections_.append(self.obj30)
        self.obj30.in_connections_.append(self.obj33)
        self.obj33.graphObject_.pendingConnections.append(
            (self.obj33.graphObject_.tag, self.obj30.graphObject_.tag,
             [234.0, 307.0, 227.0, 201.0], 2, 0))
        self.obj33.out_connections_.append(self.obj31)
        self.obj31.in_connections_.append(self.obj33)
        self.obj33.graphObject_.pendingConnections.append(
            (self.obj33.graphObject_.tag, self.obj31.graphObject_.tag,
             [305.0, 312.0, 227.0, 201.0], 2, 0))
Ejemplo n.º 8
0
    def createTypeGraph(self, atom3i, rootNode):

        self.obj35 = TypeName(atom3i)

        self.obj35.Name.setValue('joint')
        self.obj35.graphClass_ = graph_TypeName
        new_obj = graph_TypeName(334.0, 185.0, self.obj35)
        self.obj35.graphObject_ = new_obj
        rootNode.addNode(self.obj35)

        self.obj37 = LeafType(atom3i)

        self.obj37.Type.setValue(
            ('arrow', 'Boolean', None, ('Key', 0), ('Direct Editing', 1)))
        self.obj37.Type.initialValue = ATOM3Boolean()
        self.obj37.Type.initialValue.setValue((' ', 0))
        self.obj37.Type.initialValue.config = 1
        self.obj37.graphClass_ = graph_LeafType
        new_obj = graph_LeafType(141.0, 292.0, self.obj37)
        self.obj37.graphObject_ = new_obj
        rootNode.addNode(self.obj37)

        self.obj39 = LeafType(atom3i)

        self.obj39.Type.setValue(('arrowShape1', 'Integer', None, ('Key', 0),
                                  ('Direct Editing', 1)))
        self.obj39.Type.initialValue = ATOM3Integer(0)
        self.obj39.graphClass_ = graph_LeafType
        new_obj = graph_LeafType(194.0, 351.0, self.obj39)
        self.obj39.graphObject_ = new_obj
        rootNode.addNode(self.obj39)

        self.obj42 = LeafType(atom3i)

        self.obj42.Type.setValue(('arrowShape2', 'Integer', None, ('Key', 0),
                                  ('Direct Editing', 1)))
        self.obj42.Type.initialValue = ATOM3Integer(0)
        self.obj42.graphClass_ = graph_LeafType
        new_obj = graph_LeafType(328.0, 375.0, self.obj42)
        self.obj42.graphObject_ = new_obj
        rootNode.addNode(self.obj42)

        self.obj44 = LeafType(atom3i)

        self.obj44.Type.setValue(('arrowShape3', 'Integer', None, ('Key', 0),
                                  ('Direct Editing', 1)))
        self.obj44.Type.initialValue = ATOM3Integer(0)
        self.obj44.graphClass_ = graph_LeafType
        new_obj = graph_LeafType(473.0, 354.0, self.obj44)
        self.obj44.graphObject_ = new_obj
        rootNode.addNode(self.obj44)

        self.obj46 = LeafType(atom3i)

        self.obj46.Type.setValue(('decoration', 'Appearance', None, ('Key', 0),
                                  ('Direct Editing', 1)))
        self.obj46.Type.initialValue = ATOM3Appearance()
        self.obj46.Type.initialValue.setValue(('class0', self.obj46.Type))
        self.obj46.graphClass_ = graph_LeafType
        new_obj = graph_LeafType(522.0, 297.0, self.obj46)
        self.obj46.graphObject_ = new_obj
        rootNode.addNode(self.obj46)

        self.obj48 = Operator(atom3i)

        self.obj48.Type.setValue((['U', 'X'], 1))
        self.obj48.Type.config = 0
        self.obj48.graphClass_ = graph_Operator
        new_obj = graph_Operator(361.0, 268.0, self.obj48)
        self.obj48.graphObject_ = new_obj
        rootNode.addNode(self.obj48)
        self.obj35.out_connections_.append(self.obj48)
        self.obj48.in_connections_.append(self.obj35)
        self.obj48.out_connections_.append(self.obj37)
        self.obj37.in_connections_.append(self.obj48)
        self.obj48.out_connections_.append(self.obj39)
        self.obj39.in_connections_.append(self.obj48)
        self.obj48.out_connections_.append(self.obj42)
        self.obj42.in_connections_.append(self.obj48)
        self.obj48.out_connections_.append(self.obj44)
        self.obj44.in_connections_.append(self.obj48)
        self.obj48.out_connections_.append(self.obj46)
        self.obj46.in_connections_.append(self.obj48)
Ejemplo n.º 9
0
  def createTypeGraph(self, atom3i, rootNode):
    self.types = atom3i.types

    self.obj203=TypeName(atom3i)
    self.obj203.preAction( rootNode.CREATE )
    self.obj203.isGraphObjectVisual = True

    if(hasattr(self.obj203, '_setHierarchicalLink')):
      self.obj203._setHierarchicalLink(False)

    # Name
    self.obj203.Name.setValue('FSB_Button_TYPE')

    self.obj203.graphClass_= graph_TypeName
    if atom3i.genGraphics:
       new_obj = graph_TypeName(60.0,80.0,self.obj203)
       new_obj.layConstraints = dict() # Graphical Layout Constraints 
       new_obj.layConstraints['scale'] = [1.0, 1.0]
    else: new_obj = None
    self.obj203.graphObject_ = new_obj

    # Add node to the root: rootNode
    rootNode.addNode(self.obj203)
    self.obj203.postAction( rootNode.CREATE )

    self.obj204=LeafType(atom3i)
    self.obj204.preAction( rootNode.CREATE )
    self.obj204.isGraphObjectVisual = True

    if(hasattr(self.obj204, '_setHierarchicalLink')):
      self.obj204._setHierarchicalLink(False)

    # TypeConstraint
    self.obj204.TypeConstraint.setValue(('typeConst', (['Python', 'OCL'], 1), (['PREcondition', 'POSTcondition'], 1), (['EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT', 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE'], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), None))

    # Type
    self.obj204.Type.setValue(('iconPath', 'String', None, ('Key', 0), ('Direct Editing', 1)))
    self.obj204.Type.initialValue=ATOM3String('', 20)
    self.obj204.Type.isDerivedAttribute = False

    self.obj204.graphClass_= graph_LeafType
    if atom3i.genGraphics:
       new_obj = graph_LeafType(220.0,100.0,self.obj204)
       new_obj.layConstraints = dict() # Graphical Layout Constraints 
       new_obj.layConstraints['scale'] = [1.0, 1.0]
    else: new_obj = None
    self.obj204.graphObject_ = new_obj

    # Add node to the root: rootNode
    rootNode.addNode(self.obj204)
    self.obj204.postAction( rootNode.CREATE )

    self.obj205=LeafType(atom3i)
    self.obj205.preAction( rootNode.CREATE )
    self.obj205.isGraphObjectVisual = True

    if(hasattr(self.obj205, '_setHierarchicalLink')):
      self.obj205._setHierarchicalLink(False)

    # TypeConstraint
    self.obj205.TypeConstraint.setValue(('typeConst', (['Python', 'OCL'], 1), (['PREcondition', 'POSTcondition'], 1), (['EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT', 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE'], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), None))

    # Type
    self.obj205.Type.setValue(('action', 'Text', None, ('Key', 0), ('Direct Editing', 1)))
    self.obj205.Type.initialValue=ATOM3Text('# Button action code\n# The following is generated for you: \n# def action(self): # self = ATOM3 instance\n# Typical contents of action:\n# newPlace = self.createNew<CLASS NAME IN META-MODEL>(self, wherex, wherey)\n# Action that shows dialog to edit ASG attributes:\n# self.modelAttributes(self.ASGroot.getASGbyName("<META-MODEL NAME>_META")) \n', 80,15 )
    self.obj205.Type.isDerivedAttribute = False

    self.obj205.graphClass_= graph_LeafType
    if atom3i.genGraphics:
       new_obj = graph_LeafType(220.0,180.0,self.obj205)
       new_obj.layConstraints = dict() # Graphical Layout Constraints 
       new_obj.layConstraints['scale'] = [1.0, 1.0]
    else: new_obj = None
    self.obj205.graphObject_ = new_obj

    # Add node to the root: rootNode
    rootNode.addNode(self.obj205)
    self.obj205.postAction( rootNode.CREATE )

    self.obj206=Operator(atom3i)
    self.obj206.preAction( rootNode.CREATE )
    self.obj206.isGraphObjectVisual = True

    if(hasattr(self.obj206, '_setHierarchicalLink')):
      self.obj206._setHierarchicalLink(False)
      
      
    self.obj40=LeafType(atom3i)
    self.obj40.preAction( rootNode.CREATE )
    self.obj40.isGraphObjectVisual = True

    if(hasattr(self.obj40, '_setHierarchicalLink')):
      self.obj40._setHierarchicalLink(False)

    # TypeConstraint
    self.obj40.TypeConstraint.setValue(('typeConst', (['Python', 'OCL'], 1), (['PREcondition', 'POSTcondition'], 1), (['EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT', 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE'], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]), None))

    # Type
    self.obj40.Type.setValue(('takesActionImmediately', 'Boolean', None, ('Key', 0), ('Direct Editing', 1)))
    self.obj40.Type.initialValue=ATOM3Boolean()
    self.obj40.Type.initialValue.setValue(('', 0))
    self.obj40.Type.initialValue.config = 1
    self.obj40.Type.isDerivedAttribute = False

    self.obj40.graphClass_= graph_LeafType
    if atom3i.genGraphics:
       new_obj = graph_LeafType(220.0,240.0,self.obj40)
       new_obj.layConstraints = dict() # Graphical Layout Constraints 
       new_obj.layConstraints['scale'] = [1.0, 1.0]
    else: new_obj = None
    self.obj40.graphObject_ = new_obj

    # Add node to the root: rootNode
    rootNode.addNode(self.obj40)
    self.obj40.postAction( rootNode.CREATE )
    

    # type
    self.obj206.type.setValue( (['X', 'U', '->'], 0) )
    self.obj206.type.config = 0

    self.obj206.graphClass_= graph_Operator
    if atom3i.genGraphics:
       new_obj = graph_Operator(188.0,107.5,self.obj206)
       new_obj.layConstraints = dict() # Graphical Layout Constraints 
       new_obj.layConstraints['scale'] = [1.0, 1.0]
    else: new_obj = None
    self.obj206.graphObject_ = new_obj

    # Add node to the root: rootNode
    rootNode.addNode(self.obj206)
    self.obj206.postAction( rootNode.CREATE )

    self.obj203.out_connections_.append(self.obj206)
    self.obj206.in_connections_.append(self.obj203)
    self.obj203.graphObject_.pendingConnections.append((self.obj203.graphObject_.tag, self.obj206.graphObject_.tag, [136.0, 96.0, 188.0, 107.5], 2, 1))
    self.obj206.out_connections_.append(self.obj204)
    self.obj204.in_connections_.append(self.obj206)
    self.obj206.graphObject_.pendingConnections.append((self.obj206.graphObject_.tag, self.obj204.graphObject_.tag, [240.0, 119.0, 188.0, 107.5], 2, 1))
    self.obj206.out_connections_.append(self.obj205)
    self.obj205.in_connections_.append(self.obj206)
    self.obj206.graphObject_.pendingConnections.append((self.obj206.graphObject_.tag, self.obj205.graphObject_.tag, [240.0, 199.0, 188.0, 107.5], 2, 1))