fenfire-commits
[Top][All Lists]
Advanced

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

[ff-cvs] fenfire/org/fenfire demo/mm.py view/lava/mindMa...


From: Asko Soukka
Subject: [ff-cvs] fenfire/org/fenfire demo/mm.py view/lava/mindMa...
Date: Wed, 27 Aug 2003 15:19:44 -0400

CVSROOT:        /cvsroot/fenfire
Module name:    fenfire
Branch:         
Changes by:     Asko Soukka <address@hidden>    03/08/27 15:19:43

Modified files:
        org/fenfire/demo: mm.py 
        org/fenfire/view/lava: mindMapView2D.py 

Log message:
        activate CSs on fillets

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/demo/mm.py.diff?tr1=1.51&tr2=1.52&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/fenfire/fenfire/org/fenfire/view/lava/mindMapView2D.py.diff?tr1=1.51&tr2=1.52&r1=text&r2=text

Patches:
Index: fenfire/org/fenfire/demo/mm.py
diff -u fenfire/org/fenfire/demo/mm.py:1.51 fenfire/org/fenfire/demo/mm.py:1.52
--- fenfire/org/fenfire/demo/mm.py:1.51 Wed Aug 27 14:46:34 2003
+++ fenfire/org/fenfire/demo/mm.py      Wed Aug 27 15:19:43 2003
@@ -293,13 +293,24 @@
     def clicked(self, x,y):
         self.context.setSlowAnimation()
         vs = self.context.oldVS
-        node = vs.getKeyAt(0, x,y, None)
-        #p('LBM click:', node)
 
-        if node == None:
+        node = None
+        nodeCS = vs.getCSAt(0, x,y, None)
+        if nodeCS > 0:
+            node = vs.matcher.getKey(nodeCS)
+            # because enlarged CS are used to make it easier
+            # to "hit" the nodes, the real CS must be first
+            # digged out
+            parentCS = vs.matcher.getParent(nodeCS)
+            if parentCS > 1:
+                nodeCS = parentCS
+                node = vs.matcher.getKey(nodeCS)
+        else:
             self.context.c.setAccursed(None);
             return
 
+        #p('LBM click:', node)
+
         rmb = self.context.rmb_switch[0]
         main = self.context.main
         cursor = self.context.c
@@ -311,9 +322,8 @@
             self.context.c.setTextPlaceable(nodeview.f(fen.graph, node))
 
             # set cursor, transitions between zoomed and normal should be 
accounted
-            cs = vs.getCSAt(0, x,y, None)
             into = jarray.zeros(3, 'f')
-            vs.coords.transformPoints3(cs, [0,0,0], into)
+            vs.coords.transformPoints3(nodeCS, [0,0,0], into)
 
             scale = main.getFocus().getZoom()
 
Index: fenfire/org/fenfire/view/lava/mindMapView2D.py
diff -u fenfire/org/fenfire/view/lava/mindMapView2D.py:1.51 
fenfire/org/fenfire/view/lava/mindMapView2D.py:1.52
--- fenfire/org/fenfire/view/lava/mindMapView2D.py:1.51 Wed Aug 27 14:46:34 2003
+++ fenfire/org/fenfire/view/lava/mindMapView2D.py      Wed Aug 27 15:19:43 2003
@@ -128,7 +128,11 @@
         vs.matcher.add(self.floatingView.matchingParent, into, node)
         cs = vs.orthoBoxCS(into,node,0, x, y, 1,1, p.getWidth(), p.getHeight())
         p.place(vs, cs)
-        vs.coords.activate(cs)
+
+        csEnlarged = vs.coords.orthoBox(into,0, x*2, y*2, 1,1, p.getWidth()*2, 
p.getHeight()*2)
+        vs.matcher.add(cs, csEnlarged, "Enlarged_"+node)
+
+        vs.coords.activate(csEnlarged)
 
 class MindMapView2D(ff.view.View2D):
     def __init__(self, fen, context):
@@ -244,4 +248,19 @@
         cs = vs.orthoBoxCS(into, node,0, x,y, textScale, textScale, 
p.getWidth(), p.getHeight())
         p.place(vs, cs)
 
-        vs.coords.activate(cs)
+
+        ## XXX This could work, but setting TextCursor after selecting, would 
be difficult  
+        # set the active coordinate system coverage  
+        if x > -self.filletWidth/2:  
+            x = -self.filletWidth/2
+            w = self.filletWidth*scale*2
+        else: w = p.getWidth()*textScale  
+        if y > -self.filletWidth/2:  
+            y = -self.filletWidth/2
+            h = self.filletWidth*scale*2
+        else: h = p.getHeight()*textScale  
+          
+        csEnlarged = vs.coords.orthoBox(into,0, x,y, textScale, textScale, w, 
h)
+        vs.matcher.add(cs, csEnlarged, "Enlarged_"+node)
+        
+        vs.coords.activate(csEnlarged)




reply via email to

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