gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] gzz ./Makefile metacode/umlhelper.mp metacode/u...


From: Asko Soukka
Subject: [Gzz-commits] gzz ./Makefile metacode/umlhelper.mp metacode/u...
Date: Thu, 19 Dec 2002 17:24:43 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Asko Soukka <address@hidden>    02/12/19 17:24:42

Modified files:
        .              : Makefile 
        metacode       : umlhelper.mp umlrst.py umltool.py 

Log message:
        implicit+focus

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/Makefile.diff?tr1=1.227&tr2=1.228&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/metacode/umlhelper.mp.diff?tr1=1.12&tr2=1.13&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/metacode/umlrst.py.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/metacode/umltool.py.diff?tr1=1.7&tr2=1.8&r1=text&r2=text

Patches:
Index: gzz/Makefile
diff -u gzz/Makefile:1.227 gzz/Makefile:1.228
--- gzz/Makefile:1.227  Thu Dec 19 10:02:33 2002
+++ gzz/Makefile        Thu Dec 19 17:24:42 2002
@@ -287,7 +287,7 @@
        gcj-3.0 --main=(mainclass) -o gzigzag $(SRC)
 
 # doc: pegs javadoc documl docxx
-doc: pegs javadoc documl docxx
+doc: pegs javadoc docxx documl
 
 javadoc: ready_to_compile
        find . -name '*.class' | xargs rm -f # Don't let javadoc see these
Index: gzz/metacode/umlhelper.mp
diff -u gzz/metacode/umlhelper.mp:1.12 gzz/metacode/umlhelper.mp:1.13
--- gzz/metacode/umlhelper.mp:1.12      Thu Aug 29 07:04:17 2002
+++ gzz/metacode/umlhelper.mp   Thu Dec 19 17:24:42 2002
@@ -292,9 +292,12 @@
 vardef strpair(expr p) =
     (decimal((xpart(p))) & "," & decimal((ypart(p))) )
 enddef;
-
 vardef showjlink(expr name, p) =
     fill p withcolor (0.8, 0.9, 1);
+    showjlinksize(name, p);
+enddef;
+vardef showfocus(expr name, p) =
+    fill p withcolor (1, 0.9, 0.8);
     showjlinksize(name, p);
 enddef;
 vardef showjlinksize(expr name, p) =
Index: gzz/metacode/umlrst.py
diff -u gzz/metacode/umlrst.py:1.9 gzz/metacode/umlrst.py:1.10
--- gzz/metacode/umlrst.py:1.9  Thu Dec 19 11:13:18 2002
+++ gzz/metacode/umlrst.py      Thu Dec 19 17:24:42 2002
@@ -95,11 +95,8 @@
 
 docutils.parsers.rst.directives._directives['uml-refer'] = uml_refer_directive
 
-def create_diagram(diagram):
-    return (umltool.run(diagram))
-
-def create_diagram(diagram_orig, diagram_copy="", zoom=100):
-    return (umltool.run(diagram_orig, diagram_copy, zoom))
+def create_diagram(diagram_orig, diagram_dest="", scale=1.0):
+    return (umltool.run(diagram_orig, diagram_dest, scale))
 
 def embed_diagram(path):
     if not umltool.settings.has_key('to_root'):
@@ -127,7 +124,7 @@
 
             implicit_targets = create_diagram(prefix)
             for target in implicit_targets:
-                embed_implicit(name, target) 
+                embed_implicit(path, name, target) 
 
             assert 
(os.path.isfile(umltool.settings['tmpdir']+"/"+name+".gen.html")\
                    and 
os.path.isfile(umltool.settings['tmpdir']+"/"+name+".gen.png")),\
@@ -146,14 +143,29 @@
         out.write(html)
         out.close()
 
-def embed_implicit(name, path):
+def embed_implicit(oldpath, name, path):
     """Terrible kludge to embed named diagram into path document
        with correct imagemap."""
+
+    #correcting relative paths
+    path = path.replace(umltool.settings['to_javadoc'],
+                 umltool.settings['javadoc'])
+    path = path.replace("#package_description", "")
+    if path.find(umltool.settings['javadoc']) == -1:
+        slash = oldpath.rfind("/")
+        if slash != -1:
+            path = (oldpath[0:slash+1] + path).replace("//", "/")
+
     tmp = umltool.settings.copy()
     umltool.set_to_root(path)
-    
+    slash = oldpath.rfind("/")
+    if slash != -1:
+        umltool.settings['to_context'] = umltool.merge_paths(path, 
oldpath[0:slash])
+    else: umltool.settings['to_context'] = umltool.merge_paths(path, oldpath)
+
     #the second pass - adds uml into html
     if path.endswith(".rst"): path = path[0:len(path)-4]
+    if path.endswith(".html"): path = path[0:len(path)-5]
     if os.path.isfile(path+".html"):
         html = open(path+".html").read()
         insert = html.upper().find("</H1>")
