- Fixed bug when bp is set on same addr
[pygdb.git] / StatusWindow.py
index 84811c2c7248d610d54b7f6534f047c31d7b14d2..121c0b8a7f5b9375e2b6614ffa90abf3ad427d1e 100644 (file)
@@ -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)