X-Git-Url: https://git.sthu.org/?a=blobdiff_plain;f=WatchesFrame.py;h=0ee6623645fa9bd285dc1f3192d7adac0e18de75;hb=ae13f1cd2401475e1fc58be3418fb349cd69fb98;hp=823f79f8bf5161553f83452ee3f678ccad1d8f10;hpb=e3403072dbc8f31817f6492dea70ebdf5128fcb2;p=pygdb.git diff --git a/WatchesFrame.py b/WatchesFrame.py index 823f79f..0ee6623 100644 --- a/WatchesFrame.py +++ b/WatchesFrame.py @@ -9,27 +9,29 @@ import gtk import vte import DbgTerminal +import StatusFrame -class WatchesFrame (gtk.Frame): +class WatchesFrame (StatusFrame.StatusFrame): def __init__(self, debugger): - gtk.Frame.__init__(self, "Watches") - self.debugger = debugger + StatusFrame.StatusFrame.__init__(self, debugger) + self.set_label("Watches") + + debugger.gotActiveCallback += [self.updateValues] vbox = gtk.VBox(False, 5) self.add(vbox) - hbox = gtk.HButtonBox() + hbox = gtk.HBox() vbox.pack_start(hbox, False, False) self.addBtn = gtk.Button(stock=gtk.STOCK_ADD) self.delBtn = gtk.Button(stock=gtk.STOCK_REMOVE) hbox.add(self.addBtn) hbox.add(self.delBtn) - hbox.set_layout(gtk.BUTTONBOX_SPREAD) sw = gtk.ScrolledWindow() sw.set_shadow_type(gtk.SHADOW_ETCHED_IN) @@ -88,31 +90,40 @@ class WatchesFrame (gtk.Frame): model.set(iter, 1, res) + def applyConfiguration(self, conf): + for w in conf.watches: + iter = self.model.append() + self.model.set(iter, 0, w["expr"], 1, "", 2, True) + self.updateValues(None, None) + + + def fillConfiguration(self, conf): + + iter = self.model.get_iter_first() + while iter != None: + expr, = self.model.get(iter, 0) + conf.parseWatch(expr) + iter = self.model.iter_next(iter) def addBtnClicked(self, btn): iter = self.model.append() self.model.set(iter, 0, "0", 1, "0", 2, True) - def delBtnClicked(self, btn): selection = self.tv.get_selection() model, paths = selection.get_selected_rows() - for path in paths: + for path in reversed(paths): iter = model.get_iter(path) model.remove(iter) - - def updateValues(self): - + def updateValues(self, status, param): iter = self.model.get_iter_first() - while iter != None: - expr, = self.model.get(iter, 0) - res = self.debugger.getExpression(expr) - self.model.set(iter, 1, res) + res = self.debugger.getExpression(expr) + self.model.set(iter, 1, res) iter = self.model.iter_next(iter)