gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] gzz doc/pegboard/buoydesign--tjl/peg.rst gzz/vi...


From: Tuomas J. Lukka
Subject: [Gzz-commits] gzz doc/pegboard/buoydesign--tjl/peg.rst gzz/vi...
Date: Sat, 08 Feb 2003 17:13:40 -0500

CVSROOT:        /cvsroot/gzz
Module name:    gzz
Changes by:     Tuomas J. Lukka <address@hidden>        03/02/08 17:13:40

Modified files:
        doc/pegboard/buoydesign--tjl: peg.rst 
        gzz/view/buoy  : CellBuoyViewLinker.java pagespanNodes.py 

Log message:
        Some more of docs wanted by mudyc

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/doc/pegboard/buoydesign--tjl/peg.rst.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/view/buoy/CellBuoyViewLinker.java.diff?tr1=1.1&tr2=1.2&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/gzz/view/buoy/pagespanNodes.py.diff?tr1=1.21&tr2=1.22&r1=text&r2=text

Patches:
Index: gzz/doc/pegboard/buoydesign--tjl/peg.rst
diff -u gzz/doc/pegboard/buoydesign--tjl/peg.rst:1.14 
gzz/doc/pegboard/buoydesign--tjl/peg.rst:1.15
--- gzz/doc/pegboard/buoydesign--tjl/peg.rst:1.14       Tue Feb  4 03:22:05 2003
+++ gzz/doc/pegboard/buoydesign--tjl/peg.rst    Sat Feb  8 17:13:39 2003
@@ -3,8 +3,8 @@
 =============================================================
 
 :Author:   Tuomas J. Lukka
-:Last-Modified: $Date: 2003/02/04 08:22:05 $
-:Revision: $Revision: 1.14 $
+:Last-Modified: $Date: 2003/02/08 22:13:39 $
+:Revision: $Revision: 1.15 $
 :Status:   Incomplete
 
 Goals: get the xupdf and pp functionality under one model.
@@ -272,6 +272,11 @@
 and use cellviews so they can be handled by the same linking managers,
 but the scrollblocks cannot.
 
+The following diagram shows the current arrangement, where
+the pluggability is handled through the interfaces
+CellBuoyViewNodeType (where the concrete cbvnodetypes
+create their respective mainnodes) and CellBuoyViewLinker.
+
 .. UML:: SemiPluggableBuoys
 
     jlinkpackage gzz.view.buoy
@@ -279,11 +284,19 @@
     class BuoyViewNodeType "interface"
        jlink
 
+    class BuoyViewMainNode "interface"
+       jlink
+
+    class BuoyLinkListener "interface"
+       jlink
+
     class BuoyAdaptor
+       jlink
        inherit BuoyViewNodeType
        assoc multi(*) - multi(*) CellBuoyViewNodeType
 
     class BuoyAdaptor.LinkAdaptor
+       jlink
        inherit gzz.view.CellPlacementHook
        assoc multi(*) - multi(1) BuoyAdaptor
        assoc multi(*) - multi(1) BuoyLinkListener
@@ -292,38 +305,109 @@
        jlink
 
     class CellBuoyViewNodeType "interface"
+       jlink
        methods
            boolean ownsCell(Cell c)
-           void renderBuoy(VobScene vs, int into, Cell c, Object content)
-           BuoyViewMainNode createMainNode(Cell c, Object content, 
CellPlacementHook hook)
+           void renderBuoy(VobScene vs, int into, Cell c)
+           BuoyViewMainNode createMainNode(Cell c, CellPlacementHook hook)
 
-    class BuoyViewMainNode "interface"
+    class CellBuoyViewLinker "interface"
+       jlink
+       methods
+           void doLinks(Cell c, VobScene vs, int cs, 
+                                   BuoyViewNodeType cellNodeType, 
+                                   BuoyLinkListener l);
 
-    class BuoyLinkListener "interface"
 
-    class PPCanvasNode
-       inherit CellBuoyViewNodeType
 
-    class PPCanvasCursor
-       fields
-           float x, y
-           float zoom
+    class ConcreteNodeType "pseudo"
+       inherit CellBuoyViewNodeType
+    class ConcreteMainNode "pseudo"
        inherit BuoyViewMainNode
-       assoc - multi(1) gzz.view.CellPlacementHook
 
-    dep "create" PPCanvasNode PPCanvasCursor
 
-    ---
+    dep "call" ConcreteMainNode gzz.view.CellPlacementHook
+    dep "call" BuoyAdaptor.LinkAdaptor CellBuoyViewLinker
+    dep "call" CellBuoyViewLinker BuoyLinkListener
 
-    gzz.view.CellPlacementHook.c = (-200,0);
+    dep "create" ConcreteNodeType ConcreteMainNode
 
+    ---
     vertically(150, gazz, BuoyViewNodeType, BuoyViewMainNode, 
BuoyLinkListener);
+    vertically(60, foo, BuoyAdaptor, BuoyAdaptor.LinkAdaptor, 
gzz.view.CellPlacementHook);
+    vertically(300, cbv, CellBuoyViewNodeType, CellBuoyViewLinker);
+    vertically(60, conc, ConcreteNodeType, ConcreteMainNode);
 
