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 DrawObject(self, drawing, showGG=0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) self.image_gf0 = PhotoImage(format='gif', data=self.imageDict['p.gif']) h = drawing.create_image(self.translate([25.0, 25.0]), tags=self.tag, image=self.image_gf0) self.gf0 = GraphicalForm(drawing, h, 'gf0', 'p.gif') self.graphForms.append(self.gf0) h = drawing.create_oval(self.translate([25.0, 0.0, 25.0, 0.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) if self.semanticObject: drawText = self.semanticObject.Name.toString() else: drawText = "<Name>" font = tkFont.Font(family='Helvetica', size=12, weight='normal', slant='roman', underline=0) h = drawing.create_text(self.translate([40.0, 60.0, 40.0, 46.0])[:2], tags=self.tag, font=font, fill='black', anchor='center', text=drawText, width='0', justify='left', stipple='') self.attr_display["Name"] = h self.gf2 = GraphicalForm(drawing, h, 'gf2', fontObject=font) self.graphForms.append(self.gf2)
def DrawObject(self, drawing, showGG = 0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) h = drawing.create_rectangle(self.translate([3.0, 10.0, 8.0, 28.0]), tags = self.tag, stipple= '', width= '1.0', outline= 'black', fill= '') self.gf1 = GraphicalForm(drawing, h, "gf1") self.graphForms.append(self.gf1) h = drawing.create_polygon(self.translate([8.0, 10.0, 16.0, 2.0, 16.0, 36.0, 8.0, 28.0, 8.0, 28.0]), tags = self.tag, stipple= '', width= '1.0', splinesteps= '12', outline= 'black', smooth= 0, fill= '') self.gf8 = GraphicalForm(drawing, h, "gf8") self.graphForms.append(self.gf8) h = drawing.create_oval(self.translate([16.0, 3.0, 16.0, 3.0]), tags = (self.tag, "connector"), stipple= '', width= '1.0', outline= 'black', fill= 'red') self.connectors.append(h) h = drawing.create_oval(self.translate([16.0, 36.0, 16.0, 36.0]), tags = (self.tag, "connector"), stipple= '', width= '1.0', outline= 'black', fill= 'red') self.connectors.append(h) h = drawing.create_oval(self.translate([16.0, 11.0, 16.0, 11.0]), tags = (self.tag, "connector"), stipple= '', width= '1.0', outline= 'black', fill= 'red') self.connectors.append(h) h = drawing.create_oval(self.translate([16.0, 20.0, 16.0, 20.0]), tags = (self.tag, "connector"), stipple= '', width= '1.0', outline= 'black', fill= 'red') self.connectors.append(h) h = drawing.create_oval(self.translate([16.0, 28.0, 16.0, 28.0]), tags = (self.tag, "connector"), stipple= '', width= '1.0', outline= 'black', fill= 'red') self.connectors.append(h) if self.semanticObject: drawText = self.semanticObject.name.toString(25,5) else: drawText = "<name>" h = drawing.create_text(self.translate([23.0, 44.0]), tags = self.tag, text = drawText, stipple= '', width= '0', fill= 'blue', font= 'Helvetica -12', anchor= 'center', justify= 'left') self.attr_display["name"] = h self.gf2 = GraphicalForm(drawing, h, "gf2") self.graphForms.append(self.gf2)
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 DrawObject(self, drawing, showGG=0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) h = drawing.create_polygon(self.translate([ 13.0, 3.0, 28.0, 3.0, 35.0, 18.0, 28.0, 33.0, 13.0, 33.0, 6.0, 18.0 ]), tags=self.tag, fill='lightgreen', outline='black', smooth=0, splinesteps='12', width='1.0', stipple='') self.gf1 = GraphicalForm(drawing, h, "gf1") self.graphForms.append(self.gf1) h = drawing.create_oval(self.translate([20.0, 33.0, 20.0, 33.0]), tags=(self.tag, "connector"), fill='red', outline='black', width='1.0', stipple='') self.connectors.append(h) h = drawing.create_oval(self.translate([20.0, 3.0, 20.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([35.0, 18.0, 35.0, 18.0]), tags=(self.tag, "connector"), fill='red', outline='black', width='1.0', stipple='') self.connectors.append(h) h = drawing.create_oval(self.translate([6.0, 18.0, 6.0, 18.0]), tags=(self.tag, "connector"), fill='red', outline='black', width='1.0', stipple='') self.connectors.append(h) if self.semanticObject: drawText = self.semanticObject.type.toString(25, 5) else: drawText = "<type>" h = drawing.create_text(self.translate([20.0, 18.0]), tags=self.tag, text=drawText, fill='blue', anchor='center', font='Helvetica -12', justify='left', width='0', stipple='') self.attr_display["type"] = h self.gf2 = GraphicalForm(drawing, h, "gf2") self.graphForms.append(self.gf2)
def DrawObject(self, drawing): self.dc = drawing h = drawing.create_oval(self.translate([19.0, 4.0, 107.0, 94.0]), tags = self.tag, fill = "", outline = "black") self.gf0 = GraphicalForm(drawing, h, "gf0") self.graphForms.append(self.gf0) h = drawing.create_rectangle(self.translate([1.0, 1.0, 118.0, 98.0]), tags = self.tag, fill = "", outline = "black") self.gf1 = GraphicalForm(drawing, h, "gf1") self.graphForms.append(self.gf1)
class graph_AtomInheritance_2ndLink(graphEntity): def __init__(self, x, y, semObject=None): self.semanticObject = semObject self.sizeX, self.sizeY = 28, 30 graphEntity.__init__(self, x, y) self.ChangesAtRunTime = 0 self.constraintList = [] if self.semanticObject: atribs = self.semanticObject.attributesToDraw() else: atribs = None constObj = ATOM3Constraint(atribs, "lift", "self.semanticObject.", [], []) constObj.setValue( ('lift', (['Python', 'OCL'], 0), (['PREcondition', 'POSTcondition'], 1), ([ 'EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT', 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE' ], [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0]), 'self.gf0.lift()\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_polygon(self.translate( [9.0, 2.0, 2.0, 22.0, 19.0, 22.0, 19.0, 22.0]), tags=self.tag, fill='lightyellow', outline='black', smooth=0, splinesteps='12', width='1.0', stipple='') self.gf0 = GraphicalForm(drawing, h, "gf0") self.graphForms.append(self.gf0) h = drawing.create_oval(self.translate([11.0, 15.0, 11.0, 15.0]), tags=(self.tag, "connector"), fill='red', outline='black', width='1.0', stipple='') self.connectors.append(h) def lift(self, params): self.gf0.lift() def postCondition(self, actionID, *params): if actionID == self.CREATE or actionID == self.CONNECT: res = self.lift(params) if res: return res return None def preCondition(self, actionID, *params): return None
def DrawObject(self, drawing, showGG=0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) h = drawing.create_oval(self.translate([21.0, 3.0, 21.0, 3.0]), tags=(self.tag, "connector"), stipple='', width='1.0', outline='black', fill='red') self.connectors.append(h) h = drawing.create_oval(self.translate([21.0, 21.0, 21.0, 21.0]), tags=(self.tag, "connector"), stipple='', width='1.0', outline='black', fill='red') self.connectors.append(h) h = drawing.create_oval(self.translate([30.0, 12.0, 30.0, 12.0]), tags=(self.tag, "connector"), stipple='', width='1.0', outline='black', fill='red') self.connectors.append(h) h = drawing.create_oval(self.translate([13.0, 12.0, 13.0, 12.0]), tags=(self.tag, "connector"), stipple='', width='1.0', outline='black', fill='red') self.connectors.append(h) h = drawing.create_oval(self.translate([12.0, 3.0, 30.0, 21.0]), tags=self.tag, stipple='', width='2.0', outline='darkblue', fill='lightgray') self.gf3 = GraphicalForm(drawing, h, "gf3") self.graphForms.append(self.gf3) if self.semanticObject: drawText = self.semanticObject.name.toString(25, 5) else: drawText = "<name>" h = drawing.create_text(self.translate([23.0, 30.0]), tags=self.tag, text=drawText, stipple='', width='0', fill='black', font='Helvetica -12', anchor='center', justify='left') self.attr_display["name"] = h self.gf1 = GraphicalForm(drawing, h, "gf1") self.graphForms.append(self.gf1)
def DrawObject(self, drawing, showGG=0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) h = drawing.create_oval(self.translate([3.0, 3.0, 103.0, 36.0]), tags=self.tag, fill='lightyellow', outline='black', width='1.0', stipple='') self.gf0 = GraphicalForm(drawing, h, "gf0") self.graphForms.append(self.gf0) h = drawing.create_oval(self.translate([53.0, 3.0, 53.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([53.0, 36.0, 53.0, 36.0]), tags=(self.tag, "connector"), fill='red', outline='black', width='1.0', stipple='') self.connectors.append(h) h = drawing.create_oval(self.translate([104.0, 20.0, 104.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([3.0, 21.0, 3.0, 21.0]), tags=(self.tag, "connector"), fill='red', outline='black', width='1.0', stipple='') self.connectors.append(h) if self.semanticObject: drawText = self.semanticObject.Type.toString(25, 5) else: drawText = "<Type>" h = drawing.create_text(self.translate([52.0, 18.0]), tags=self.tag, text=drawText, fill='blue', anchor='center', font='Helvetica -12', justify='left', width='0', stipple='') self.attr_display["Type"] = h self.gf2 = GraphicalForm(drawing, h, "gf2") self.graphForms.append(self.gf2)
def DrawObject(self, drawing, showGG=0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) h = drawing.create_oval(self.translate([1.0, 21.0, 1.0, 21.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_rectangle(self.translate([1.0, 1.0, 80.0, 39.0]), tags=self.tag, stipple='', width=1, outline='black', fill='blue1') self.gf1 = GraphicalForm(drawing, h, "gf1") self.graphForms.append(self.gf1) h = drawing.create_oval(self.translate([38.0, 2.0, 38.0, 2.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate([81.0, 21.0, 81.0, 21.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate([42.0, 38.0, 42.0, 38.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) if self.semanticObject: drawText = self.semanticObject.name.toString() else: drawText = "<name>" font = tkFont.Font(family='Arial Narrow', size=14, weight='bold', slant='roman', underline=0) h = drawing.create_text(self.translate([41.0, 21.0, 41.0, 25.0])[:2], tags=self.tag, font=font, fill='gray', anchor='center', text=drawText, width='0', justify='left', stipple='') self.attr_display["name"] = h self.gf2 = GraphicalForm(drawing, h, 'gf2', fontObject=font) self.graphForms.append(self.gf2)
def DrawObject(self, drawing, showGG=0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) h = drawing.create_oval(self.translate([34.0, 72.0, 34.0, 72.0]), tags=(self.tag, "connector"), stipple='', width='1.0', outline='black', fill='red') self.connectors.append(h) h = drawing.create_oval(self.translate([5.0, 43.0, 5.0, 43.0]), tags=(self.tag, "connector"), stipple='', width='1.0', outline='black', fill='red') self.connectors.append(h) h = drawing.create_oval(self.translate([62.0, 44.0, 62.0, 44.0]), tags=(self.tag, "connector"), stipple='', width='1.0', outline='black', fill='red') self.connectors.append(h) h = drawing.create_oval(self.translate([32.0, 16.0, 32.0, 16.0]), tags=(self.tag, "connector"), stipple='', width='1.0', outline='black', fill='red') self.connectors.append(h) h = drawing.create_rectangle(self.translate([5.0, 16.0, 62.0, 72.0]), tags=self.tag, stipple='', width='2.0', outline='DARKGRAY', fill='') self.gf5 = GraphicalForm(drawing, h, "gf5") self.graphForms.append(self.gf5) if self.semanticObject: drawText = self.semanticObject.name.toString(25, 5) else: drawText = "<name>" h = drawing.create_text(self.translate([23.0, 7.0]), tags=self.tag, text=drawText, stipple='', width='0', fill='black', font='Helvetica -12', anchor='center', justify='left') self.attr_display["name"] = h self.gf1 = GraphicalForm(drawing, h, "gf1") self.graphForms.append(self.gf1)
def DrawObject(self, drawing, showGG=0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) h = drawing.create_oval(self.translate([19.0, 8.0, 19.0, 8.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate([53.0, 8.0, 53.0, 8.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate([50.0, 1.0, 50.0, 1.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate([20.0, 1.0, 20.0, 1.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_rectangle(self.translate([0.0, 0.0, 74.0, 9.0]), tags=self.tag, stipple='', width=1, outline='', fill='black') self.gf6 = GraphicalForm(drawing, h, "gf6") self.graphForms.append(self.gf6) if self.semanticObject: drawText = self.semanticObject.name.toString() else: drawText = "<name>" font = tkFont.Font(family='Helvetica', size=12, weight='normal', slant='roman', underline=0) h = drawing.create_text(self.translate([120.0, 0.0, 120.0, -5.0])[:2], tags=self.tag, font=font, fill='black', anchor='center', text=drawText, width='0', justify='left', stipple='') self.attr_display["name"] = h self.gf7 = GraphicalForm(drawing, h, 'gf7', fontObject=font) self.graphForms.append(self.gf7)
def DrawObject(self, drawing, showGG=0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) h = drawing.create_rectangle(self.translate([2.0, 1.0, 103.0, 43.0]), tags=self.tag, fill='gray', outline='black', width='1.0', stipple='gray75') self.gf0 = GraphicalForm(drawing, h, "gf0") self.graphForms.append(self.gf0) h = drawing.create_line(self.translate( [7.0, 49.0, 109.0, 49.0, 109.0, 7.0, 104.0, 2.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.gf1 = GraphicalForm(drawing, h, "gf1") self.graphForms.append(self.gf1) h = drawing.create_line(self.translate([6.0, 49.0, 2.0, 44.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.gf2 = GraphicalForm(drawing, h, "gf2") self.graphForms.append(self.gf2) if self.semanticObject: drawText = self.semanticObject.Contents.toString(25, 5) else: drawText = "<Contents>" h = drawing.create_text(self.translate([51.0, 21.0]), tags=self.tag, text=drawText, fill='red', anchor='center', font='Helvetica -14', justify='left', width='0', stipple='') self.attr_display["Contents"] = h self.gf4 = GraphicalForm(drawing, h, "gf4") self.graphForms.append(self.gf4)
def DrawObject(self, drawing, showGG=0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) h = drawing.create_oval(self.translate([3.0, 3.0, 38.0, 40.0]), tags=self.tag, stipple='', width='2.0', outline='darkblue', fill='lightblue') self.gf0 = GraphicalForm(drawing, h, "gf0") self.graphForms.append(self.gf0) h = drawing.create_text(self.translate([21.0, 23.0]), tags=self.tag, stipple='', width='0', fill='black', text='C', font='Helvetica -12', anchor='center', justify='left') self.gf1 = GraphicalForm(drawing, h, "gf1") self.graphForms.append(self.gf1) h = drawing.create_oval(self.translate([21.0, 3.0, 21.0, 3.0]), tags=(self.tag, "connector"), stipple='', width='1.0', outline='black', fill='red') self.connectors.append(h) h = drawing.create_oval(self.translate([21.0, 40.0, 21.0, 40.0]), tags=(self.tag, "connector"), stipple='', width='1.0', outline='black', fill='red') self.connectors.append(h) h = drawing.create_oval(self.translate([38.0, 22.0, 38.0, 22.0]), tags=(self.tag, "connector"), stipple='', width='1.0', outline='black', fill='red') self.connectors.append(h) h = drawing.create_oval(self.translate([3.0, 22.0, 3.0, 22.0]), tags=(self.tag, "connector"), stipple='', width='1.0', outline='black', fill='red') self.connectors.append(h)
def createNewGraphicalForm(self, handle): name = "gf" + str(self.numGraphForms) self.graphFormsNames.append(name) self.numGraphForms = self.numGraphForms + 1 gf = GraphicalForm(self.drawing, handle, name) self.drawing.tag_bind(handle, "<Enter>", gf.showName) self.gfwrappers_handle[handle] = gf
def DrawObject(self, drawing, showGG = 0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) h = drawing.create_polygon(self.translate([9.0, 2.0, 2.0, 22.0, 19.0, 22.0, 19.0, 22.0]), tags = self.tag, fill= 'lightyellow', outline= 'black', smooth= 0, splinesteps= '12', width= '1.0', stipple= '') self.gf0 = GraphicalForm(drawing, h, "gf0") self.graphForms.append(self.gf0) h = drawing.create_oval(self.translate([11.0, 15.0, 11.0, 15.0]), tags = (self.tag, "connector"), fill= 'red', outline= 'black', width= '1.0', stipple= '') self.connectors.append(h)
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, 1.0, 17.0, 15.0]), tags = self.tag, stipple= '', width= '1.0', outline= 'black', fill= 'purple') self.gf0 = GraphicalForm(drawing, h, "gf0") self.graphForms.append(self.gf0) h = drawing.create_oval(self.translate([9.0, 8.0, 9.0, 8.0]), tags = (self.tag, "connector"), stipple= '', width= '1.0', outline= 'black', fill= 'red') self.connectors.append(h)
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
def DrawObject(self, drawing, showGG = 0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) if self.semanticObject: drawText = self.semanticObject.display.toString(25,5) else: drawText = "<display>" h = drawing.create_text(self.translate([28.0, 7.0]), tags = self.tag, text = drawText, stipple= '', width= '0', fill= 'blue', font= 'Helvetica -12', anchor= 'center', justify= 'left') self.attr_display["display"] = h self.gf0 = GraphicalForm(drawing, h, "gf0") self.graphForms.append(self.gf0)
def DrawObject(self, drawing, showGG=0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) h = drawing.create_oval(self.translate([-2.0, 0.0, -2.0, 0.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_polygon(self.translate([ -47.999999999999993, 0.0, 0.0, -47.999999999999993, 47.999999999999993, 0.0, 0.0, 47.999999999999993 ]), tags=self.tag, stipple='', width=1, outline='black', fill='lightyellow', smooth='False', splinesteps='12') self.gf1 = GraphicalForm(drawing, h, "gf1") self.graphForms.append(self.gf1) if self.semanticObject: drawText = self.semanticObject.name.toString(25, 5) else: drawText = "<name>" font = tkFont.Font(family='times', size=12, weight='normal', slant='roman', underline=0) h = drawing.create_text(self.translate([1.0, 0.0]), tags=self.tag, font=font, fill='blue1', anchor='center', text=drawText, justify='left', width='0', stipple='') self.attr_display["name"] = h self.gf3 = GraphicalForm(drawing, h, 'gf3', fontObject=font) self.graphForms.append(self.gf3)
def DrawObject(self, drawing, showGG = 0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) if self.semanticObject: drawText = self.semanticObject.rate.toString() else: drawText = "<rate>" font = tkFont.Font( family='Helvetica', size=12, weight='bold', slant='roman', underline=0) h = drawing.create_text(self.translate([26.0, 12.0, 26.0, 7.0])[:2], tags = self.tag, font=font, fill = 'orangered1', anchor = 'center', text = drawText, width = '0', justify= 'left', stipple='' ) self.attr_display["rate"] = h self.gf2 = GraphicalForm(drawing, h, 'gf2', fontObject=font) self.graphForms.append(self.gf2)
def DrawObject(self, drawing, showGG = 0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) if self.semanticObject: drawText = self.semanticObject.name.toString() else: drawText = "<name>" font = tkFont.Font( family='Helvetica', size=12, weight='normal', slant='roman', underline=0) h = drawing.create_text(self.translate([0.0, 0.0, 0.0, -105.0])[:2], tags = self.tag, font=font, fill = 'black', anchor = 'center', text = drawText, width = '0', justify= 'left', stipple='' ) self.attr_display["name"] = h self.gf3 = GraphicalForm(drawing, h, 'gf3', fontObject=font) self.graphForms.append(self.gf3)
def DrawObject(self, drawing, showGG=0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) h = drawing.create_oval(self.translate([114.0, 105.0, 114.0, 105.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_polygon(self.translate( [203.0, 3.0, 3.0, 3.0, 3.0, 203.0, 203.0, 203.0]), tags=self.tag, stipple='', width=3, outline='black', fill='#f2f2f2', smooth='False', splinesteps='12') self.gf5 = GraphicalForm(drawing, h, "gf5") self.graphForms.append(self.gf5) if self.semanticObject: drawText = self.semanticObject.FormalismName.toString() else: drawText = "<FormalismName>" font = tkFont.Font(family='Helvetica', size=12, weight='normal', slant='roman', underline=0) h = drawing.create_text(self.translate([4.0, 4.0, 4.0, -6.0])[:2], tags=self.tag, font=font, fill='black', anchor='nw', text=drawText, width='0', justify='left', stipple='') self.attr_display["FormalismName"] = h self.gf6 = GraphicalForm(drawing, h, 'gf6', fontObject=font) self.graphForms.append(self.gf6)
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, 1.0, 79.0, 58.0]), tags=self.tag, stipple='', width='1.0', outline='black', fill='') self.gf0 = GraphicalForm(drawing, h, "gf0") self.graphForms.append(self.gf0)
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 DrawObject(self, drawing, showGG=0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) h = drawing.create_polygon(self.translate( [9.0, 2.0, 2.0, 22.0, 19.0, 22.0, 19.0, 22.0]), tags=self.tag, fill='lightyellow', outline='black', smooth=0, splinesteps='12', width='1.0', stipple='') self.gf0 = GraphicalForm(drawing, h, "gf0") self.graphForms.append(self.gf0) h = drawing.create_oval(self.translate([11.0, 15.0, 11.0, 15.0]), tags=(self.tag, "connector"), fill='red', outline='black', width='1.0', stipple='') self.connectors.append(h)
def DrawObject(self, drawing, showGG=0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) try: self.image_gf0 = PhotoImage(file='genOOCSMP.gif') h = drawing.create_image(self.translate([1.0, 1.0]), tags=self.tag, image=self.image_gf0) self.gf0 = GraphicalForm(drawing, h, "gf0") self.graphForms.append(self.gf0) except: pass
def DrawObject(self, drawing, showGG = 0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) h = drawing.create_oval(self.translate([14.0, 15.0, 22.0, 23.0]), tags = self.tag, stipple= '', width= '1.0', outline= 'black', fill= '') self.gf2 = GraphicalForm(drawing, h, "gf2") self.graphForms.append(self.gf2) h = drawing.create_oval(self.translate([113.0, 14.0, 121.0, 22.0]), tags = self.tag, stipple= '', width= '1.0', outline= 'black', fill= '') self.gf3 = GraphicalForm(drawing, h, "gf3") self.graphForms.append(self.gf3) h = drawing.create_line(self.translate([23.0, 19.0, 113.0, 19.0]), tags = self.tag, stipple= '', width= '2.0', splinesteps= '12', arrowshape= '8 10 3', arrow= 'none', capstyle= 'butt', smooth= 0, joinstyle= 'round', fill= 'black') self.gf5 = GraphicalForm(drawing, h, "gf5") self.graphForms.append(self.gf5) if self.semanticObject: drawText = self.semanticObject.port.toString(25,5) else: drawText = "<port>" h = drawing.create_text(self.translate([18.0, 34.0]), tags = self.tag, text = drawText, stipple= '', width= '0', fill= 'blue', font= 'Helvetica -12', anchor= 'center', justify= 'left') self.attr_display["port"] = h self.gf0 = GraphicalForm(drawing, h, "gf0") self.graphForms.append(self.gf0) if self.semanticObject: drawText = self.semanticObject.server_port.toString(25,5) else: drawText = "<server_port>" h = drawing.create_text(self.translate([120.0, 34.0]), tags = self.tag, text = drawText, stipple= '', width= '0', fill= 'blue', font= 'Helvetica -12', anchor= 'center', justify= 'left') self.attr_display["server_port"] = h self.gf1 = GraphicalForm(drawing, h, "gf1") self.graphForms.append(self.gf1) if self.semanticObject: drawText = self.semanticObject.name.toString(25,5) else: drawText = "<name>" h = drawing.create_text(self.translate([70.0, 7.0]), tags = self.tag, text = drawText, stipple= '', width= '0', fill= 'blue', font= 'Helvetica -12', anchor= 'center', justify= 'left') self.attr_display["name"] = h self.gf6 = GraphicalForm(drawing, h, "gf6") self.graphForms.append(self.gf6)
class graph_AtomInheritance_2ndLink(graphEntity): def __init__(self, x, y, semObject = None): self.semanticObject = semObject self.sizeX, self.sizeY = 28, 30 graphEntity.__init__(self, x, y) self.ChangesAtRunTime = 0 self.constraintList = [] if self.semanticObject: atribs = self.semanticObject.attributesToDraw() else: atribs = None constObj = ATOM3Constraint(atribs,"lift","self.semanticObject.", [], []) constObj.setValue(('lift', (['Python', 'OCL'], 0), (['PREcondition', 'POSTcondition'], 1), (['EDIT', 'SAVE', 'CREATE', 'CONNECT', 'DELETE', 'DISCONNECT', 'TRANSFORM', 'SELECT', 'DRAG', 'DROP', 'MOVE'], [0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0]), 'self.gf0.lift()\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_polygon(self.translate([9.0, 2.0, 2.0, 22.0, 19.0, 22.0, 19.0, 22.0]), tags = self.tag, fill= 'lightyellow', outline= 'black', smooth= 0, splinesteps= '12', width= '1.0', stipple= '') self.gf0 = GraphicalForm(drawing, h, "gf0") self.graphForms.append(self.gf0) h = drawing.create_oval(self.translate([11.0, 15.0, 11.0, 15.0]), tags = (self.tag, "connector"), fill= 'red', outline= 'black', width= '1.0', stipple= '') self.connectors.append(h) def lift(self,params): self.gf0.lift() def postCondition (self, actionID, * params): if actionID == self.CREATE or actionID == self.CONNECT: res = self.lift(params) if res: return res return None def preCondition (self, actionID, * params): return None
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, 1.0, 94.0, 52.0]), tags=self.tag, stipple='', width='1.0', outline='black', fill='') self.gf0 = GraphicalForm(drawing, h, "gf0") self.graphForms.append(self.gf0) h = drawing.create_text(self.translate([48.0, 27.0]), tags=self.tag, stipple='', width='0', fill='black', text='Visual Settings', font='Helvetica -12', anchor='center', justify='left') self.gf1 = GraphicalForm(drawing, h, "gf1") self.graphForms.append(self.gf1)
def DrawObject(self, drawing, showGG=0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) h = drawing.create_oval(self.translate([1.0, 1.0, 71.0, 64.0]), tags=self.tag, stipple='', width=1, outline='black', fill='yellow') self.gf0 = GraphicalForm(drawing, h, "gf0") self.graphForms.append(self.gf0) h = drawing.create_polygon(self.translate( [81.0, 21.0, 40.0, 27.0, 64.0, 51.0]), tags=self.tag, stipple='', width=1, outline='black', fill='black', smooth='0', splinesteps='12') self.gf1 = GraphicalForm(drawing, h, "gf1") self.graphForms.append(self.gf1) h = drawing.create_oval(self.translate([21.0, 16.0, 34.0, 29.0]), tags=self.tag, stipple='', width=1, outline='black', fill='black') self.gf2 = GraphicalForm(drawing, h, "gf2") self.graphForms.append(self.gf2) h = drawing.create_oval(self.translate([39.0, 32.0, 39.0, 32.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h)
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 DrawObject(self, drawing, showGG = 0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) h = drawing.create_rectangle(self.translate([0.0, 0.0, 107.00000000000004, 19.0]), tags = self.tag, stipple = '', width = 4, outline = '', fill = 'black') self.gf3 = GraphicalForm(drawing, h, "gf3") self.graphForms.append(self.gf3) h = drawing.create_oval(self.translate([23.0, 18.0, 23.0, 18.0]), tags = (self.tag, 'connector'), outline = '', fill = '' ) self.connectors.append( h ) h = drawing.create_oval(self.translate([71.0, 19.0, 71.0, 19.0]), tags = (self.tag, 'connector'), outline = '', fill = '' ) self.connectors.append( h ) h = drawing.create_oval(self.translate([22.0, 3.0, 22.0, 3.0]), tags = (self.tag, 'connector'), outline = '', fill = '' ) self.connectors.append( h ) h = drawing.create_oval(self.translate([67.0, 1.0, 67.0, 1.0]), tags = (self.tag, 'connector'), outline = '', fill = '' ) self.connectors.append( h )
def DrawObject(self, drawing, showGG=0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) h = drawing.create_polygon(self.translate( [2.0, 2.0, 2.0, 102.0, 102.0, 102.0, 102.0, 2.0]), tags=self.tag, stipple='', width=1, outline='black', fill='skyblue1', smooth='0', splinesteps='12') self.gf2 = GraphicalForm(drawing, h, "gf2") self.graphForms.append(self.gf2) h = drawing.create_oval(self.translate([45.0, 50.0, 45.0, 50.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h)
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 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 DrawObject(self, drawing, showGG=0): self.dc = drawing if showGG and self.semanticObject: self.drawGGLabel(drawing) h = drawing.create_oval(self.translate([9.0, 49.0, 9.0, 49.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate([9.0, 69.0, 9.0, 69.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate([9.0, 89.0, 9.0, 89.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate([169.0, 29.0, 169.0, 29.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate([29.0, 109.0, 29.0, 109.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate([49.0, 109.0, 49.0, 109.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate([69.0, 109.0, 69.0, 109.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate([89.0, 109.0, 89.0, 109.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate([109.0, 109.0, 109.0, 109.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate([129.0, 109.0, 129.0, 109.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate([149.0, 109.0, 149.0, 109.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate([169.0, 49.0, 169.0, 49.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate([169.0, 69.0, 169.0, 69.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate([169.0, 89.0, 169.0, 89.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate( [29.0, 9.0000000000000284, 29.0, 9.0000000000000284]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate( [49.0, 9.0000000000000284, 49.0, 9.0000000000000284]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate( [69.0, 9.0000000000000284, 69.0, 9.0000000000000284]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate( [89.0, 9.0000000000000284, 89.0, 9.0000000000000284]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate( [109.0, 9.0000000000000284, 109.0, 9.0000000000000284]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate( [129.0, 9.0000000000000284, 129.0, 9.0000000000000284]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate( [149.0, 9.0000000000000284, 149.0, 9.0000000000000284]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_oval(self.translate([9.0, 29.0, 9.0, 29.0]), tags=(self.tag, 'connector'), outline='', fill='') self.connectors.append(h) h = drawing.create_rectangle(self.translate([9.0, 22.0, 169.5, 108.5]), tags=self.tag, stipple='', width=1, outline='black', fill='lightyellow') self.gf12 = GraphicalForm(drawing, h, "gf12") self.graphForms.append(self.gf12) h = drawing.create_rectangle(self.translate([9.0, 9.0, 169.5, 22.0]), tags=self.tag, stipple='', width=1, outline='black', fill='orange') self.gf8 = GraphicalForm(drawing, h, "gf8") self.graphForms.append(self.gf8) if self.semanticObject: drawText = self.semanticObject.name.toString() else: drawText = "<name>" font = tkFont.Font(family='Arial', size=12, weight='bold', slant='roman', underline=0) h = drawing.create_text(self.translate([88.0, 16.0, 88.0, 12.0])[:2], tags=self.tag, font=font, fill='black', anchor='center', text=drawText, width='0', justify='left', stipple='') self.attr_display["name"] = h self.gf9 = GraphicalForm(drawing, h, 'gf9', fontObject=font) self.graphForms.append(self.gf9) 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([11.0, 68.2, 11.0, 11.0])[:2], tags=self.tag, font=font, fill='blue1', anchor='w', text=drawText, width='0', justify='left', stipple='') self.attr_display["display"] = h self.gf68 = GraphicalForm(drawing, h, 'gf68', fontObject=font) self.graphForms.append(self.gf68)
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_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_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_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