@@ -173,7 +185,9 @@
             print "Embedding %s into %s" % (name, path)
 
             new_prefix = name+"_"+path.replace("/","_")
-            create_diagram(old_prefix, new_prefix, 100)
+            if new_prefix.endswith(".gen"):
+                new_prefix = new_prefix[0:len(new_prefix)-4]
+            create_diagram(old_prefix, new_prefix, 1.0)
         
             #Cut&Pastes imagemap into html
             imgmap = 
open(umltool.settings['tmpdir']+"/"+new_prefix+".gen.html").read()
Index: gzz/metacode/umltool.py
diff -u gzz/metacode/umltool.py:1.7 gzz/metacode/umltool.py:1.8
--- gzz/metacode/umltool.py:1.7 Thu Dec 19 11:13:18 2002
+++ gzz/metacode/umltool.py     Thu Dec 19 17:24:42 2002
@@ -108,7 +108,19 @@
        return self.name
     def jlinkstr(self, box):
        if self.jlink != None:
-           return 'showjlink("'+self.jlink+'", ('+box+'));'
+            """ If focus is set and matches, focus jlink. """
+            #trimming jlink to comparable
+            name = self.jlink
+            if name.rfind("#") != -1:
+                name = name[0:name.rfind("#")]
+            if name.endswith(".html"): name = name[0:len(name)-5]
+            if name.endswith(".gen"): name = name[0:len(name)-4]
+            #comparing
+            if settings.has_key('focus') and (\
+                  settings['focus'].find("_"+self.name.replace(".", "_")+".") 
!= -1 or \
+                  settings['focus'].find("_"+self.name.replace(".", 
"_")+"_package") != -1):
+                return 'showfocus("'+self.jlink+'", ('+box+'));'
+            return 'showjlink("'+self.jlink+'", ('+box+'));'
        return ""
     def repl(self, s):
        s = s.replace("%%", self.var)
@@ -662,16 +674,19 @@
            mapper(self.corners[2], self.corners[3]) 
        )]
        print "Mapped: ", self.corners
-    def getTarget(self):
-        """Returns jlink's target with "full path",
-        but without .foo postfix."""
-       ts = self.name.split(".")
-        target = (settings['javadoc']+"/"+"/".join(ts)) 
-        return (target)
-    def imgmapanchor(self, zoom=100):
+    def target(self): 
+        """Returns target file of the jlink with
+           path from the current directory."""
        ts = self.name.split(".")
        if re.search("html", ts[-1]):
-           target = self.name
+            if (settings.has_key('to_context')):
+                if settings['to_context'].endswith("/"):
+                    target = settings['to_context']+self.name
+                else:
+                    target = settings['to_context']+"/"+self.name
+                while target.startswith("/"):
+                    target = target[1:len(target)]
+            else: target = self.name
        elif re.match("^[a-z]", ts[-1]):
            target = (settings['to_javadoc']+"/"\
                       +"/".join(ts) 
@@ -680,10 +695,14 @@
            target = (settings['to_javadoc']+"/"\
                       +"/".join(ts)
                       + ".html")
-       return """<area href="%s" shape="rect" coords="%s" target="_top" 
title="%s" alt="%s" />\n""" % (
-           target, ",".join(["%s"%(int(c*(zoom*0.01))) for c in 
self.corners]), self.name, self.name)
+        return (target)
+    def imgmapanchor(self, scale=1.0):
+       return """<area href="%s" shape="rect" coords="%s" target="_top" 
title="%s" alt="%s" />\n""" \
+               % (self.target(),
+                  ",".join(["%s"%(int(c*1.0)) for c in self.corners]),
+                  self.name,
+                  self.name)
        
-
 def roundDown(x):
     return int(float(x) - 5)
 def roundUp(x):
@@ -706,10 +725,12 @@
                "-xsize", self.w * scale, "-ysize", self.h * scale,
                "-xborder", 0, "-yborder", 0]]
 
-def run(prefix_in, prefix_out="", zoom=100):
+def run(prefix_in, prefix_out="", scale=1.0):
     if prefix_out == "": prefix_out = prefix_in
     if not prefix_out.endswith(".gen"): prefix_out = prefix_out + ".gen"
 
+    settings['focus'] = prefix_out;
+
     if settings.has_key('tmpdir'):
         path = settings['tmpdir'] + "/"
     else: path = '';
@@ -788,12 +809,12 @@
        </HTML>
        """ % { "prefix_in": prefix_in,
                "filename": prefix_out+".png",
-               "links": " ".join([l.imgmapanchor(zoom) for l in links]) }
+               "links": " ".join([l.imgmapanchor(scale) for l in links]) }
     html = open(path+prefix_out+".html", "w")
     html.write(htmlcode)
     html.close()
 
     targets = []
     for l in links:
-        targets.append(l.getTarget())
+        targets.append(l.target())
     return targets



reply via email to

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