gzz-commits
[Top][All Lists]
Advanced

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

[Gzz-commits] libvob vob/buoy/buoymanager.py org/nongnu/libvo...


From: Tuomas J. Lukka
Subject: [Gzz-commits] libvob vob/buoy/buoymanager.py org/nongnu/libvo...
Date: Mon, 11 Aug 2003 03:34:54 -0400

CVSROOT:        /cvsroot/libvob
Module name:    libvob
Branch:         
Changes by:     Tuomas J. Lukka <address@hidden>        03/08/11 03:34:54

Modified files:
        vob/buoy       : buoymanager.py 
Added files:
        org/nongnu/libvob/buoy: BuoyGeometryConfiguration.java 

Log message:
        Geometry configuration, now ready to be flexible

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/org/nongnu/libvob/buoy/BuoyGeometryConfiguration.java?rev=1.1
http://savannah.gnu.org/cgi-bin/viewcvs/libvob/libvob/vob/buoy/buoymanager.py.diff?tr1=1.44&tr2=1.45&r1=text&r2=text

Patches:
Index: libvob/vob/buoy/buoymanager.py
diff -u libvob/vob/buoy/buoymanager.py:1.44 libvob/vob/buoy/buoymanager.py:1.45
--- libvob/vob/buoy/buoymanager.py:1.44 Sat Aug  9 09:34:24 2003
+++ libvob/vob/buoy/buoymanager.py      Mon Aug 11 03:34:54 2003
@@ -24,7 +24,7 @@
 import jarray
 
 import vob
-from org.nongnu.libvob.buoy import BuoyLinkListener
+from org.nongnu.libvob.buoy import BuoyLinkListener, BuoyGeometryConfiguration
 
 from vob.putil.misc import *
 
@@ -53,6 +53,23 @@
 def pa(*s):
     print 'buoymanager::',s
 
+class DummyGeometryConfiguration(BuoyGeometryConfiguration):
+    """A dummy constant geometry.
+    """
+    def __init__(self):
+       self.buoyMainViewGeometer = vob.buoy.impl.RatioMainGeometer(
+                                       .2, .25, .6, .5)
+       self.buoySizer = vob.buoy.impl.AspectBuoySizer(400, 400, 1.5)
+       self.buoyGeometer = vob.buoy.impl.RatioBuoyOnCircleGeometer(
+                                   .1, .1, .8, .8)
+    def getMainViewGeometer(self, node):
+       return self.buoyMainViewGeometer
+    def getSizer(self, node, connector):
+       return self.buoySizer
+    def getGeometer(self, node, connector):
+       return self.buoyGeometer
+    def getGeometers(self, node):
+       return [self.buoyGeometer]
 
 pa("LOADING BUOYMANAGER")
 class SingleFocusManager(BuoyLinkListener):
@@ -70,11 +87,7 @@
        self.mainNode = mainNode
         self.connectors = connectors
 
-       self.buoySizer = vob.buoy.impl.AspectBuoySizer(400, 400, 1.5)
-       self.buoyMainViewGeometer = vob.buoy.impl.RatioMainGeometer(
-                                       .2, .25, .6, .5)
-       self.buoyGeometer = vob.buoy.impl.RatioBuoyOnCircleGeometer(
-                                   .1, .1, .8, .8)
+       self.geometryConfiguration = DummyGeometryConfiguration()
 
     def getMainNode(self):
         return self.mainNode
@@ -88,18 +101,34 @@
        self.buoyinto = buoyinto
        self.cs = { }
 
-       into = self.buoyMainViewGeometer.mainCS(vs, mainboxinto, "K", 1)
-
-       self.buoyGeometer.prepare(vs, mainboxinto, "J", 1)
+       buoyMainViewGeometer = self.geometryConfiguration\
+                               .getMainViewGeometer(self.mainNode)
+       into = buoyMainViewGeometer.mainCS(vs, mainboxinto, "K", 1)
+
+       for buoyGeometer in self.geometryConfiguration\
+                               .getGeometers(self.mainNode):
+           buoyGeometer.prepare(vs, mainboxinto, buoyGeometer, 1)
 
        self.vs.activate(into)
 
        self.mainNode.renderMain(vs, into)
 
-       self.links = []
+       self.linkCalls = []
         for connector in self.connectors:
+           self.links = []
             connector.addBuoys(vs, into, self.mainNode, self)
-       for l in self.links: self._linkReally(*l)
+           self.linkCalls.append(
+               (self.geometryConfiguration.getSizer(
+                       self.mainNode, connector),
+                self.geometryConfiguration.getGeometer(
+                       self.mainNode, connector),
+               self.links))
+
+       for l in self.linkCalls: 
+           (sizer, geometer, list) = l
+           for call in list:
+               self._linkReally(sizer, geometer, *call)
+
        self.cs[into] = None
         
         # Interpolation : old buoy -> to new main vp
@@ -113,7 +142,7 @@
     def link(self, *args):
        self.links.append(args)
 
-    def _linkReally(self, direction, anchorCS, otherNode, linkId, otherAnchor, 
shift=0):
+    def _linkReally(self, sizer, geometer, direction, anchorCS, otherNode, 
linkId, otherAnchor, shift=0):
        """Create the real buoy.
        """
         if dbg: pa('link really')
@@ -121,14 +150,14 @@
        #### Buoy size
        obj = otherNode.getSize(linkId, otherAnchor, size)
 
-       sca = self.buoySizer.getBuoySize(size[0], size[1], size)
+       sca = sizer.getBuoySize(size[0], size[1], size)
 
        w = size[0]
        h = size[1]
 
         if dbg: pa("BuoyScaling: ",w, h, sca)
 
-       into = self.buoyGeometer.buoyCS(self.vs, anchorCS, direction,
+       into = geometer.buoyCS(self.vs, anchorCS, direction,
                (linkId, direction),
                shift, 1,
                w, h, sca)




reply via email to

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