Mercurial > lcfOS
diff python/st-util.py @ 137:0a540ce31cd5
Added debug toolbar and spaced hexedit
author | Windel Bouwman |
---|---|
date | Fri, 25 Jan 2013 23:47:34 +0100 |
parents | 9af544be5d2a |
children | 14e739ed03ab |
line wrap: on
line diff
--- a/python/st-util.py Wed Jan 23 21:54:14 2013 +0100 +++ b/python/st-util.py Fri Jan 25 23:47:34 2013 +0100 @@ -84,9 +84,51 @@ self.device = dev self.loadAddress(0x8000000) +class DebugToolbar(QToolBar): + def __init__(self): + super().__init__() + self.device = None + # generate actions: + def genAction(name, callback): + a = QAction(name, self) + a.triggered.connect(callback) + self.addAction(a) + return a + self.stepAction = genAction('Step', self.doStep) + self.runAction = genAction('Run', self.doRun) + self.stopAction = genAction('Stop', self.doStop) + self.resetAction = genAction('Reset', self.doReset) + self.updateEnables() + def updateEnables(self): + if self.device: + self.resetAction.setEnabled(True) + if running: + self.runAction.setEnabled(False) + self.stepAction.setEnabled(False) + else: + self.runAction.setEnabled(True) + self.stepAction.setEnabled(True) + else: + self.resetAction.setEnabled(False) + self.runAction.setEnabled(True) + self.stepAction.setEnabled(False) + def doStep(self): + self.device.iface.step() + def doReset(self): + self.device.iface.reset() + def doRun(self): + self.device.iface.run() + def doStop(self): + pass + # TODO: self.device.iface.halt() + def setDevice(self, dev): + self.device = dev + self.updateEnables() + class FlashTool(QWidget): def __init__(self): super().__init__() + # TODO! class DeviceTreeModel(QAbstractItemModel): def __init__(self):