adding first vim code+
[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, quitonclose=True):
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
25 if quitonclose:
26 self.connect("destroy", lambda *w: gtk.main_quit())
27
28
29 #Register callback function for new positions
30 self.mainctrlwnd = mainctrlwnd
31 mainctrlwnd.newPosCbs += [self.updateValues]
32
33
34 vbox = gtk.VBox(False, 5)
35 self.add(vbox)
36
37 self.status = gtk.Label("Not Running")
38 vbox.pack_start(self.status, False, False)
39 vpaned = gtk.VPaned()
40 vbox.add(vpaned)
41
42 self.watchesFrame = WatchesFrame.WatchesFrame(debugger)
43 vpaned.add1(self.watchesFrame)
44
45 self.breakpointsFrame = BreakpointsFrame.BreakpointsFrame(debugger)
46 vpaned.add2(self.breakpointsFrame)
47
48 self.show_all()
49
50
51 def updateValues(self, pos):
52
53 if pos == None:
54 self.status.set_text("Exited")
55 else:
56 file, lineno = pos
57 self.status.set_text("%s:%s" % (file, lineno))
58
59 self.watchesFrame.updateValues()
60 self.breakpointsFrame.updateValues()
61
62