/[fenfire]/fenfire/org/fenfire/demo/buoyoing.py
ViewVC logotype

Diff of /fenfire/org/fenfire/demo/buoyoing.py

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.80 by tjl, Tue Jun 24 11:17:41 2003 UTC revision 1.81 by mudyc, Thu Jun 26 00:29:25 2003 UTC
# Line 72  fen.graph = fen.constgraph = ff.swamp.im Line 72  fen.graph = fen.constgraph = ff.swamp.im
72  fen.txt = ff.impl.SimpleNodeContent(fen, myalph);  fen.txt = ff.impl.SimpleNodeContent(fen, myalph);
73  fen.txtfunc = fen.txt.getNodeFunction()  fen.txtfunc = fen.txt.getNodeFunction()
74  fen.enfiladeOverlap = fen.txt.getTransclusionIndex()  fen.enfiladeOverlap = fen.txt.getTransclusionIndex()
   
75  ppAct = ff.modules.pp.PPActionsImpl(fen)  ppAct = ff.modules.pp.PPActionsImpl(fen)
 #ppAct.dbg = 1  
 #ff.view.CanvasView2D.dbg = 1  
76    
77  # Now, before reading the xu stuff, render something  # Now, before reading the xu stuff, render something
78  # to try to prevent NV driver  # to try to prevent NV driver
# Line 116  if 1: Line 113  if 1:
113    
114    
115    
 ctrl = ff.util.ControlBinding()  
 ctrl.add(MovePanFast(), -1, ctrl.WHEEL, 7,0, ctrl.VERTICAL)  
 ctrl.add(MovePanFast(), 1, ctrl.DRAG, 1, 0, ctrl.ALL)  
 ctrl.add(MovePanSlow(), 1, ctrl.CLICK)  
 ctrl.add(ZoomPan(), 3, ctrl.DRAG, 1, 0, ctrl.VERTICAL)  
 ctrl.add(PanSize(), 3, ctrl.DRAG, 1, 0, ctrl.HORIZONTAL)  
 ctrl.add(UnSelectNodeOnPlane(), 3, ctrl.CLICK)  
   
 node_ctrl = ff.util.ControlBinding()  
 node_ctrl.add(SelectNodeOnPlane(), 3, node_ctrl.CLICK)  
 node_ctrl.add(MoveNodeOnPlane(), 1, node_ctrl.DRAG)  
   
 #        pa(ev)  
           
 #       if hasattr(mngr.geometer, 'mouse') and \  
 #                mngr.geometer.mouse(ev, mngr.vs):  
 #           return  
 #       x, y = ev.getX(), ev.getY()  
 #       cs = mngr.vs.getCSAt(0, x, y, None)  
   
 #         if ev.getID() == ev.MOUSE_RELEASED:  
 #             w.setCursor('default')  
 #             for ctrl in self.controls:  
 #                 ctrl.removePressState()  
 #             return  
 #         if ev.getID() == ev.MOUSE_DRAGGED:  
 #             for ctrl in self.controls:  
 #                 if ctrl.hasPressState():  
 #                     ctrl.handleEvent(None, ev, mngr.vs)  
 #                     if ctrl.replaceVS:  
 #                         mngr.replaceScene = mngr.vs  
 #                   vob.AbstractUpdateManager.setNoAnimation()  
 #                     vob.AbstractUpdateManager.chg()  
 #                     return  
                   
 #         ### If there exist a buoy jump over there  
 #       for single in mngr.singles:  
 #           link = single.cs.get(cs, None)  
 #           if link != None:  
 #                 # pa("IN CS: ",cs, link)  
 #                 if hasattr(mngr.geometer, 'buoyMouse') and \  
 #                    mngr.geometer.buoyMouse(mngr, ev, single, link):  
 #                     return  
                   
 #               if ev.getID() != ev.MOUSE_CLICKED:  
 #                   return  
 #               single.followLink(link)  
 #               vob.AbstractUpdateManager.chg()  
 #               return  
   
 #       ### Fall through if no link - need main node  
 #       for i in range(0, len(mngr.singles)):  
 #           if mngr.singles[i].mainNode.isHitInsidePlane(x,y,mngr.vs):  
 #                 self.context.setMainNodeIndex(i)  
 #                 self.lastIndex = i  
   
 #                 ### See if there's somtehing on a plane.  
 #                 obj = mngr.singles[i].mainNode.getNodeOnPlane(mngr.vs, x,y)  
 #                 if obj != None and \  
 #                        self.controlNodesOnMain.hasBinding(ev):  
 #                     if self.controlNodesOnMain.handleEvent( \  
 #                         Pair(mngr.singles[i].mainNode, obj), ev, mngr.vs):  
 #                         # can't replace vobscene!!  
 #                         #  mngr.replaceScene = mngr.vs  
 #                         vob.AbstractUpdateManager.setNoAnimation()  
 #                     vob.AbstractUpdateManager.chg()  
 #                     return  
   
 #                 if self.controlMains.handleEvent(mngr.singles[i].mainNode, ev, mngr.vs):  
 #                   mngr.replaceScene = mngr.vs  
 #                   vob.AbstractUpdateManager.setNoAnimation()  
 #               vob.AbstractUpdateManager.chg()  
 #               return  
   
 #         # ...then see context  
 #         if ev.getID() != ev.MOUSE_CLICKED:  
 #             return  
 #         self.context.setMainNodeIndex(self.lastIndex)  
 #         planes = []  
 #         for single in mngr.singles:  
 #             planes.append(single.getMainNode())  
 #         newPlanes = self.context.doMouse(ev, mngr.vs, planes)  
 #         if newPlanes != None and planes != newPlanes:  
 #             for i in range(0, len(newPlanes)):  
 #                 mngr.singles[i] = vob.buoy.buoymanager.SingleFocusManager(  
 #                     newPlanes[i],  
 #                     mngr.connectors)  
 #             vob.AbstractUpdateManager.chg()  
           
   
   
   
   
