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

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

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

revision 1.5 by mudyc, Thu Jun 26 13:00:45 2003 UTC revision 1.6 by mudyc, Fri Jun 27 14:00:33 2003 UTC
# Line 43  class MovePanFast(AbstractContextControl Line 43  class MovePanFast(AbstractContextControl
43      def change(self, x, y):      def change(self, x, y):
44          if dbg: p('move pan fast')          if dbg: p('move pan fast')
45          f = self.obj.getFocus()          f = self.obj.getFocus()
         if dbg: p('zoom:',f.zoom)  
46          fX, fY = f.getPanX(), f.getPanY()          fX, fY = f.getPanX(), f.getPanY()
47          f.setPan( fX-x/f.zoom, fY-y/f.zoom)          f.setPan( fX-x/f.zoom, fY-y/f.zoom)
48          self.obj.chgFast(self.oldVS)          self.obj.chgFast(self.oldVS)
49    
50          self.context.states.p()          if dbg: self.context.states.p()
51          if self.context.states.hasCtrl():          if self.context.states.hasCtrl():
52              xy0 = self.context.states.getPressPans()              xy = self.context.states.getPressPans()
53              self.select.setArea(xy[0], xy[1], f.getPanX(), f.getPanY())              self.obj.setSelection(xy[0], xy[1], f.getPanX(), f.getPanY())
54          else: self.select.setArea(0,0,0,0)          else: self.obj.setSelection(0,0,0,0)
55    
56    
57    
58  class MovePanSlow(ff.util.ControlBinding.AbstractController):  class MovePanSlow(ff.util.ControlBinding.AbstractController):
59      def isChangeable(self): return 0      def isChangeable(self): return 0
# Line 84  class UnSelectNodeOnPlane(AbstractContex Line 85  class UnSelectNodeOnPlane(AbstractContex
85  class SelectNodeOnPlane(AbstractContextController):  class SelectNodeOnPlane(AbstractContextController):
86      def isChangeable(self): return 0      def isChangeable(self): return 0
87      def controlPoint(self, x, y, scale):      def controlPoint(self, x, y, scale):
88          self.context.setAccursed(self.obj.second)          self.context.setAccursed(self.obj[1])
89                    
90  class MoveNodeOnPlane(AbstractContextController):  class MoveNodeOnPlane(AbstractContextController):
91      def isChangeable(self): return 1      def isChangeable(self): return 1
# Line 112  class PlaneDispatcher(ff.util.ControlBin Line 113  class PlaneDispatcher(ff.util.ControlBin
113          self.last = main          self.last = main
114          self.graph = graph          self.graph = graph
115          self.pp = pp          self.pp = pp
116    
117      def handleEvent(self, main, ev, vs):      def handleEvent(self, main, ev, vs):
118    
119          if ev.getID() == ev.MOUSE_DRAGGED:          if ev.getID() == ev.MOUSE_DRAGGED:
120              if dbg: p('drag')              if dbg: p('drag')
121              return self.last.handleEvent(main, ev, vs)              return self.last.handleEvent(self.args, ev, vs)
122          elif ev.getID() == ev.MOUSE_PRESSED:          elif ev.getID() == ev.MOUSE_PRESSED:
123              f = main.getFocus()              xy = main.getXYHitOnPlane(vs, ev.getX(), ev.getY())
124              self.context.states.setPressPans(f.getPanX(),f.getPanY())              self.context.states.setPressPans(xy[0], xy[1])
125    
126          if dbg: p('event', ev)          if dbg: p('event', ev)
127          obj = main.getNodeOnPlane(vs, ev.getX(), ev.getY())          obj = main.getNodeOnPlane(vs, ev.getX(), ev.getY())
128          if dbg: p(obj)          if dbg: p(obj)
129          if ev.getID() == ev.MOUSE_CLICKED:          if ev.getID() == ev.MOUSE_CLICKED:
130              if obj != None and self.p.hasBinding(ev):              if obj != None and self.p.hasBinding(ev):
131                    p('object on plane click')
132                  self.last = self.p                  self.last = self.p
133                  return self.p.handleEvent(ff.util.Pair(main, obj), ev, vs)                  self.args = [main, obj, self.graph, self.pp]
134                                return self.p.handleEvent(self.args, ev, vs)
135    
136            # Drag if something under mouse pointer is accursed!
137          if obj != None and self.p.hasBinding(ev) and self.context.isAccursed(obj):          if obj != None and self.p.hasBinding(ev) and self.context.isAccursed(obj):
138              self.last = self.p              self.last = self.p
139              return self.p.handleEvent([main, obj, self.graph, self.pp], ev, vs)              self.args = [main, obj, self.graph, self.pp]
140          else:          else:
141                p('something else')
142              self.last = self.m              self.last = self.m
143              return self.m.handleEvent(main, ev, vs)              self.args = main
144            return self.last.handleEvent(self.args, ev, vs)
145      def removePressState(self):      def removePressState(self):
146          for c in self.all:          for c in self.all:
147              c.removePressState()              c.removePressState()

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

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