from PySide.QtCore import * from PySide.QtGui import * import pykd class CmdWidget( QDockWidget ): def __init__( self, parent ): QDockWidget.__init__( self ) self.setWindowTitle( "Commands" ) self.inCmd = QLineEdit() self.inCmd.returnPressed.connect( self.onCommandInput ) self.outCmd = QTextEdit() self.outCmd.setReadOnly( True ) layout = QVBoxLayout() layout.addWidget( self.outCmd ) layout.addWidget( self.inCmd ) layoutWidget = QWidget() layoutWidget.setLayout( layout ) self.setWidget( layoutWidget ) self.setVisible( False ) parent.addDockWidget( Qt.LeftDockWidgetArea, self ) parent.viewMenu.addAction( "Commands", self.onCommandsShow ) def onCommandsShow( self ): self.setVisible( not self.isVisible() ) def onCommandInput( self ): self.inCmd.setReadOnly( True ) cmdLine = self.inCmd.text() self.inCmd.setText( "running %s" % cmdLine ) self.outCmd.append( pykd.dbgCommand( cmdLine ) ) self.inCmd.setText( "" ) self.inCmd.setReadOnly( False )