116    
117  textstyle = vob.GraphicsAPI.getInstance().getTextStyle("sans", 0, 24)  textstyle = vob.GraphicsAPI.getInstance().getTextStyle("sans", 0, 24)
118  textnodeview = ff.view.TextNodeView(fen.txtfunc, textstyle, 1)  textnodeview = ff.view.TextNodeView(fen.txtfunc, textstyle, 1)
# Line 226  irregu = ff.view.IrregularViewportView2D Line 130  irregu = ff.view.IrregularViewportView2D
130  ff.view.buoy.NodeType2D.effigy = 0  ff.view.buoy.NodeType2D.effigy = 0
131  ff.view.buoy.NodeType2DFull.effigy = 0  ff.view.buoy.NodeType2DFull.effigy = 0
132    
133    main_ctrl = ff.util.ControlBinding()
134    node_ctrl = ff.util.ControlBinding()
135    ctrl = PlaneDispatcher(main_ctrl, node_ctrl, fen.graph, ppAct)
136    
137    global context
138  context = ff.view.lava.FenPDFContext(fen, ppAct, nodeview, ctrl)  context = ff.view.lava.FenPDFContext(fen, ppAct, nodeview, ctrl)
139  context.initMainNodes(2)  context.initMainNodes(2)
140  nodeview.setContext(context)  nodeview.setContext(context)
# Line 239  ff.view.buoy.MainNode2D.fen = fen Line 148  ff.view.buoy.MainNode2D.fen = fen
148  ff.view.buoy.AbstractMainNode2D.context = context  ff.view.buoy.AbstractMainNode2D.context = context
149    
150    
151    # Default controls
152    
153    ctrl.setContext(context)
154    main_ctrl.add(MovePanFast(), -1, ctrl.WHEEL, 7,0, ctrl.VERTICAL)
155    main_ctrl.add(MovePanFast(), 1, ctrl.DRAG, 1, 0, ctrl.ALL)
156    main_ctrl.add(MovePanSlow(), 1, ctrl.CLICK)
157    main_ctrl.add(ZoomPan(), 3, ctrl.DRAG, 1, 0, ctrl.VERTICAL)
158    main_ctrl.add(PanSize(), 3, ctrl.DRAG, 1, 0, ctrl.HORIZONTAL)
159    main_ctrl.add(UnSelectNodeOnPlane(context), 3, ctrl.CLICK)
160    
161    node_ctrl.add(SelectNodeOnPlane(context), 3, node_ctrl.CLICK)
162    node_ctrl.add(MoveNodeOnPlane(context), 1, node_ctrl.DRAG)
163    
164    
165    
166    
167    
168    
169    
# Line 272  tconnector.pageImageScrollNodeType = ff. Line 197  tconnector.pageImageScrollNodeType = ff.
197    
198    
199  class DoubleGeometer:  class DoubleGeometer:
200      def __init__(self, mgr):      def __init__(self, mgr, context):
201          self.split = .5          self.split = .5
202          self.height = 100          self.height = 100
203          self.width = 100          self.width = 100
204          self.mgr = mgr          self.mgr = mgr
205            self.context = context
206      def _doset(self, vs):      def _doset(self, vs):
207    
208          w,h = vs.size.width, vs.size.height          w,h = vs.size.width, vs.size.height
# Line 362  class DoubleGeometer: Line 288  class DoubleGeometer:
288    
289      def mouse(self, ev, oldvs):      def mouse(self, ev, oldvs):
290          if dbg: pa(ev)          if dbg: pa(ev)
         if 0 and ev.getID() == ev.MOUSE_WHEEL:  
             pa("WHEEL")  
             r = ev.getWheelRotation()  
             self.split -= .03 * r  
             self._doset(oldvs)  
             vob.AbstractUpdateManager.setNoAnimation()  
             vob.AbstractUpdateManager.chg()  
             return 1  
