/[ascend]/branches/adrian/pygtk/canvas/contextmenutool.py
ViewVC logotype

Diff of /branches/adrian/pygtk/canvas/contextmenutool.py

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

revision 2895 by adrian, Sun Apr 12 14:32:00 2015 UTC revision 2916 by adrian, Wed Apr 29 17:59:16 2015 UTC
# Line 2  from gaphas.tool import Tool Line 2  from gaphas.tool import Tool
2  import gi  import gi
3    
4  gi.require_version('Gtk', '3.0')  gi.require_version('Gtk', '3.0')
5  from gi.repository import Gtk  from gi.repository import Gtk, Gdk
6  import blockproperties  import blockproperties
7  import canvasproperties  import canvasproperties
8  import undo  import undo
# Line 21  class ContextMenuTool(Tool): Line 21  class ContextMenuTool(Tool):
21    
22      def on_button_press(self, event):      def on_button_press(self, event):
23          context = self.view.tool          context = self.view.tool
24          if event.button != 3:          if event.button.button != 3:
25              context.ungrab(self.view.tool)              context.ungrab(self.view.tool)
26              return False              return False
27    
28          menu = Gtk.Menu()          self.menu = Gtk.Menu()
29          menu.connect("deactivate",self.deactivate,context)          self.menu.connect("deactivate",self.deactivate,context)
30          '''          '''
31          menublockstreams = Gtk.MenuItem("_Streams")          menublockstreams = Gtk.MenuItem("_Streams")
32          menublockstreams.connect("activate",self.setstream, window, context, context.view.hovered_item)          menublockstreams.connect("activate",self.setstream, window, context, context.view.hovered_item)
33          menu.add(menublockstreams)          menu.add(menublockstreams)
34          '''          '''
35            window = context.view.get_parent().get_parent().get_parent().get_parent().get_parent()
36          menurename = Gtk.MenuItem("Re_name",True)          menurename = Gtk.MenuItem("Re_name",True)
37          window = context.view.parent.parent.parent.parent.parent          menurename.set_use_underline(True)
38          menurename.connect("activate",self.rename,context.view.hovered_item,window)          menurename.connect("activate",self.rename,context.view.hovered_item,window)
39          menu.add(menurename)          self.menu.add(menurename)
         menudefault.set_sensitive(False)  
40          '''menublockstreams.set_sensitive(False)'''          '''menublockstreams.set_sensitive(False)'''
41    
42          menudelete = Gtk.MenuItem("_Delete",True)          menudelete = Gtk.MenuItem("_Delete",True)
43          menudelete.connect("activate",self.delete,context.view.hovered_item,context.view)          menudelete.connect("activate",self.delete,context.view.hovered_item,context.view)
44          menu.add(menudelete)          menudelete.set_use_underline(True)
45            self.menu.add(menudelete)
46    
47          menu.add(Gtk.SeparatorMenuItem())          self.menu.add(Gtk.SeparatorMenuItem())
48    
49          menurotate_clock = Gtk.MenuItem("_Rotate_clockwise",True)          menurotate_clock = Gtk.MenuItem("Rotate clockwise",True)
         window = context.view.parent.parent.parent.parent.parent  
50          menurotate_clock.connect("activate",self.blockrotate_clock,context.view.hovered_item,window)          menurotate_clock.connect("activate",self.blockrotate_clock,context.view.hovered_item,window)
51          menu.add(menurotate_clock)          self.menu.add(menurotate_clock)
52    
53          menurotate_anti = Gtk.MenuItem("_Rotate_anti_clockwise",True)          menurotate_anti = Gtk.MenuItem("Rotate counterclockwise",True)
         window = context.view.parent.parent.parent.parent.parent  
54          menurotate_anti.connect("activate",self.blockrotate_anti,context.view.hovered_item,window)          menurotate_anti.connect("activate",self.blockrotate_anti,context.view.hovered_item,window)
55          menu.add(menurotate_anti)          self.menu.add(menurotate_anti)
56    
57          menuflip = Gtk.MenuItem("Flip",True)          menuflip = Gtk.MenuItem("Flip",True)
         window = context.view.parent.parent.parent.parent.parent  
