def __init__( self, widgetName, outerWidgetName=None, wTree=None, gladeFile="astvisualizer.glade", widgetsWindow="widgets_window", actionGroupName=None, menuName=None, **kvargs ): if wTree == None: self.wTree = gtk.glade.XML(gladeFile, widgetsWindow) #: widget tree self.outerWidget = self.wTree.get_widget( outerWidgetName or widgetName ) #: widget that encloses all others (usually scrollbar window or so) self.outerWidget.get_parent().remove(self.outerWidget) self.wTree.signal_autoconnect(self) else: self.wTree = wTree self.widget = self.wTree.get_widget(widgetName) #: widget that holds basic logic # actions action.manager.registerActionService(self) self.gtkActionGroup = self.getActionGroup().createGtkActionGroup(self) action.manager.addGtkGroup(self.gtkActionGroup) # context menu if menuName: self.contextMenu = action.getMenu(self.gtkActionGroup, menuName) else: self.contextMenu = None self.widget.connect("button-press-event", self.__buttonPress) self.widget.connect("focus-in-event", self._focusIn) self.widget.connect_after("popup-menu", self._popupMenu) self.widget.get_selection().connect("changed", self.__selectionChanged) # browse history self._history = [] self._historyPosition = -1 self._historyForwardButton = self.wTree.get_widget("%s_history_forward" % widgetName) self._historyBackwardButton = self.wTree.get_widget("%s_history_backward" % widgetName) self._updateHistoryButtons()
def __init__(self, name, project): diagram.Diagram.__init__(self, ItemFactory(self)) self.project = project self.name = name self.flowModel = None self._connectTool = gaphas.tool.ConnectHandleTool() action.manager.registerActionService(self) self.gtkActionGroup = self.getActionGroup().createGtkActionGroup(self) action.manager.addGtkGroup(self.gtkActionGroup) self.contextMenu = action.getMenu(self.gtkActionGroup, 'controlflowdiagram-popup') # tags self._referenceTags = set() self._tagGraph = BlockTagGraph() # register for events event.manager.subscribe(self._tagGraphChanged, self._tagGraph)