from GstDebugViewer.Common import utils
+def widget_add_popup_menu (widget, menu, button = 3):
+
+ def popup_callback (widget, event):
+
+ if event.button == button:
+ menu.popup (None, None, None, event.button, event.get_time ())
+ return True
+ else:
+ return False
+
+ widget.connect ("button-press-event", popup_callback)
+
class Actions (dict):
def __init__ (self):
handler = self.handle_clear_line_view_action_activate
self.clear_action.connect ("activate", handler)
- ui = window.ui_manager
- self.popup = ui.get_widget ("/ui/context/LineViewContextMenu").get_submenu ()
-
self.line_view = window.widgets.line_view
self.line_view.connect ("row-activated", self.handle_line_view_row_activated)
- self.line_view.connect ("button-press-event",
- self.handle_line_view_button_press_event)
+
+ ui = window.ui_manager
+ self.popup = ui.get_widget ("/ui/context/LineViewContextMenu").get_submenu ()
+ Common.GUI.widget_add_popup_menu (self.line_view, self.popup)
self.log_view = log_view = window.log_view
log_view.connect ("row-activated", self.handle_log_view_row_activated)
self.clear ()
- def handle_line_view_button_press_event (self, line_view, event):
-
- if event.button != 3:
- return False
-
- self.popup.popup (None, None, None, event.button, event.get_time ())
- return True
-
class Window (object):
def __init__ (self, app):
self.ui_manager = ui = self.ui_factory.make ()
menubar = ui.get_widget ("/ui/menubar")
self.widgets.vbox_main.pack_start (menubar, False, False, 0)
- self.view_popup = ui.get_widget ("/ui/menubar/ViewMenu").get_submenu ()
self.gtk_window = self.widgets.main_window
self.gtk_window.add_accel_group (ui.get_accel_group ())
self.log_view.drag_dest_unset ()
self.log_view.set_search_column (-1)
- self.log_view.connect ("button-press-event", self.handle_log_view_button_press_event)
+ self.view_popup = ui.get_widget ("/ui/menubar/ViewMenu").get_submenu ()
+ Common.GUI.widget_add_popup_menu (self.log_view, self.view_popup)
self.line_view = LineView ()
dialog.run ()
dialog.destroy ()
- def handle_log_view_button_press_event (self, view, event):
-
- if event.button != 3:
- return False
-
- self.view_popup.popup (None, None, None, event.button, event.get_time ())
- return True
-
def handle_load_started (self):
self.logger.debug ("load has started")
"hide-after-line", gtk.UI_MANAGER_MENUITEM, False)
ui.add_ui (self.merge_id, "/TimelineContextMenu", "TimelineShowHiddenLines",
"show-hidden-lines", gtk.UI_MANAGER_MENUITEM, False)
-
- self.popup = ui.get_widget ("/TimelineContextMenu")
box = window.get_top_attach_point ()
box.pack_start (self.timeline, False, False, 0)
self.timeline.hide ()
+ self.popup = ui.get_widget ("/TimelineContextMenu")
+ Common.GUI.widget_add_popup_menu (self.timeline, self.popup)
+
box = window.get_side_attach_point ()
self.vtimeline = VerticalTimelineWidget ()
def handle_timeline_button_press_event (self, widget, event):
- if event.button == 3:
- self.popup.popup (None, None, None, event.button, event.get_time ())
- return True
-
if event.button != 1:
- return True
+ return False
# TODO: Check if clicked inside a warning/error indicator triangle and
# navigate there.