gzz-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gzz-commits] gzz doc/uml/gl/renderableseq.uml metacode/uml.p...


From: Tuomas J. Lukka
Subject: [Gzz-commits] gzz doc/uml/gl/renderableseq.uml metacode/uml.p...
Date: Thu, 29 Aug 2002 07:04:18 -0400

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Tuomas J. Lukka <address@hidden>        02/08/29 07:04:18

Modified files:
        doc/uml/gl     : renderableseq.uml 
        metacode       : uml.py umlhelper.mp 

Log message:
        Destruction in seq. diagrams works

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/doc/uml/gl/renderableseq.uml.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/metacode/uml.py.diff?tr1=1.17&tr2=1.18&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/metacode/umlhelper.mp.diff?tr1=1.11&tr2=1.12&r1=text&r2=text

Patches:
Index: gzz/doc/uml/gl/renderableseq.uml
diff -c gzz/doc/uml/gl/renderableseq.uml:1.1 
gzz/doc/uml/gl/renderableseq.uml:1.2
*** gzz/doc/uml/gl/renderableseq.uml:1.1        Thu Aug 29 05:18:59 2002
--- gzz/doc/uml/gl/renderableseq.uml    Thu Aug 29 07:04:17 2002
***************
*** 9,15 ****
        call GZZGL "FOO_a_method(this.id)"
            call jnihandler "FOO_a_method(id)"
                call Foo "a method"
!     call GZZGL.Foo "finalize() - being deleted"
        call GZZGL
            call jnihandler
                delete Foo
--- 9,15 ----
        call GZZGL "FOO_a_method(this.id)"
            call jnihandler "FOO_a_method(id)"
                call Foo "a method"
!     delete GZZGL.Foo "finalize() - being deleted"
        call GZZGL
            call jnihandler
                delete Foo
Index: gzz/metacode/uml.py
diff -c gzz/metacode/uml.py:1.17 gzz/metacode/uml.py:1.18
*** gzz/metacode/uml.py:1.17    Thu Aug 29 05:18:59 2002
--- gzz/metacode/uml.py Thu Aug 29 07:04:17 2002
***************
*** 147,152 ****
--- 147,163 ----
            """ % self.__dict__;
            return s + " ".join([e.drawCode_draw() for e in self.list])
  
+     class delete(call):
+       def drawCode_measure(self):
+           s = mpsequence.call.drawCode_measure(self)
+           self.parent.seqobjsdeletes[self.targetname] = self.yl;
+           return s
+ 
+       def drawCode_draw(self):
+           s = mpsequence.call.drawCode_draw(self)
+           return (s + 
+            " sequencedestroy( %(targetx)s, %(yl)s ); " 
+                   % self.__dict__)
      class create(call):
        def measure(self):
            self.yu = self.parent.getVarForY(10,10)
***************
*** 169,174 ****
--- 180,186 ----
  
      def __init__(self, var, s, l):
        self.seqobjs = []
+       self.seqobjsdeletes = {}
        toks = s.split(" ");
        s = toks[0]
        self.var = var or s
***************
*** 183,191 ****
            s = toks[0]
            if s == "call":
                l.append(self.call(self,  sourceName, toks, el[1:]))
            elif s == "create":
                l.append(self.create(self,  sourceName, toks, el[1:]))
!           elif s == "return" or s == "delete":
                pass
            else:
                assert 0, "Must have call or return, not '"+s+"'"
--- 195,205 ----
            s = toks[0]
            if s == "call":
                l.append(self.call(self,  sourceName, toks, el[1:]))
+           elif s == "delete":
+               l.append(self.delete(self,  sourceName, toks, el[1:]))
            elif s == "create":
                l.append(self.create(self,  sourceName, toks, el[1:]))
!           elif s == "return":
                pass
            else:
                assert 0, "Must have call or return, not '"+s+"'"
***************
*** 194,199 ****
--- 208,215 ----
        return self.repl(
            " ".join([e.setupCode() for e in self.list])
            )
+     def lifeend(self, obj):
+       return self.seqobjsdeletes.get(obj, self.yvar)
      def drawCode(self):
        self.yvar = randomVar()
        self.ycode = "numeric %(yvar)s; %(yvar)s = -50;" % self.__dict__;
***************
*** 202,208 ****
        m = self.ycode
        m += " ".join([e.drawCode_measure() for e in self.list])
        m += " ".join([
!           "sequencedrawlifeline(%s, %s);" % (so, self.yvar)
                for so in self.seqobjs
        ])
        m += " ".join([e.drawCode_draw() for e in self.list])
--- 218,224 ----
        m = self.ycode
        m += " ".join([e.drawCode_measure() for e in self.list])
        m += " ".join([
!           "sequencedrawlifeline(%s, %s);" % (so, self.lifeend(so))
                for so in self.seqobjs
        ])
        m += " ".join([e.drawCode_draw() for e in self.list])
Index: gzz/metacode/umlhelper.mp
diff -c gzz/metacode/umlhelper.mp:1.11 gzz/metacode/umlhelper.mp:1.12
*** gzz/metacode/umlhelper.mp:1.11      Thu Aug 29 05:18:59 2002
--- gzz/metacode/umlhelper.mp   Thu Aug 29 07:04:17 2002
***************
*** 379,386 ****
  
  sequencecallpen = pencircle scaled 3pt;
  sequenceactivepen = pencircle scaled 1.5pt;
! pair sequencebwid;
  sequencebwid = (5,0);
  
  vardef sequenceactivation(expr u,l) =
      save rectpath;
--- 379,388 ----
  
  sequencecallpen = pencircle scaled 3pt;
  sequenceactivepen = pencircle scaled 1.5pt;
! pair sequencebwid, sequencex, sequencey;
  sequencebwid = (5,0);
+ sequencex = (15,15);
+ sequencey = (-15,15);
  
  vardef sequenceactivation(expr u,l) =
      save rectpath;
***************
*** 416,421 ****
--- 418,431 ----
     drawarrow (sourcex, starty) -- u withpen sequencecallpen;
     drawarrow l -- (sourcex, endy) withpen sequencecallpen dashed evenly;
     label.top(labelstring, 0.5[(sourcex,starty), u]);
+ enddef;
+ 
+ vardef sequencedestroy(expr x, y) =
+     save v, o;
+     pair v, o;
+     v = (x,y);
+     draw v+sequencex -- v-sequencex withpen sequencecallpen;
+     draw v+sequencey -- v-sequencey withpen sequencecallpen;
  enddef;
  
  vardef sequencecreatemeasure(expr sourcex)(suffix target)(expr starty, endy, 
labelstring) =




reply via email to

[Prev in Thread] Current Thread [Next in Thread]