from widget import * class ProcessController(BaseController): def __init__(self, dbgCore, mainWindow): BaseController.__init__(self,dbgCore,mainWindow) self.openProcessAction = QAction( "Open process...", mainWindow.fileMenu ) self.openProcessAction.triggered.connect(self.onOpenProcess) mainWindow.fileMenu.addAction(self.openProcessAction) self.detachProcessAction = QAction( "Detach process", mainWindow.fileMenu ) self.detachProcessAction.triggered.connect(self.onDetachProcess) self.detachProcessAction.setDisabled(True) mainWindow.fileMenu.addAction(self.detachProcessAction) def onOpenProcess(self): fileDlg = QFileDialog( self.mainWnd ) fileDlg.setNameFilter( "Executable (*.exe)" ) self.dbgCore.openProcess( fileDlg.getOpenFileName()[0] ) def onDetachProcess(self): self.dbgCore.detachProcess() def onDbgAttach(self): self.openProcessAction.setDisabled(True) self.detachProcessAction.setDisabled(True) def onDbgDetach(self): self.openProcessAction.setDisabled(False) self.detachProcessAction.setDisabled(True) def onDbgBreak(self): self.detachProcessAction.setDisabled(False) def onDbgRun(self): self.detachProcessAction.setDisabled(True)