class graph_TTPN_Place_Transition_Rel_Center(graphEntity):

    def __init__(self, x, y, semObject = None):
        self.semanticObject = semObject
        self.sizeX, self.sizeY = 52, 22
        graphEntity.__init__(self, x, y)
        self.ChangesAtRunTime = 0
        self.constraintList = []
        if self.semanticObject: atribs = self.semanticObject.attributesToDraw()
        else: atribs = None
        constObj = ATOM3Constraint(atribs,"hideWeight","self.semanticObject.", [], [])
        constObj.setValue(('hideWeight', (['Python', 'OCL'], 0), (['PREcondition', 'POSTcondition'], 1), (['EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT', 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE'], [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]), 'if self.semanticObject.weight.getValue() == 1 : self.gf0.setVisible(0)\012else: self.gf0.setVisible(1)\012\012\012\012\012'))
        self.constraintList.append(constObj)

        self.graphForms = []

    def DrawObject(self, drawing, showGG = 0):
        self.dc = drawing
        if showGG and self.semanticObject: self.drawGGLabel(drawing)
        h = drawing.create_oval(self.translate([26.0, 19.0, 26.0, 19.0]), tags = (self.tag, "connector"), fill= 'red', outline= 'black', width= '1.0', stipple= '')
        self.connectors.append(h)
        if self.semanticObject: drawText = self.semanticObject.weight.toString(25,5)
        else: drawText = "<weight>"
        h = drawing.create_text(self.translate([26.0, 7.0]), tags = self.tag, text = drawText, fill= 'blue', anchor= 'center', font= 'Helvetica -12', justify= 'left', width= '0', stipple= '')
        self.attr_display["weight"] = h
        self.gf0 = GraphicalForm(drawing, h, "gf0")
        self.graphForms.append(self.gf0)

    def hideWeight(self):
       if self.semanticObject.weight.getValue() == 1 : self.gf0.setVisible(0)
       else: self.gf0.setVisible(1)
       
       
       
       
       

    def postCondition (self, actionID, * params):
       if actionID ==  self.EDIT or actionID == self.CREATE:
         res = self.hideWeight()
         if res: return res
       return None

    def preCondition (self, actionID, * params):
       return None
class graph_TTPN_Transition_Place_Rel_Center(graphEntity):
    def __init__(self, x, y, semObject=None):
        self.semanticObject = semObject
        self.sizeX, self.sizeY = 52, 22
        graphEntity.__init__(self, x, y)
        self.ChangesAtRunTime = 0
        self.constraintList = []
        if self.semanticObject: atribs = self.semanticObject.attributesToDraw()
        else: atribs = None
        constObj = ATOM3Constraint(atribs, "hideWeight",
                                   "self.semanticObject.", [], [])
        constObj.setValue(
            ('hideWeight', (['Python', 'OCL'], 0),
             (['PREcondition', 'POSTcondition'], 1), ([
                 'EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT',
                 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE'
             ], [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]),
             'if self.semanticObject.weight.getValue() == 1 : self.gf0.setVisible(0)\012else: self.gf0.setVisible(1)\012\012\012\012'
             ))
        self.constraintList.append(constObj)

        self.graphForms = []

    def DrawObject(self, drawing, showGG=0):
        self.dc = drawing
        if showGG and self.semanticObject: self.drawGGLabel(drawing)
        h = drawing.create_oval(self.translate([27.0, 19.0, 27.0, 19.0]),
                                tags=(self.tag, "connector"),
                                fill='red',
                                outline='black',
                                width='1.0',
                                stipple='')
        self.connectors.append(h)
        if self.semanticObject:
            drawText = self.semanticObject.weight.toString(25, 5)
        else:
            drawText = "<weight>"
        h = drawing.create_text(self.translate([26.0, 7.0]),
                                tags=self.tag,
                                text=drawText,
                                fill='blue',
                                anchor='center',
                                font='Helvetica -12',
                                justify='left',
                                width='0',
                                stipple='')
        self.attr_display["weight"] = h
        self.gf0 = GraphicalForm(drawing, h, "gf0")
        self.graphForms.append(self.gf0)

    def hideWeight(self):
        if self.semanticObject.weight.getValue() == 1: self.gf0.setVisible(0)
        else: self.gf0.setVisible(1)

    def postCondition(self, actionID, *params):
        if actionID == self.EDIT or actionID == self.CREATE:
            res = self.hideWeight()
            if res: return res
        return None

    def preCondition(self, actionID, *params):
        return None
Ejemplo n.º 3
0
class graph_AtomClass(graphEntity):
    def __init__(self, x, y, semObject=None):
        self.semanticObject = semObject
        self.sizeX, self.sizeY = 149, 71
        graphEntity.__init__(self, x, y)
        self.ChangesAtRunTime = 0
        self.constraintList = []
        if self.semanticObject: atribs = self.semanticObject.attributesToDraw()
        else: atribs = None
        constObj = ATOM3Constraint(atribs, "Abstract", "self.semanticObject.",
                                   [], [])
        constObj.setValue(
            ('Abstract', (['Python', 'OCL'], 0),
             (['PREcondition', 'POSTcondition'], 1), ([
                 'EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT',
                 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE'
             ], [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]),
             'if self.semanticObject.Abstract.toString() == "True":\012   self.gf4.setVisible(1)\012else:\012   self.gf4.setVisible(0)\012\012\012'
             ))
        self.constraintList.append(constObj)

        self.graphForms = []

    def DrawObject(self, drawing, showGG=0):
        self.dc = drawing
        if showGG and self.semanticObject: self.drawGGLabel(drawing)
        h = drawing.create_oval(self.translate([91.0, 68.0, 91.0, 68.0]),
                                tags=(self.tag, "connector"),
                                fill='red',
                                outline='black',
                                width='1.0',
                                stipple='')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([146.0, 50.0, 146.0, 50.0]),
                                tags=(self.tag, "connector"),
                                fill='red',
                                outline='black',
                                width='1.0',
                                stipple='')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([93.0, 3.0, 93.0, 3.0]),
                                tags=(self.tag, "connector"),
                                fill='red',
                                outline='black',
                                width='1.0',
                                stipple='')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([3.0, 51.0, 3.0, 51.0]),
                                tags=(self.tag, "connector"),
                                fill='red',
                                outline='black',
                                width='1.0',
                                stipple='')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([3.0, 20.0, 3.0, 20.0]),
                                tags=(self.tag, "connector"),
                                fill='red',
                                outline='black',
                                width='1.0',
                                stipple='')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([21.0, 68.0, 21.0, 68.0]),
                                tags=(self.tag, "connector"),
                                fill='red',
                                outline='black',
                                width='1.0',
                                stipple='')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([55.0, 68.0, 55.0, 68.0]),
                                tags=(self.tag, "connector"),
                                fill='red',
                                outline='black',
                                width='1.0',
                                stipple='')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([126.0, 67.0, 126.0, 67.0]),
                                tags=(self.tag, "connector"),
                                fill='red',
                                outline='black',
                                width='1.0',
                                stipple='')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([56.0, 3.0, 56.0, 3.0]),
                                tags=(self.tag, "connector"),
                                fill='red',
                                outline='black',
                                width='1.0',
                                stipple='')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([146.0, 21.0, 146.0, 21.0]),
                                tags=(self.tag, "connector"),
                                fill='red',
                                outline='black',
                                width='1.0',
                                stipple='')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([125.0, 3.0, 125.0, 3.0]),
                                tags=(self.tag, "connector"),
                                fill='red',
                                outline='black',
                                width='1.0',
                                stipple='')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([22.0, 3.0, 22.0, 3.0]),
                                tags=(self.tag, "connector"),
                                fill='red',
                                outline='black',
                                width='1.0',
                                stipple='')
        self.connectors.append(h)
        h = drawing.create_rectangle(self.translate([5.0, 5.0, 144.0, 22.0]),
                                     tags=self.tag,
                                     fill='yellow',
                                     outline='black',
                                     width='1.0',
                                     stipple='')
        self.gf3 = GraphicalForm(drawing, h, "gf3")
        self.graphForms.append(self.gf3)
        h = drawing.create_text(self.translate([126.0, 13.0]),
                                tags=self.tag,
                                fill='black',
                                anchor='center',
                                font='Helvetica -10',
                                text='{Abstr.}',
                                justify='left',
                                width='0',
                                stipple='')
        self.gf4 = GraphicalForm(drawing, h, "gf4")
        self.graphForms.append(self.gf4)
        h = drawing.create_rectangle(self.translate([5.0, 21.0, 144.0, 65.0]),
                                     tags=self.tag,
                                     fill='lightyellow',
                                     outline='black',
                                     width='1.0',
                                     stipple='')
        self.gf5 = GraphicalForm(drawing, h, "gf5")
        self.graphForms.append(self.gf5)
        if self.semanticObject:
            drawText = self.semanticObject.ClassName.toString(25, 5)
        else:
            drawText = "<ClassName>"
        h = drawing.create_text(self.translate([9.0, 6.0]),
                                tags=self.tag,
                                text=drawText,
                                fill='Black',
                                anchor='nw',
                                font='Helvetica -11',
                                justify='left',
                                width='0',
                                stipple='')
        self.attr_display["ClassName"] = h
        self.gf6 = GraphicalForm(drawing, h, "gf6")
        self.graphForms.append(self.gf6)
        if self.semanticObject:
            drawText = self.semanticObject.ClassAttributes.toString(25, 5)
        else:
            drawText = "<ClassAttributes>"
        h = drawing.create_text(self.translate([9.0, 23.0]),
                                tags=self.tag,
                                text=drawText,
                                fill='blue',
                                anchor='nw',
                                font='Helvetica -10',
                                justify='left',
                                width='0',
                                stipple='')
        self.attr_display["ClassAttributes"] = h
        self.gf7 = GraphicalForm(drawing, h, "gf7")
        self.graphForms.append(self.gf7)

    def Abstract(self, params):
        if self.semanticObject.Abstract.toString() == "True":
            self.gf4.setVisible(1)
        else:
            self.gf4.setVisible(0)

    def postCondition(self, actionID, *params):
        if actionID == self.EDIT or actionID == self.CREATE:
            res = self.Abstract(params)
            if res: return res
        return None

    def preCondition(self, actionID, *params):
        return None