291    
292          return 0          if ev.getID() == ev.MOUSE_RELEASED:
293                ctrl.removePressState()
294                w.setCursor('default')
295                return 1
296            #return 0
297    
298            # ...then see context
299            if ev.getID() != ev.MOUSE_CLICKED:
300                return 0
301            self.context.setMainNodeIndex(self.mgr.lastIndex)
302            planes = []
303            for single in self.mgr.singles:
304                planes.append(single.getMainNode())
305            newPlanes = self.context.doMouse(ev, oldvs, planes)
306            if newPlanes != None and planes != newPlanes:
307                for i in range(0, len(newPlanes)):
308                    self.mgr.singles[i] = vob.buoy.buoymanager.SingleFocusManager(
309                        newPlanes[i],
310                        self.mgr.connectors)
311                    vob.AbstractUpdateManager.chg()
312                return 1
313            return 0
314    
315    
316    
317    
318      def buoyMouse(self, mgr, ev, single, link):      def buoyMouse(self, mgr, ev, single, link):
319          if ev.getID() != ev.MOUSE_CLICKED:          if ev.getID() != ev.MOUSE_CLICKED:
# Line 399  class DoubleGeometer: Line 341  class DoubleGeometer:
341          elif key == "-":          elif key == "-":
342              self.split -= .03              self.split -= .03
343          elif key == "Home":          elif key == "Home":
344              self.mgr.singles[1].mainNode = ff.view.buoy.MainNode2D(planeHome, irregu)              self.mgr.singles[1].mainNode = ff.view.buoy.MainNode2D(planeHome, irregu, ctrl)
345          elif key == "Ctrl-Q":          elif key == "Ctrl-Q":
346              from java.lang import System              from java.lang import System
347              System.exit(43)              System.exit(43)
# Line 419  class Scene(vob.buoy.buoymanager.MultiBu Line 361  class Scene(vob.buoy.buoymanager.MultiBu
361      def __init__(self):      def __init__(self):
362          vob.buoy.buoymanager.MultiBuoyManager.__init__(self,          vob.buoy.buoymanager.MultiBuoyManager.__init__(self,
363                  [mainNode, mainNode2], [ppconnector, tconnector],                  [mainNode, mainNode2], [ppconnector, tconnector],
364                  DoubleGeometer(self),                  DoubleGeometer(self, context),
365                  context=context)                  context=context)
366          w.setCursor('default')          w.setCursor('default')
367    
   
368  currentScene = Scene()  currentScene = Scene()
369    
370    

Legend:
Removed from v.1.80  
changed lines
  Added in v.1.81

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26