[Top][All Lists]
[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):