8614788666d65b5adb2d71b02cb77720aed0d24d
[pygdb.git] / StatusWindow.py
1 #!/usr/bin/python
2 #shuber, 2008-06-04
3
4 __author__ = "shuber"
5
6
7 import gtk
8 import vte
9
10 import WatchesFrame
11 import BreakpointsFrame
12
13
14 class StatusWindow (gtk.Window):
15
16 def __init__(self, mainctrlwnd, debugger):
17
18 gtk.Window.__init__(self)
19 self.set_screen(mainctrlwnd.get_screen())
20
21 self.set_border_width(5)
22 self.set_title("Status")
23 self.set_default_size(400,600)
24 self.connect("destroy", lambda *w: gtk.main_quit())
25
26
27 #Register callback function for new positions
28 self.mainctrlwnd = mainctrlwnd
29 mainctrlwnd.newPosCbs += [self.updateValues]
30
31
32 vbox = gtk.VBox(False, 5)
33 self.add(vbox)
34
35 self.status = gtk.Label("Not Running")
36 vbox.pack_start(self.status, False, False)
37 vpaned = gtk.VPaned()
38 vbox.add(vpaned)
39
40 self.watchesFrame = WatchesFrame.WatchesFrame(debugger)
41 vpaned.add1(self.watchesFrame)
42
43 self.breakpointsFrame = BreakpointsFrame.BreakpointsFrame(debugger)
44 vpaned.add2(self.breakpointsFrame)
45
46 self.show_all()
47
48
49 def updateValues(self, pos):
50
51 if pos == None:
52 self.status.set_text("Exited")
53 else:
54 file, lineno = pos
55 self.status.set_text("%s:%s" % (file, lineno))
56
57 self.watchesFrame.updateValues()
58 self.breakpointsFrame.updateValues()
59
60