Ejemplo n.º 4
0
class graph_TTPN_Transition(graphEntity):
    def __init__(self, x, y, semObject=None):
        self.semanticObject = semObject
        self.sizeX, self.sizeY = 97, 85
        graphEntity.__init__(self, x, y)
        self.ChangesAtRunTime = 0
        self.constraintList = []
        if self.semanticObject: atribs = self.semanticObject.attributesToDraw()
        else: atribs = None
        constObj = ATOM3Constraint(atribs, "changeAtomic",
                                   "self.semanticObject.", [], [])
        constObj.setValue(
            ('changeAtomic', (['Python', 'OCL'], 0),
             (['PREcondition', 'POSTcondition'], 1), ([
                 'EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT',
                 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE'
             ], [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]),
             'if self.semanticObject.atomic.getValue()[1]:\012   self.gf5.setVisible(1)\012else:\012   self.gf5.setVisible(0)\012if self.semanticObject.processes.getValue() == 1:\012   self.gf6.setVisible(0)\012else:\012   self.gf6.setVisible(1)\012\012'
             ))
        self.constraintList.append(constObj)

        self.graphForms = []

    def DrawObject(self, drawing, showGG=0):
        self.dc = drawing
        if showGG and self.semanticObject: self.drawGGLabel(drawing)
        h = drawing.create_line(self.translate([51.0, 19.0, 51.0, 58.0]),
                                tags=self.tag,
                                fill='black',
                                joinstyle='round',
                                smooth=0,
                                capstyle='butt',
                                arrow='none',
                                arrowshape='8 10 3',
                                splinesteps='12',
                                width='5.0',
                                stipple='')
        self.gf1 = GraphicalForm(drawing, h, "gf1")
        self.graphForms.append(self.gf1)
        h = drawing.create_oval(self.translate([51.0, 38.0, 51.0, 38.0]),
                                tags=(self.tag, "connector"),
                                fill='red',
                                outline='black',
                                width='1.0',
                                stipple='')
        self.connectors.append(h)
        h = drawing.create_text(self.translate([53.0, 7.0]),
                                tags=self.tag,
                                fill='black',
                                anchor='center',
                                font='Helvetica -12',
                                text=', ',
                                justify='left',
                                width='0',
                                stipple='')
        self.gf2 = GraphicalForm(drawing, h, "gf2")
        self.graphForms.append(self.gf2)
        h = drawing.create_text(self.translate([51.0, 78.0]),
                                tags=self.tag,
                                fill='black',
                                anchor='center',
                                font='{MS Sans Serif} 8',
                                text='atomic',
                                justify='left',
                                width='0',
                                stipple='')
        self.gf5 = GraphicalForm(drawing, h, "gf5")
        self.graphForms.append(self.gf5)
        if self.semanticObject:
            drawText = self.semanticObject.time.toString(25, 5)
        else:
            drawText = "<time>"
        h = drawing.create_text(self.translate([56.0, 8.0]),
                                tags=self.tag,
                                text=drawText,
                                fill='blue',
                                anchor='w',
                                font='Helvetica -12',
                                justify='left',
                                width='0',
                                stipple='')
        self.attr_display["time"] = h
        self.gf3 = GraphicalForm(drawing, h, "gf3")
        self.graphForms.append(self.gf3)
        if self.semanticObject:
            drawText = self.semanticObject.processes.toString(25, 5)
        else:
            drawText = "<processes>"
        h = drawing.create_text(self.translate([51.0, 65.0]),
                                tags=self.tag,
                                text=drawText,
                                fill='blue',
                                anchor='center',
                                font='Helvetica -12',
                                justify='left',
                                width='0',
                                stipple='')
        self.attr_display["processes"] = h
        self.gf6 = GraphicalForm(drawing, h, "gf6")
        self.graphForms.append(self.gf6)
        if self.semanticObject:
            drawText = self.semanticObject.name.toString(25, 5)
        else:
            drawText = "<name>"
        h = drawing.create_text(self.translate([47.0, 8.0]),
                                tags=self.tag,
                                text=drawText,
                                fill='blue',
                                anchor='e',
                                font='Helvetica -12',
                                justify='right',
                                width='0',
                                stipple='')
        self.attr_display["name"] = h
        self.gf4 = GraphicalForm(drawing, h, "gf4")
        self.graphForms.append(self.gf4)

    def changeAtomic(self):
        if self.semanticObject.atomic.getValue()[1]:
            self.gf5.setVisible(1)
        else:
            self.gf5.setVisible(0)
        if self.semanticObject.processes.getValue() == 1:
            self.gf6.setVisible(0)
        else:
            self.gf6.setVisible(1)

    def postCondition(self, actionID, *params):
        if actionID == self.EDIT or actionID == self.CREATE:
            res = self.changeAtomic()
            if res: return res
        return None

    def preCondition(self, actionID, *params):
        return None