-    vertically(30, foo, BuoyAdaptor, BuoyAdaptor.LinkAdaptor, 
gzz.view.CellPlacementHook);
-    horizontally(80, faz, BuoyViewNodeType, BuoyAdaptor, CellBuoyViewNodeType);
-    vertically(80, bar, CellBuoyViewNodeType, PPCanvasNode, PPCanvasCursor);
+    horizontally(20, groo, gazz, foo, cbv, conc);
+
+    BuoyAdaptor.c = (0,0);
 
 
 There are two different types of links that this part of the systme
 needs to know: Cell to Cell and Cell to PermaScroll.
+...
+
+In the next diagram, the classes that implement the pagespan nodes 
+and their associations to the rest of the system are shown.
+The cellNodeType BuoyViewNodeType is the node type that is to be used
+for xanalogical links to cells.
+
+..  UML:: ConcreteSemiPluggables
+
+    jlinkpackage gzz.view.buoy
+
+    class CellBuoyViewLinker "interface"
+       jlink
+    class BuoyViewNodeType "interface"
+       jlink
+    class BuoyViewMainNode "interface"
+       jlink
+
+    class ScrollblockCellLinker
+       jlink
+       inherit CellBuoyViewLinker
+       assoc - multi(1) role(transclusionNodeType) WholePageSpanNodeType
+       assoc - multi(1) role(xulinkNodeType) AnchorPageSpanNodeType
+       assoc - multi(1) role(cellNodeType) BuoyViewNodeType
+
+    class AbstractPageSpanNodeType "pyClass"
+       inherit BuoyViewNodeType
+       methods
+           createMainNode(linkId, anchorSpan, listener)
+
+    class WholePageSpanNodeType "pyClass"
+       inherit AbstractPageSpanNodeType
+    class AnchorPageSpanNodeType "pyClass"
+       inherit AbstractPageSpanNodeType
+    class PageSpanMainNode "pyClass"
+       inherit BuoyViewMainNode
+
+    dep "create" AbstractPageSpanNodeType PageSpanMainNode
+
+    ---
+    horizontally(80, inters, CellBuoyViewLinker, 
+                       BuoyViewNodeType, BuoyViewMainNode);
+    
+    horizontally(220, pspnt, WholePageSpanNodeType, AnchorPageSpanNodeType);
+
+    vertically(30, pspstuff, AbstractPageSpanNodeType, pspnt, 
PageSpanMainNode);
+
+    vertically(100, topi, inters, ScrollblockCellLinker);
+
+    AbstractPageSpanNodeType.c = ScrollblockCellLinker.c + (50, -100);
+
+
+
+Foo::
+
+    class PPCanvasNode
+       inherit CellBuoyViewNodeType
+
+    class PPCanvasCursor
+       fields
+           float x, y
+           float zoom
+       inherit BuoyViewMainNode
+
+    dep "create" PPCanvasNode PPCanvasCursor
 
Index: gzz/gzz/view/buoy/CellBuoyViewLinker.java
diff -u gzz/gzz/view/buoy/CellBuoyViewLinker.java:1.1 
gzz/gzz/view/buoy/CellBuoyViewLinker.java:1.2
--- gzz/gzz/view/buoy/CellBuoyViewLinker.java:1.1       Mon Feb  3 01:57:50 2003
+++ gzz/gzz/view/buoy/CellBuoyViewLinker.java   Sat Feb  8 17:13:40 2003
@@ -12,7 +12,8 @@
 public interface CellBuoyViewLinker {
     /** Call the BuoyLinkListener with the relevant links.
      * For links to other cells from the given cell,
-     * use cellNodeType as the BuoyViewNodeType.
+     * use cellNodeType as the BuoyViewNodeType (usually
+     * it is just the BuoyAdaptor instance).
      */
     void doLinks(Cell c, VobScene vs, int cs, 
                            BuoyViewNodeType cellNodeType, 
Index: gzz/gzz/view/buoy/pagespanNodes.py
diff -u gzz/gzz/view/buoy/pagespanNodes.py:1.21 
gzz/gzz/view/buoy/pagespanNodes.py:1.22
--- gzz/gzz/view/buoy/pagespanNodes.py:1.21     Fri Feb  7 07:49:28 2003
+++ gzz/gzz/view/buoy/pagespanNodes.py  Sat Feb  8 17:13:40 2003
@@ -20,6 +20,9 @@
     return gzz.media.impl.Enfilade1DImpl.theMaker.makeEnfilade(span)
 
 class AbstractPageSpanNodeType(BuoyViewNodeType):
+    """Just do the stuff that would be same for both
+    buoy types.
+    """
     def __init__(self, scrollBlockLinker):
        self.scrollBlockLinker = scrollBlockLinker
     def createMainNode(self, linkId, anchorSpan, listener):




reply via email to

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