Center the text, so that there is no need to adjust it to the right.
[pysize.git] / pysize / ui / gtk / pysize_widget_menu.py
blob2fd40d6d3be76b010cb466cdd2a574b54821c493
1 import pygtk
2 pygtk.require('2.0')
3 import gtk
4 assert gtk.pygtk_version >= (2, 8)
6 class PysizeWidget_Menu(object):
7 def __init__(self, options, args):
8 self.connect('popup-menu', type(self)._pop_menu)
9 self.connect('button-press-event', type(self)._menu_mouse_button)
11 @staticmethod
12 def _add_menu_item(menu, name, action):
13 item = gtk.MenuItem(name)
14 item.connect('activate', action)
15 item.show()
16 menu.append(item)
18 def _pop_menu(self, event=None):
19 menu = gtk.Menu()
21 self._add_menu_item(menu, 'Say hello', self.say_hello)
23 if event:
24 button = event.button
25 event_time = event.time
26 else:
27 button = 0
28 event_time = gtk.get_current_event_time()
29 menu.attach_to_widget(self, None)
30 menu.popup(None, None, None, button, event_time)
32 def _menu_mouse_button(self, event):
33 if event.button == 3 and event.type == gtk.gdk.BUTTON_PRESS:
34 self._pop_menu(event)
35 return True
36 return False
38 def say_hello(self, item):
39 print 'hello'