58          menuflip.connect("activate",self.blockflip,context.view.hovered_item,window)          menuflip.connect("activate",self.blockflip,context.view.hovered_item,window)
59          menu.add(menuflip)          self.menu.add(menuflip)
60    
61          menu.add(Gtk.SeparatorMenuItem())          self.menu.add(Gtk.SeparatorMenuItem())
62    
63          menublockproperties = Gtk.MenuItem("_Properties")          menublockproperties = Gtk.MenuItem("_Properties")
64            menublockproperties.set_use_underline(True)
65          menublockproperties.connect("activate",self.blockproperties, window, context, context.view.hovered_item, 0)          menublockproperties.connect("activate",self.blockproperties, window, context, context.view.hovered_item, 0)
66          menu.add(menublockproperties)          self.menu.add(menublockproperties)
67    
68          menublockparams = Gtk.MenuItem("_Parameters")          menublockparams = Gtk.MenuItem("Parameters")
69          menublockparams.connect("activate",self.blockproperties, window, context, context.view.hovered_item, 1)          menublockparams.connect("activate",self.blockproperties, window, context, context.view.hovered_item, 1)
70          menu.add(menublockparams)          self.menu.add(menublockparams)
71    
72          menudefault = Gtk.MenuItem("_Set Default Values")          menudefault = Gtk.MenuItem("_Set Default Values")
73            menudefault.set_use_underline(True)
74          menudefault.connect("activate",self.defaultvalues,window ,context,context.view.hovered_item)          menudefault.connect("activate",self.defaultvalues,window ,context,context.view.hovered_item)
75          menu.add(menudefault)          self.menu.add(menudefault)
76    
77          #menublockmethod = Gtk.MenuItem("_Custom Method(s)")          #menublockmethod = Gtk.MenuItem("_Custom Method(s)")
78          #menublockmethod.connect("activate",self.blockproperties, window, context, context.view.hovered_item, 2)          #menublockmethod.connect("activate",self.blockproperties, window, context, context.view.hovered_item, 2)
79          #menu.add(menublockmethod)          #menu.add(menublockmethod)
80    
81          menublockinstance = Gtk.MenuItem("_Instance")          menublockinstance = Gtk.MenuItem("_Instance")
82          menublockinstance.connect("activate",self.blockproperties, window, context, context.view.hovered_item, 3)          menublockinstance.set_use_underline(True)
83          menu.add(menublockinstance)          menublockinstance.connect("activate",self.blockproperties, window, context, context.view.hovered_item, 2)
84            self.menu.add(menublockinstance)
85          '''          '''
86          menublockstreams = Gtk.MenuItem("_Streams")          menublockstreams = Gtk.MenuItem("_Streams")
87          menublockstreams.connect("activate",self.setstream, window, context, context.view.hovered_item)          menublockstreams.connect("activate",self.setstream, window, context, context.view.hovered_item)
# Line 90  class ContextMenuTool(Tool): Line 91  class ContextMenuTool(Tool):
91          #menuinfo.connect("activate",self.info,window,context,context.view.hovered_item)          #menuinfo.connect("activate",self.info,window,context,context.view.hovered_item)
92          #menu.add(menuinfo)          #menu.add(menuinfo)
93    
94          menu.add(Gtk.SeparatorMenuItem())          self.menu.add(Gtk.SeparatorMenuItem())
95    
96          menucanvas = Gtk.MenuItem("_Canvas Properties",True)          menucanvas = Gtk.MenuItem("_Canvas Properties",True)
97            menucanvas.set_use_underline(True)
98          menucanvas.connect("activate",self.canvasproperties,window ,context)          menucanvas.connect("activate",self.canvasproperties,window ,context)
99          menu.add(menucanvas)          self.menu.add(menucanvas)
100    
101          if not context.view.hovered_item:          if not context.view.hovered_item:
102              menurename.set_sensitive(False)              menurename.set_sensitive(False)
# Line 119  class ContextMenuTool(Tool): Line 121  class ContextMenuTool(Tool):
121              if not context.view.hovered_item.blockinstance.instance:              if not context.view.hovered_item.blockinstance.instance:
122                  menublockinstance.set_sensitive(False)                  menublockinstance.set_sensitive(False)
123    
124          menu.show_all()          self.menu.show_all()
125          menu.popup( None, None, None, event.button, event.time)          self.menu.popup(None, None, None, None, event.button.button, event.time)
126          #self.view.tool.ungrab(self.view.tool)          #self.view.tool.ungrab(self.view.tool)
127          return False          return False
128    
# Line 131  class ContextMenuTool(Tool): Line 133  class ContextMenuTool(Tool):
133    
134      def on_double_click(self,event):      def on_double_click(self,event):
135          context = self.view.tool          context = self.view.tool
136          if event.button != 1 or not context.view.hovered_item:          if event.button.button != 1 or not context.view.hovered_item:
137              context.ungrab(self.view.tool)              context.ungrab(self.view.tool)
138              return False              return False
139    
140          window = context.view.parent.parent.parent.parent.parent          window = context.view.get_parent().get_parent().get_parent().get_parent().get_parent()
141          self.blockproperties(None , window, context, context.view.hovered_item)          self.blockproperties(None , window, context, context.view.hovered_item)
142    
143      def deactivate(self,widget,context):      def deactivate(self,widget,context):

Legend:
Removed from v.2895  
changed lines
  Added in v.2916

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22