Пример #1
0
    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()
Пример #2
0
    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)