class NavigationPlugin(QtCore.QObject): """ CTags-based navigation plugin Widget """ # ================================= # functions called by pluginloader # ================================= def __init__(self): QtCore.QObject.__init__(self) self.dockwidget = None def initPlugin(self, signalproxy): """Init function - called when pluginloader loads plugin.""" self.signalproxy = signalproxy self.entrylist = EntryList() # create and place DockWidget in mainwindow using signalproxy self.dockwidget = QtGui.QDockWidget(None) self.dockwidget.setObjectName("Navigation") self.dockwidget.setWindowTitle( QtGui.QApplication.translate("MainWindow", "Navigation", None, QtGui.QApplication.UnicodeUTF8) ) self.view = QtGui.QTreeView() self.view.setModel(self.entrylist.model) self.dockwidget.setWidget(self.view) # add widget to mainwindow self.signalproxy.addDockWidget(Qt.BottomDockWidgetArea, self.dockwidget) QtCore.QObject.connect( self.signalproxy.distributedObjects.debug_controller, QtCore.SIGNAL("executableOpened"), self.update ) QtCore.QObject.connect(self.view, QtCore.SIGNAL("doubleClicked(QModelIndex)"), self.viewDoubleClicked) self.ctagsRunner = CTagsRunner("%s/tags%d" % (str(QtCore.QDir.tempPath()), os.getpid())) QtCore.QObject.connect( self.ctagsRunner, QtCore.SIGNAL("tagsFileAvailable()"), self.tagsFileReady, Qt.QueuedConnection ) def viewDoubleClicked(self, index): file_ = str(index.sibling(index.row(), 1).data().toString()) line = index.sibling(index.row(), 2).data().toInt()[0] self.signalproxy.openFile(file_, line) def deInitPlugin(self): """Deinit function - called when pluginloader unloads plugin.""" self.dockwidget.close() self.signalproxy.removeDockWidget(self.dockwidget) def update(self): sources = self.signalproxy.distributedObjects.gdb_connector.getSources() self.ctagsRunner.oneshot(sources) def tagsFileReady(self): self.entrylist.readFromFile(self.ctagsRunner.tmpFile) self.view.setModel(self.entrylist.model)
def initPlugin(self, signalproxy): """Init function - called when pluginloader loads plugin.""" self.signalproxy = signalproxy self.entrylist = EntryList() # create and place DockWidget in mainwindow using signalproxy self.dockwidget = QtGui.QDockWidget(None) self.dockwidget.setObjectName("Navigation") self.dockwidget.setWindowTitle( QtGui.QApplication.translate("MainWindow", "Navigation", None, QtGui.QApplication.UnicodeUTF8) ) self.view = QtGui.QTreeView() self.view.setModel(self.entrylist.model) self.dockwidget.setWidget(self.view) # add widget to mainwindow self.signalproxy.addDockWidget(Qt.BottomDockWidgetArea, self.dockwidget) QtCore.QObject.connect( self.signalproxy.distributedObjects.debug_controller, QtCore.SIGNAL("executableOpened"), self.update ) QtCore.QObject.connect(self.view, QtCore.SIGNAL("doubleClicked(QModelIndex)"), self.viewDoubleClicked) self.ctagsRunner = CTagsRunner("%s/tags%d" % (str(QtCore.QDir.tempPath()), os.getpid())) QtCore.QObject.connect( self.ctagsRunner, QtCore.SIGNAL("tagsFileAvailable()"), self.tagsFileReady, Qt.QueuedConnection )
class NavigationPlugin(QtCore.QObject): ''' CTags-based navigation plugin Widget ''' def __init__(self): QtCore.QObject.__init__(self) self.dockwidget = None def initPlugin(self, signalproxy): """Init function - called when pluginloader loads plugin.""" self.signalproxy = signalproxy self.entrylist = EntryList() # create and place DockWidget in mainwindow using signalproxy self.dockwidget = QtGui.QDockWidget(None) self.dockwidget.setObjectName("Navigation") self.dockwidget.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Navigation", None, QtGui.QApplication.UnicodeUTF8)) self.view = NavigationView(self.signalproxy) self.view.setModel(self.entrylist.model) self.dockwidget.setWidget(self.view) # add widget to mainwindow self.signalproxy.addDockWidget(Qt.BottomDockWidgetArea, self.dockwidget) QtCore.QObject.connect(self.signalproxy.distributedObjects.debugController, QtCore.SIGNAL('executableOpened'), self.update) self.ctagsRunner = CTagsRunner("%s/tags%d" % (str(QtCore.QDir.tempPath()), os.getpid())) QtCore.QObject.connect(self.ctagsRunner, QtCore.SIGNAL("tagsFileAvailable()"), self.tagsFileReady, Qt.QueuedConnection) # load the tags if the plugin was loaded after the executable self.update() def deInitPlugin(self): """Deinit function - called when pluginloader unloads plugin.""" self.dockwidget.close() self.signalproxy.removeDockWidget(self.dockwidget) def update(self): sources = self.signalproxy.distributedObjects.gdb_connector.getSources() if len(sources) > 0: self.ctagsRunner.oneshot(sources) def tagsFileReady(self): self.entrylist.readFromFile(self.ctagsRunner.tmpFile) os.remove(self.ctagsRunner.tmpFile)
class NavigationPlugin(QtCore.QObject): ''' CTags-based navigation plugin Widget ''' def __init__(self): QtCore.QObject.__init__(self) self.dockwidget = None def initPlugin(self, signalproxy): """Init function - called when pluginloader loads plugin.""" self.signalproxy = signalproxy self.entrylist = EntryList() self.view = NavigationView(self.signalproxy) self.view.setModel(self.entrylist.model) # create and place DockWidget in mainwindow using signalproxy self.signalproxy.insertDockWidget(self, self.view, "Navigation", Qt.BottomDockWidgetArea, True) self.signalproxy.distributedObjects.debugController.executableOpened.connect(self.update) self.ctagsRunner = CTagsRunner("%s/tags%d" % (str(QtCore.QDir.tempPath()), os.getpid())) self.ctagsRunner.tagsFileAvailable.connect(self.tagsFileReady, Qt.QueuedConnection) # load the tags if the plugin was loaded after the executable self.update() def deInitPlugin(self): """Deinit function - called when pluginloader unloads plugin.""" self.signalproxy.removeDockWidget(self) def update(self): sources = self.signalproxy.distributedObjects.gdb_connector.getSources() if len(sources) > 0: self.ctagsRunner.oneshot(sources) def tagsFileReady(self): self.entrylist.readFromFile(self.ctagsRunner.tmpFile) os.remove(self.ctagsRunner.tmpFile)
def initPlugin(self, signalproxy): """Init function - called when pluginloader loads plugin.""" self.signalproxy = signalproxy self.entrylist = EntryList() self.view = NavigationView(self.signalproxy) self.view.setModel(self.entrylist.model) # create and place DockWidget in mainwindow using signalproxy self.signalproxy.insertDockWidget(self, self.view, "Navigation", Qt.BottomDockWidgetArea, True) self.signalproxy.distributedObjects.debugController.executableOpened.connect(self.update) self.ctagsRunner = CTagsRunner("%s/tags%d" % (str(QtCore.QDir.tempPath()), os.getpid())) self.ctagsRunner.tagsFileAvailable.connect(self.tagsFileReady, Qt.QueuedConnection) # load the tags if the plugin was loaded after the executable self.update()
def initPlugin(self, signalproxy): """Init function - called when pluginloader loads plugin.""" self.signalproxy = signalproxy self.entrylist = EntryList() # create and place DockWidget in mainwindow using signalproxy self.dockwidget = QtGui.QDockWidget(None) self.dockwidget.setObjectName("Navigation") self.dockwidget.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Navigation", None, QtGui.QApplication.UnicodeUTF8)) self.view = NavigationView(self.signalproxy) self.view.setModel(self.entrylist.model) self.dockwidget.setWidget(self.view) # add widget to mainwindow self.signalproxy.emitAddDockWidget(Qt.BottomDockWidgetArea, self.dockwidget) self.signalproxy.distributedObjects.debugController.executableOpened.connect(self.update) self.ctagsRunner = CTagsRunner("%s/tags%d" % (str(QtCore.QDir.tempPath()), os.getpid())) self.ctagsRunner.tagsFileAvailable.connect(self.tagsFileReady, Qt.QueuedConnection) # load the tags if the plugin was loaded after the executable self.update()