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
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
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
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
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
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
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