X-Git-Url: https://git.sthu.org/?a=blobdiff_plain;f=BreakpointsFrame.py;h=201ca2f12abecff73eb13680967e967ec3c4556d;hb=81efa6ae3c403a5b6d0580f77b6349534186e857;hp=8450699eb4c5e970cd73837bf4ffba2ec177f436;hpb=0275a5723fec01327021ade901517292c8b65b2d;p=pygdb.git diff --git a/BreakpointsFrame.py b/BreakpointsFrame.py index 8450699..201ca2f 100644 --- a/BreakpointsFrame.py +++ b/BreakpointsFrame.py @@ -63,8 +63,8 @@ class BreakpointsFrame (StatusFrame.StatusFrame): def __createModel(self): - #Breakpoint number, position and a boolean flag indicating whether BP has been set - #at debugger yet + #Breakpoint number, position and a boolean flag indicating + #whether BP has been set at debugger yet model = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING) return model @@ -112,6 +112,26 @@ class BreakpointsFrame (StatusFrame.StatusFrame): dialog.run() dialog.destroy() + return no + + + def delBreakpoints(self, file, lineno): + + def addIters(model, path, iter, iters): + expr = model.get_value(iter,1) + expr = string.split(expr, " if ")[0].strip() + if expr == "%s:%d"%(file,lineno): + 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 applyConfiguration(self, conf): for b in conf.breakpoints: @@ -193,6 +213,9 @@ class BreakpointsFrame (StatusFrame.StatusFrame): def delBtnClicked(self, btn): + self.delBreakpoints("main.cpp", 26) + return + if not self.debugger.isActive(): return