class graph_AtomAssociation_Center(graphEntity):

    def __init__(self, x, y, semObject = None):
        self.semanticObject = semObject
        self.sizeX, self.sizeY = 130, 116
        graphEntity.__init__(self, x, y)
        self.ChangesAtRunTime = 0
        self.constraintList = []
        if self.semanticObject: atribs = self.semanticObject.attributesToDraw()
        else: atribs = None
        constObj = ATOM3Constraint(atribs,"Hide","self.semanticObject.", [], [])
        constObj.setValue(('Hide', (['Python', 'OCL'], 1), (['PREcondition', 'POSTcondition'], 1), (['EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT', 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE'], [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]), 'if self.semanticObject.AssociationAttributes.getValue() == []:\012   self.gf0.setVisible(0)\012   self.gf1.setVisible(0)\012   self.gf6.setVisible(0)\012   self.gf3.setVisible(0)\012   self.gf4.setVisible(0)\012   self.gf5.setVisible(1)\012else:\012   self.gf0.setVisible(1)\012   self.gf1.setVisible(1)\012   self.gf6.setVisible(1)\012   self.gf3.setVisible(1)\012   self.gf4.setVisible(1)\012   self.gf5.setVisible(0)\012\012\012\012\012'))
        self.constraintList.append(constObj)

        self.graphForms = []

    def DrawObject(self, drawing, showGG = 0):
        self.dc = drawing
        if showGG and self.semanticObject: self.drawGGLabel(drawing)
        h = drawing.create_rectangle(self.translate([1.0, 33.0, 129.0, 53.0]), tags = self.tag, fill= 'yellow', outline= 'black', width= '1.0', stipple= '')
        self.gf0 = GraphicalForm(drawing, h, "gf0")
        self.graphForms.append(self.gf0)
        h = drawing.create_rectangle(self.translate([1.0, 52.0, 129.0, 115.0]), tags = self.tag, fill= 'lightyellow', outline= 'black', width= '1.0', stipple= '')
        self.gf1 = GraphicalForm(drawing, h, "gf1")
        self.graphForms.append(self.gf1)
        h = drawing.create_line(self.translate([61.0, 32.0, 61.0, 17.0]), tags = self.tag, fill= 'black', joinstyle= 'round', smooth= 0, capstyle= 'butt', arrow= 'none', arrowshape= '8 10 3', splinesteps= '12', width= '1.0', stipple= '')
        self.gf4 = GraphicalForm(drawing, h, "gf4")
        self.graphForms.append(self.gf4)
        h = drawing.create_oval(self.translate([61.0, 16.0, 61.0, 16.0]), tags = (self.tag, "connector"), fill= 'red', outline= 'black', width= '1.0', stipple= '')
        self.connectors.append(h)

        if self.semanticObject: drawText = self.semanticObject.AssociationName.toString(25,5)
        else: drawText = "<AssociationName>"
        h = drawing.create_text(self.translate([66.0, 8.0]), tags = self.tag, text = drawText, fill= 'black', anchor= 'center', font= '{Helvetica} 10', justify= 'left', width= '0', stipple= '')
        self.attr_display["AssociationName"] = h
        self.gf5 = GraphicalForm(drawing, h, "gf6")
        self.graphForms.append(self.gf5)
       
        #h = drawing.create_text(self.translate([66.0, 8.0]), tags = self.tag, fill= 'black', anchor= 'center', font= '{Helvetica} 10', text= '<AssociationName>', justify= 'left', width= '0', stipple= '')
        #self.gf5 = GraphicalForm(drawing, h, "gf5")
        #self.graphForms.append(self.gf5)
        if self.semanticObject: drawText = self.semanticObject.AssociationName.toString(25,5)
        else: drawText = "<AssociationName>"
        h = drawing.create_text(self.translate([66.0, 42.0]), tags = self.tag, text = drawText, fill= 'black', anchor= 'center', font= '{Helvetica} 10', justify= 'left', width= '0', stipple= '')
        self.attr_display["AssociationName"] = h
        self.gf6 = GraphicalForm(drawing, h, "gf6")
        self.graphForms.append(self.gf6)
        if self.semanticObject: drawText = self.semanticObject.AssociationAttributes.toString(25,5)
        else: drawText = "<AssociationAttributes>"
        h = drawing.create_text(self.translate([5.0, 54.0]), tags = self.tag, text = drawText, fill= 'blue', anchor= 'nw', font= '{MS Sans Serif} 8', justify= 'left', width= '0', stipple= '')
        self.attr_display["AssociationAttributes"] = h
        self.gf3 = GraphicalForm(drawing, h, "gf3")
        self.graphForms.append(self.gf3)

    def Hide(self,params):
       if self.semanticObject.AssociationAttributes.getValue() == []:
          self.gf0.setVisible(0)
          self.gf1.setVisible(0)
          self.gf6.setVisible(0)
          self.gf3.setVisible(0)
          self.gf4.setVisible(0)
          self.gf5.setVisible(1)
       else:
          self.gf0.setVisible(1)
          self.gf1.setVisible(1)
          self.gf6.setVisible(1)
          self.gf3.setVisible(1)
          self.gf4.setVisible(1)
          self.gf5.setVisible(0)
       
       
       
       
       

    def postCondition (self, actionID, * params):
       if actionID ==  self.EDIT or actionID == self.CREATE:
         res = self.Hide(params)
         if res: return res
       return None

    def preCondition (self, actionID, * params):
       return None
Ejemplo n.º 6
0
class graph_TTPN_Transition(graphEntity):

    def __init__(self, x, y, semObject = None):
        self.semanticObject = semObject
        self.sizeX, self.sizeY = 97, 85
        graphEntity.__init__(self, x, y)
        self.ChangesAtRunTime = 0
        self.constraintList = []
        if self.semanticObject: atribs = self.semanticObject.attributesToDraw()
        else: atribs = None
        constObj = ATOM3Constraint(atribs,"changeAtomic","self.semanticObject.", [], [])
        constObj.setValue(('changeAtomic', (['Python', 'OCL'], 0), (['PREcondition', 'POSTcondition'], 1), (['EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT', 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE'], [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]), 'if self.semanticObject.atomic.getValue()[1]:\012   self.gf5.setVisible(1)\012else:\012   self.gf5.setVisible(0)\012if self.semanticObject.processes.getValue() == 1:\012   self.gf6.setVisible(0)\012else:\012   self.gf6.setVisible(1)\012\012'))
        self.constraintList.append(constObj)

        self.graphForms = []

    def DrawObject(self, drawing, showGG = 0):
        self.dc = drawing
        if showGG and self.semanticObject: self.drawGGLabel(drawing)
        h = drawing.create_line(self.translate([51.0, 19.0, 51.0, 58.0]), tags = self.tag, fill= 'black', joinstyle= 'round', smooth= 0, capstyle= 'butt', arrow= 'none', arrowshape= '8 10 3', splinesteps= '12', width= '5.0', stipple= '')
        self.gf1 = GraphicalForm(drawing, h, "gf1")
        self.graphForms.append(self.gf1)
        h = drawing.create_oval(self.translate([51.0, 38.0, 51.0, 38.0]), tags = (self.tag, "connector"), fill= 'red', outline= 'black', width= '1.0', stipple= '')
        self.connectors.append(h)
        h = drawing.create_text(self.translate([53.0, 7.0]), tags = self.tag, fill= 'black', anchor= 'center', font= 'Helvetica -12', text= ', ', justify= 'left', width= '0', stipple= '')
        self.gf2 = GraphicalForm(drawing, h, "gf2")
        self.graphForms.append(self.gf2)
        h = drawing.create_text(self.translate([51.0, 78.0]), tags = self.tag, fill= 'black', anchor= 'center', font= '{MS Sans Serif} 8', text= 'atomic', justify= 'left', width= '0', stipple= '')
        self.gf5 = GraphicalForm(drawing, h, "gf5")
        self.graphForms.append(self.gf5)
        if self.semanticObject: drawText = self.semanticObject.time.toString(25,5)
        else: drawText = "<time>"
        h = drawing.create_text(self.translate([56.0, 8.0]), tags = self.tag, text = drawText, fill= 'blue', anchor= 'w', font= 'Helvetica -12', justify= 'left', width= '0', stipple= '')
        self.attr_display["time"] = h
        self.gf3 = GraphicalForm(drawing, h, "gf3")
        self.graphForms.append(self.gf3)
        if self.semanticObject: drawText = self.semanticObject.processes.toString(25,5)
        else: drawText = "<processes>"
        h = drawing.create_text(self.translate([51.0, 65.0]), tags = self.tag, text = drawText, fill= 'blue', anchor= 'center', font= 'Helvetica -12', justify= 'left', width= '0', stipple= '')
        self.attr_display["processes"] = h
        self.gf6 = GraphicalForm(drawing, h, "gf6")
        self.graphForms.append(self.gf6)
        if self.semanticObject: drawText = self.semanticObject.name.toString(25,5)
        else: drawText = "<name>"
        h = drawing.create_text(self.translate([47.0, 8.0]), tags = self.tag, text = drawText, fill= 'blue', anchor= 'e', font= 'Helvetica -12', justify= 'right', width= '0', stipple= '')
        self.attr_display["name"] = h
        self.gf4 = GraphicalForm(drawing, h, "gf4")
        self.graphForms.append(self.gf4)

    def changeAtomic(self):
       if self.semanticObject.atomic.getValue()[1]:
          self.gf5.setVisible(1)
       else:
          self.gf5.setVisible(0)
       if self.semanticObject.processes.getValue() == 1:
          self.gf6.setVisible(0)
       else:
          self.gf6.setVisible(1)
       
       

    def postCondition (self, actionID, * params):
       if actionID ==  self.EDIT or actionID == self.CREATE:
         res = self.changeAtomic()
         if res: return res
       return None

    def preCondition (self, actionID, * params):
       return None
class graph_AtomAssociation_Center(graphEntity):
    def __init__(self, x, y, semObject=None):
        self.semanticObject = semObject
        self.sizeX, self.sizeY = 130, 116
        graphEntity.__init__(self, x, y)
        self.ChangesAtRunTime = 0
        self.constraintList = []
        if self.semanticObject: atribs = self.semanticObject.attributesToDraw()
        else: atribs = None
        constObj = ATOM3Constraint(atribs, "Hide", "self.semanticObject.", [],
                                   [])
        constObj.setValue(
            ('Hide', (['Python',
                       'OCL'], 1), (['PREcondition', 'POSTcondition'], 1), ([
                           'EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE',
                           'DISCONNECT', 'TRANSFORM', 'SELECT', 'DRAG', 'DROP',
                           'MOVE'
                       ], [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]),
             'if self.semanticObject.AssociationAttributes.getValue() == []:\012   self.gf0.setVisible(0)\012   self.gf1.setVisible(0)\012   self.gf6.setVisible(0)\012   self.gf3.setVisible(0)\012   self.gf4.setVisible(0)\012   self.gf5.setVisible(1)\012else:\012   self.gf0.setVisible(1)\012   self.gf1.setVisible(1)\012   self.gf6.setVisible(1)\012   self.gf3.setVisible(1)\012   self.gf4.setVisible(1)\012   self.gf5.setVisible(0)\012\012\012\012\012'
             ))
        self.constraintList.append(constObj)

        self.graphForms = []

    def DrawObject(self, drawing, showGG=0):
        self.dc = drawing
        if showGG and self.semanticObject: self.drawGGLabel(drawing)
        h = drawing.create_rectangle(self.translate([1.0, 33.0, 129.0, 53.0]),
                                     tags=self.tag,
                                     fill='yellow',
                                     outline='black',
                                     width='1.0',
                                     stipple='')
        self.gf0 = GraphicalForm(drawing, h, "gf0")
        self.graphForms.append(self.gf0)
        h = drawing.create_rectangle(self.translate([1.0, 52.0, 129.0, 115.0]),
                                     tags=self.tag,
                                     fill='lightyellow',
                                     outline='black',
                                     width='1.0',
                                     stipple='')
        self.gf1 = GraphicalForm(drawing, h, "gf1")
        self.graphForms.append(self.gf1)
        h = drawing.create_line(self.translate([61.0, 32.0, 61.0, 17.0]),
                                tags=self.tag,
                                fill='black',
                                joinstyle='round',
                                smooth=0,
                                capstyle='butt',
                                arrow='none',
                                arrowshape='8 10 3',
                                splinesteps='12',
                                width='1.0',
                                stipple='')
        self.gf4 = GraphicalForm(drawing, h, "gf4")
        self.graphForms.append(self.gf4)
        h = drawing.create_oval(self.translate([61.0, 16.0, 61.0, 16.0]),
                                tags=(self.tag, "connector"),
                                fill='red',
                                outline='black',
                                width='1.0',
                                stipple='')
        self.connectors.append(h)

        if self.semanticObject:
            drawText = self.semanticObject.AssociationName.toString(25, 5)
        else:
            drawText = "<AssociationName>"
        h = drawing.create_text(self.translate([66.0, 8.0]),
                                tags=self.tag,
                                text=drawText,
                                fill='black',
                                anchor='center',
                                font='{Helvetica} 10',
                                justify='left',
                                width='0',
                                stipple='')
        self.attr_display["AssociationName"] = h
        self.gf5 = GraphicalForm(drawing, h, "gf6")
        self.graphForms.append(self.gf5)

        #h = drawing.create_text(self.translate([66.0, 8.0]), tags = self.tag, fill= 'black', anchor= 'center', font= '{Helvetica} 10', text= '<AssociationName>', justify= 'left', width= '0', stipple= '')
        #self.gf5 = GraphicalForm(drawing, h, "gf5")
        #self.graphForms.append(self.gf5)
        if self.semanticObject:
            drawText = self.semanticObject.AssociationName.toString(25, 5)
        else:
            drawText = "<AssociationName>"
        h = drawing.create_text(self.translate([66.0, 42.0]),
                                tags=self.tag,
                                text=drawText,
                                fill='black',
                                anchor='center',
                                font='{Helvetica} 10',
                                justify='left',
                                width='0',
                                stipple='')
        self.attr_display["AssociationName"] = h
        self.gf6 = GraphicalForm(drawing, h, "gf6")
        self.graphForms.append(self.gf6)
        if self.semanticObject:
            drawText = self.semanticObject.AssociationAttributes.toString(
                25, 5)
        else:
            drawText = "<AssociationAttributes>"
        h = drawing.create_text(self.translate([5.0, 54.0]),
                                tags=self.tag,
                                text=drawText,
                                fill='blue',
                                anchor='nw',
                                font='{MS Sans Serif} 8',
                                justify='left',
                                width='0',
                                stipple='')
        self.attr_display["AssociationAttributes"] = h
        self.gf3 = GraphicalForm(drawing, h, "gf3")
        self.graphForms.append(self.gf3)

    def Hide(self, params):
        if self.semanticObject.AssociationAttributes.getValue() == []:
            self.gf0.setVisible(0)
            self.gf1.setVisible(0)
            self.gf6.setVisible(0)
            self.gf3.setVisible(0)
            self.gf4.setVisible(0)
            self.gf5.setVisible(1)
        else:
            self.gf0.setVisible(1)
            self.gf1.setVisible(1)
            self.gf6.setVisible(1)
            self.gf3.setVisible(1)
            self.gf4.setVisible(1)
            self.gf5.setVisible(0)

    def postCondition(self, actionID, *params):
        if actionID == self.EDIT or actionID == self.CREATE:
            res = self.Hide(params)
            if res: return res
        return None

    def preCondition(self, actionID, *params):
        return None
Ejemplo n.º 8
0
class graph_CD_Class3(graphEntity):
    def __init__(self, x, y, semObject=None):
        self.semanticObject = semObject
        self.sizeX, self.sizeY = 192, 142
        graphEntity.__init__(self, x, y)
        self.ChangesAtRunTime = 0
        self.constraintList = []
        if self.semanticObject: atribs = self.semanticObject.attributesToDraw()
        else: atribs = None

        constObj = ATOM3Constraint(atribs, "abstractVisibility",
                                   "self.semanticObject.", [], [])
        constObj.setValue(
            ('abstractVisibility', (['Python', 'OCL'], 1),
             (['PREcondition', 'POSTcondition'], 1), ([
                 'EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT',
                 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE'
             ], [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]),
             'if self.semanticObject.Abstract.toString() == "True":\n   self.gf46.setVisible(1)\nelse:\n   self.gf46.setVisible(0)\n\n'
             ))
        self.constraintList.append(constObj)
        self.graphForms = []
        self.imageDict = self.getImageDict()

    def DrawObject(self, drawing, showGG=0):
        self.dc = drawing
        if showGG and self.semanticObject: self.drawGGLabel(drawing)
        h = drawing.create_oval(self.translate([36.0, 141.0, 36.0, 141.0]),
                                tags=(self.tag, 'connector'),
                                outline='',
                                fill='')
        self.connectors.append(h)

        h = drawing.create_oval(self.translate([76.0, 141.0, 76.0, 141.0]),
                                tags=(self.tag, 'connector'),
                                outline='',
                                fill='')
        self.connectors.append(h)

        h = drawing.create_oval(self.translate([116.0, 141.0, 116.0, 141.0]),
                                tags=(self.tag, 'connector'),
                                outline='',
                                fill='')
        self.connectors.append(h)

        h = drawing.create_oval(self.translate([156.0, 141.0, 156.0, 141.0]),
                                tags=(self.tag, 'connector'),
                                outline='',
                                fill='')
        self.connectors.append(h)

        h = drawing.create_oval(self.translate([1.0, 69.0, 1.0, 69.0]),
                                tags=(self.tag, 'connector'),
                                outline='',
                                fill='')
        self.connectors.append(h)

        h = drawing.create_oval(self.translate([1.0, 41.0, 1.0, 41.0]),
                                tags=(self.tag, 'connector'),
                                outline='',
                                fill='')
        self.connectors.append(h)

        h = drawing.create_oval(self.translate([1.0, 96.0, 1.0, 96.0]),
                                tags=(self.tag, 'connector'),
                                outline='',
                                fill='')
        self.connectors.append(h)

        h = drawing.create_oval(self.translate([1.0, 121.0, 1.0, 121.0]),
                                tags=(self.tag, 'connector'),
                                outline='',
                                fill='')
        self.connectors.append(h)

        h = drawing.create_oval(self.translate([191.0, 69.0, 191.0, 69.0]),
                                tags=(self.tag, 'connector'),
                                outline='',
                                fill='')
        self.connectors.append(h)

        h = drawing.create_oval(self.translate([191.0, 41.0, 191.0, 41.0]),
                                tags=(self.tag, 'connector'),
                                outline='',
                                fill='')
        self.connectors.append(h)

        h = drawing.create_oval(self.translate([191.0, 96.0, 191.0, 96.0]),
                                tags=(self.tag, 'connector'),
                                outline='',
                                fill='')
        self.connectors.append(h)

        h = drawing.create_oval(self.translate([191.0, 121.0, 191.0, 121.0]),
                                tags=(self.tag, 'connector'),
                                outline='',
                                fill='')
        self.connectors.append(h)

        h = drawing.create_oval(self.translate([156.0, 1.0, 156.0, 1.0]),
                                tags=(self.tag, 'connector'),
                                outline='',
                                fill='')
        self.connectors.append(h)

        h = drawing.create_oval(self.translate([116.0, 1.0, 116.0, 1.0]),
                                tags=(self.tag, 'connector'),
                                outline='',
                                fill='')
        self.connectors.append(h)

        h = drawing.create_oval(self.translate([76.0, 1.0, 76.0, 1.0]),
                                tags=(self.tag, 'connector'),
                                outline='',
                                fill='')
        self.connectors.append(h)

        h = drawing.create_oval(self.translate([36.0, 1.0, 36.0, 1.0]),
                                tags=(self.tag, 'connector'),
                                outline='',
                                fill='')
        self.connectors.append(h)

        h = drawing.create_rectangle(self.translate([1.0, 1.0, 191.0, 21.0]),
                                     tags=self.tag,
                                     stipple='',
                                     width=1,
                                     outline='black',
                                     fill='yellow')
        self.gf1 = GraphicalForm(drawing, h, "gf1")
        self.graphForms.append(self.gf1)

        h = drawing.create_rectangle(self.translate([1.0, 21.0, 191.0, 141.0]),
                                     tags=self.tag,
                                     stipple='',
                                     width=1,
                                     outline='black',
                                     fill='#f8f8f8')
        self.gf3 = GraphicalForm(drawing, h, "gf3")
        self.graphForms.append(self.gf3)

        if self.semanticObject:
            drawText = self.semanticObject.display.toString()
        else:
            drawText = "<display>"
        font = tkFont.Font(family='Helvetica',
                           size=12,
                           weight='normal',
                           slant='roman',
                           underline=0)
        h = drawing.create_text(self.translate([2.0, 24.0, 2.0, 12.0])[:2],
                                tags=self.tag,
                                font=font,
                                fill='blue1',
                                anchor='nw',
                                text=drawText,
                                width='0',
                                justify='left',
                                stipple='')
        self.attr_display["display"] = h
        self.gf4 = GraphicalForm(drawing, h, 'gf4', fontObject=font)
        self.graphForms.append(self.gf4)

        font = tkFont.Font(family='Helvetica',
                           size=9,
                           weight='normal',
                           slant='roman',
                           underline=0)
        h = drawing.create_text(self.translate([188.0, 5.0, 188.0, 9.0])[:2],
                                tags=self.tag,
                                font=font,
                                fill='black',
                                anchor='ne',
                                text='<<Abstract>>',
                                width='0',
                                justify='left',
                                stipple='')
        self.gf46 = GraphicalForm(drawing, h, 'gf46', fontObject=font)
        self.graphForms.append(self.gf46)

        if self.semanticObject: drawText = self.semanticObject.name.toString()
        else: drawText = "<name>"
        font = tkFont.Font(family='Helvetica',
                           size=12,
                           weight='bold',
                           slant='roman',
                           underline=0)
        h = drawing.create_text(self.translate([5.0, 2.0, 5.0, 12.0])[:2],
                                tags=self.tag,
                                font=font,
                                fill='black',
                                anchor='nw',
                                text=drawText,
                                width='0',
                                justify='left',
                                stipple='')
        self.attr_display["name"] = h
        self.gf63 = GraphicalForm(drawing, h, 'gf63', fontObject=font)
        self.graphForms.append(self.gf63)

    def abstractVisibility(self, params):
        if self.semanticObject.Abstract.toString() == "True":
            self.gf46.setVisible(1)
        else:
            self.gf46.setVisible(0)

    def postCondition(self, actionID, *params):
        if actionID == self.EDIT or actionID == self.CREATE:
            res = self.abstractVisibility(params)
            if res: return res
        return None

    def preCondition(self, actionID, *params):
        return None

    def getImageDict(self):
        imageDict = dict()

        return imageDict
Ejemplo n.º 9
0
class graph_AtomClass(graphEntity):

    def __init__(self, x, y, semObject = None):
        self.semanticObject = semObject
        self.sizeX, self.sizeY = 149, 71
        graphEntity.__init__(self, x, y)
        self.ChangesAtRunTime = 0
        self.constraintList = []
        if self.semanticObject: atribs = self.semanticObject.attributesToDraw()
        else: atribs = None
        constObj = ATOM3Constraint(atribs,"Abstract","self.semanticObject.", [], [])
        constObj.setValue(('Abstract', (['Python', 'OCL'], 0), (['PREcondition', 'POSTcondition'], 1), (['EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT', 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE'], [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]), 'if self.semanticObject.Abstract.toString() == "True":\012   self.gf4.setVisible(1)\012else:\012   self.gf4.setVisible(0)\012\012\012'))
        self.constraintList.append(constObj)

        self.graphForms = []

    def DrawObject(self, drawing, showGG = 0):
        self.dc = drawing
        if showGG and self.semanticObject: self.drawGGLabel(drawing)
        h = drawing.create_oval(self.translate([91.0, 68.0, 91.0, 68.0]), tags = (self.tag, "connector"), fill= 'red', outline= 'black', width= '1.0', stipple= '')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([146.0, 50.0, 146.0, 50.0]), tags = (self.tag, "connector"), fill= 'red', outline= 'black', width= '1.0', stipple= '')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([93.0, 3.0, 93.0, 3.0]), tags = (self.tag, "connector"), fill= 'red', outline= 'black', width= '1.0', stipple= '')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([3.0, 51.0, 3.0, 51.0]), tags = (self.tag, "connector"), fill= 'red', outline= 'black', width= '1.0', stipple= '')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([3.0, 20.0, 3.0, 20.0]), tags = (self.tag, "connector"), fill= 'red', outline= 'black', width= '1.0', stipple= '')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([21.0, 68.0, 21.0, 68.0]), tags = (self.tag, "connector"), fill= 'red', outline= 'black', width= '1.0', stipple= '')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([55.0, 68.0, 55.0, 68.0]), tags = (self.tag, "connector"), fill= 'red', outline= 'black', width= '1.0', stipple= '')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([126.0, 67.0, 126.0, 67.0]), tags = (self.tag, "connector"), fill= 'red', outline= 'black', width= '1.0', stipple= '')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([56.0, 3.0, 56.0, 3.0]), tags = (self.tag, "connector"), fill= 'red', outline= 'black', width= '1.0', stipple= '')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([146.0, 21.0, 146.0, 21.0]), tags = (self.tag, "connector"), fill= 'red', outline= 'black', width= '1.0', stipple= '')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([125.0, 3.0, 125.0, 3.0]), tags = (self.tag, "connector"), fill= 'red', outline= 'black', width= '1.0', stipple= '')
        self.connectors.append(h)
        h = drawing.create_oval(self.translate([22.0, 3.0, 22.0, 3.0]), tags = (self.tag, "connector"), fill= 'red', outline= 'black', width= '1.0', stipple= '')
        self.connectors.append(h)
        h = drawing.create_rectangle(self.translate([5.0, 5.0, 144.0, 22.0]), tags = self.tag, fill= 'yellow', outline= 'black', width= '1.0', stipple= '')
        self.gf3 = GraphicalForm(drawing, h, "gf3")
        self.graphForms.append(self.gf3)
        h = drawing.create_text(self.translate([126.0, 13.0]), tags = self.tag, fill= 'black', anchor= 'center', font= 'Helvetica -10', text= '{Abstr.}', justify= 'left', width= '0', stipple= '')
        self.gf4 = GraphicalForm(drawing, h, "gf4")
        self.graphForms.append(self.gf4)
        h = drawing.create_rectangle(self.translate([5.0, 21.0, 144.0, 65.0]), tags = self.tag, fill= 'lightyellow', outline= 'black', width= '1.0', stipple= '')
        self.gf5 = GraphicalForm(drawing, h, "gf5")
        self.graphForms.append(self.gf5)
        if self.semanticObject: drawText = self.semanticObject.ClassName.toString(25,5)
        else: drawText = "<ClassName>"
        h = drawing.create_text(self.translate([9.0, 6.0]), tags = self.tag, text = drawText, fill= 'Black', anchor= 'nw', font= 'Helvetica -11', justify= 'left', width= '0', stipple= '')
        self.attr_display["ClassName"] = h
        self.gf6 = GraphicalForm(drawing, h, "gf6")
        self.graphForms.append(self.gf6)
        if self.semanticObject: drawText = self.semanticObject.ClassAttributes.toString(25,5)
        else: drawText = "<ClassAttributes>"
        h = drawing.create_text(self.translate([9.0, 23.0]), tags = self.tag, text = drawText, fill= 'blue', anchor= 'nw', font= 'Helvetica -10', justify= 'left', width= '0', stipple= '')
        self.attr_display["ClassAttributes"] = h
        self.gf7 = GraphicalForm(drawing, h, "gf7")
        self.graphForms.append(self.gf7)

    def Abstract(self,params):
       if self.semanticObject.Abstract.toString() == "True":
          self.gf4.setVisible(1)
       else:
          self.gf4.setVisible(0)
       
       
       

    def postCondition (self, actionID, * params):
       if actionID ==  self.EDIT or actionID == self.CREATE:
         res = self.Abstract(params)
         if res: return res
       return None

    def preCondition (self, actionID, * params):
       return None
Ejemplo n.º 10
0
class graph_CD_Class3(graphEntity):

    def __init__(self, x, y, semObject = None):
        self.semanticObject = semObject
        self.sizeX, self.sizeY = 192, 142
        graphEntity.__init__(self, x, y)
        self.ChangesAtRunTime = 0
        self.constraintList = []
        if self.semanticObject: atribs = self.semanticObject.attributesToDraw()
        else: atribs = None

        constObj = ATOM3Constraint(atribs,"abstractVisibility","self.semanticObject.", [], [])
        constObj.setValue(('abstractVisibility', (['Python', 'OCL'], 1), (['PREcondition', 'POSTcondition'], 1), (['EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT', 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE'], [1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0]), 'if self.semanticObject.Abstract.toString() == "True":\n   self.gf46.setVisible(1)\nelse:\n   self.gf46.setVisible(0)\n\n'))
        self.constraintList.append(constObj)
        self.graphForms = []
        self.imageDict = self.getImageDict()

    def DrawObject(self, drawing, showGG = 0):
        self.dc = drawing
        if showGG and self.semanticObject: self.drawGGLabel(drawing)
        h = drawing.create_oval(self.translate([36.0, 141.0, 36.0, 141.0]), tags = (self.tag, 'connector'), outline = '', fill = '' )
        self.connectors.append( h )

        h = drawing.create_oval(self.translate([76.0, 141.0, 76.0, 141.0]), tags = (self.tag, 'connector'), outline = '', fill = '' )
        self.connectors.append( h )

        h = drawing.create_oval(self.translate([116.0, 141.0, 116.0, 141.0]), tags = (self.tag, 'connector'), outline = '', fill = '' )
        self.connectors.append( h )

        h = drawing.create_oval(self.translate([156.0, 141.0, 156.0, 141.0]), tags = (self.tag, 'connector'), outline = '', fill = '' )
        self.connectors.append( h )

        h = drawing.create_oval(self.translate([1.0, 69.0, 1.0, 69.0]), tags = (self.tag, 'connector'), outline = '', fill = '' )
        self.connectors.append( h )

        h = drawing.create_oval(self.translate([1.0, 41.0, 1.0, 41.0]), tags = (self.tag, 'connector'), outline = '', fill = '' )
        self.connectors.append( h )

        h = drawing.create_oval(self.translate([1.0, 96.0, 1.0, 96.0]), tags = (self.tag, 'connector'), outline = '', fill = '' )
        self.connectors.append( h )

        h = drawing.create_oval(self.translate([1.0, 121.0, 1.0, 121.0]), tags = (self.tag, 'connector'), outline = '', fill = '' )
        self.connectors.append( h )

        h = drawing.create_oval(self.translate([191.0, 69.0, 191.0, 69.0]), tags = (self.tag, 'connector'), outline = '', fill = '' )
        self.connectors.append( h )

        h = drawing.create_oval(self.translate([191.0, 41.0, 191.0, 41.0]), tags = (self.tag, 'connector'), outline = '', fill = '' )
        self.connectors.append( h )

        h = drawing.create_oval(self.translate([191.0, 96.0, 191.0, 96.0]), tags = (self.tag, 'connector'), outline = '', fill = '' )
        self.connectors.append( h )

        h = drawing.create_oval(self.translate([191.0, 121.0, 191.0, 121.0]), tags = (self.tag, 'connector'), outline = '', fill = '' )
        self.connectors.append( h )

        h = drawing.create_oval(self.translate([156.0, 1.0, 156.0, 1.0]), tags = (self.tag, 'connector'), outline = '', fill = '' )
        self.connectors.append( h )

        h = drawing.create_oval(self.translate([116.0, 1.0, 116.0, 1.0]), tags = (self.tag, 'connector'), outline = '', fill = '' )
        self.connectors.append( h )

        h = drawing.create_oval(self.translate([76.0, 1.0, 76.0, 1.0]), tags = (self.tag, 'connector'), outline = '', fill = '' )
        self.connectors.append( h )

        h = drawing.create_oval(self.translate([36.0, 1.0, 36.0, 1.0]), tags = (self.tag, 'connector'), outline = '', fill = '' )
        self.connectors.append( h )

        h = drawing.create_rectangle(self.translate([1.0, 1.0, 191.0, 21.0]), tags = self.tag, stipple = '', width = 1, outline = 'black', fill = 'yellow')
        self.gf1 = GraphicalForm(drawing, h, "gf1")
        self.graphForms.append(self.gf1)

        h = drawing.create_rectangle(self.translate([1.0, 21.0, 191.0, 141.0]), tags = self.tag, stipple = '', width = 1, outline = 'black', fill = '#f8f8f8')
        self.gf3 = GraphicalForm(drawing, h, "gf3")
        self.graphForms.append(self.gf3)

        if self.semanticObject: drawText = self.semanticObject.display.toString()
        else: drawText = "<display>"
        font = tkFont.Font( family='Helvetica', size=12, weight='normal', slant='roman', underline=0)
        h = drawing.create_text(self.translate([2.0, 24.0, 2.0, 12.0])[:2], tags = self.tag, font=font, fill = 'blue1', anchor = 'nw', text = drawText, width = '0', justify= 'left', stipple='' )
        self.attr_display["display"] = h
        self.gf4 = GraphicalForm(drawing, h, 'gf4', fontObject=font)
        self.graphForms.append(self.gf4)

        font = tkFont.Font( family='Helvetica', size=9, weight='normal', slant='roman', underline=0)
        h = drawing.create_text(self.translate([188.0, 5.0, 188.0, 9.0])[:2], tags = self.tag, font=font, fill = 'black', anchor = 'ne', text = '<<Abstract>>', width = '0', justify= 'left', stipple='' )
        self.gf46 = GraphicalForm(drawing, h, 'gf46', fontObject=font)
        self.graphForms.append(self.gf46)

        if self.semanticObject: drawText = self.semanticObject.name.toString()
        else: drawText = "<name>"
        font = tkFont.Font( family='Helvetica', size=12, weight='bold', slant='roman', underline=0)
        h = drawing.create_text(self.translate([5.0, 2.0, 5.0, 12.0])[:2], tags = self.tag, font=font, fill = 'black', anchor = 'nw', text = drawText, width = '0', justify= 'left', stipple='' )
        self.attr_display["name"] = h
        self.gf63 = GraphicalForm(drawing, h, 'gf63', fontObject=font)
        self.graphForms.append(self.gf63)


    def abstractVisibility(self,params):
        if self.semanticObject.Abstract.toString() == "True":
           self.gf46.setVisible(1)
        else:
           self.gf46.setVisible(0)
        
        

    def postCondition( self, actionID, * params):
        if actionID ==  self.EDIT or actionID == self.CREATE:
             res = self.abstractVisibility(params)
             if res: return res
        return None

    def preCondition( self, actionID, * params):
        return None

    def getImageDict( self ):
        imageDict = dict()

        return imageDict