X-Git-Url: https://git.sthu.org/?p=pygdb.git;a=blobdiff_plain;f=StatusWindow.py;h=121c0b8a7f5b9375e2b6614ffa90abf3ad427d1e;hp=84811c2c7248d610d54b7f6534f047c31d7b14d2;hb=f2698c930f26434a100e0b4c1e4f39291b55b4f9;hpb=fd54ea4a2710afa2bd51e2b8600c4577bdfccc0d diff --git a/StatusWindow.py b/StatusWindow.py index 84811c2..121c0b8 100644 --- a/StatusWindow.py +++ b/StatusWindow.py @@ -7,29 +7,22 @@ __author__ = "shuber" import gtk import vte -import WatchesFrame import BreakpointsFrame +import WatchesFrame + class StatusWindow (gtk.Window): - def __init__(self, mainctrlwnd, debugger, closecb=None): + def __init__(self, mainctrlwnd, debugger): gtk.Window.__init__(self) - self.set_screen(mainctrlwnd.get_screen()) - + self.debugger = debugger + self.set_border_width(5) self.set_title("Status") self.set_default_size(400,600) - - if closecb!=None: - self.connect("destroy", lambda *w: closecb()) - - - #Register callback function for new positions - self.mainctrlwnd = mainctrlwnd - mainctrlwnd.newPosCbs += [self.updateValues] - + self.connect("destroy", lambda *w: gtk.main_quit()) vbox = gtk.VBox(False, 5) self.add(vbox) @@ -39,15 +32,34 @@ class StatusWindow (gtk.Window): vpaned = gtk.VPaned() vbox.add(vpaned) - self.watchesFrame = WatchesFrame.WatchesFrame(debugger) - vpaned.add1(self.watchesFrame) + #Adding the frames + self.frames = [] + self.frames += [WatchesFrame.WatchesFrame(debugger)] + self.frames += [BreakpointsFrame.BreakpointsFrame(debugger)] + vpaned.add1(self.frames[0]) + vpaned.add2(self.frames[1]) - self.breakpointsFrame = BreakpointsFrame.BreakpointsFrame(debugger) - vpaned.add2(self.breakpointsFrame) + #Register callback function for new positions + #and update the values + mainctrlwnd.newPosCbs += [self.updateValues] self.show_all() + def applyConfiguration(self, conf): + + while not self.debugger.isActive(): + gtk.main_iteration() + + for f in self.frames: + f.applyConfiguration(conf) + + + def fillConfiguration(self, conf): + for f in self.frames: + f.fillConfiguration(conf) + + def updateValues(self, pos): if pos == None: @@ -56,7 +68,7 @@ class StatusWindow (gtk.Window): file, lineno = pos self.status.set_text("%s:%s" % (file, lineno)) - self.watchesFrame.updateValues() - self.breakpointsFrame.updateValues() + for f in self.frames: + f.updateValues(pos)