X-Git-Url: https://git.sthu.org/?a=blobdiff_plain;f=WatchesFrame.py;h=08271f4d7d7180df66661cf7a2d69301e74301c3;hb=refs%2Fheads%2Fcontroller;hp=0ee6623645fa9bd285dc1f3192d7adac0e18de75;hpb=0275a5723fec01327021ade901517292c8b65b2d;p=pygdb.git diff --git a/WatchesFrame.py b/WatchesFrame.py index 0ee6623..08271f4 100644 --- a/WatchesFrame.py +++ b/WatchesFrame.py @@ -6,9 +6,7 @@ __author__ = "shuber" import gobject import gtk -import vte -import DbgTerminal import StatusFrame @@ -106,11 +104,37 @@ class WatchesFrame (StatusFrame.StatusFrame): iter = self.model.iter_next(iter) - def addBtnClicked(self, btn): + def addWatch(self, expr): + if self.debugger.isActive(): + res = self.debugger.getExpression(expr) + else: + res = expr + iter = self.model.append() - self.model.set(iter, 0, "0", 1, "0", 2, True) + self.model.set(iter, 0, expr, 1, res, 2, True) + + + def delWatches(self, expr): + + def addIters(model, path, iter, iters): + if model.get_value(iter, 0)==expr: + iters += [iter] + + iters = [] + self.model.foreach(addIters, iters) + + #Need reversed here since rows are moved + #when removing rows + for i in reversed(iters): + self.model.remove(i) + + + def addBtnClicked(self, btn): + self.addWatch("0") + def delBtnClicked(self, btn): + selection = self.tv.get_selection() model, paths = selection.get_selected_rows()