projects
/
pygdb.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
show backtrace in source view
[pygdb.git]
/
StatusWindow.py
diff --git
a/StatusWindow.py
b/StatusWindow.py
index e021fed1a18b2f4c1b26d901ffbca4ac5e1786d2..07abd4c616b7fa0a14fca888a56af4ad00d06c7c 100644
(file)
--- a/
StatusWindow.py
+++ b/
StatusWindow.py
@@
-10,49
+10,52
@@
import string
import os
import vte
import os
import vte
+import Configuration
import DbgTerminal
import BreakpointsFrame
import DbgTerminal
import BreakpointsFrame
+import PositionFrame
import WatchesFrame
class StatusWindow (gtk.Window):
import WatchesFrame
class StatusWindow (gtk.Window):
- def __init__(self, mainctrlwnd, debugger):
-
+ def __init__(self, debugger):
gtk.Window.__init__(self)
gtk.Window.__init__(self)
+
self.debugger = debugger
self.debugger = debugger
+ self.debugger.gotActiveCallback += [self.updateValues]
self.set_border_width(5)
self.set_title("Status")
self.set_default_size(400,600)
self.connect("destroy", DbgTerminal.quitHandler)
self.set_border_width(5)
self.set_title("Status")
self.set_default_size(400,600)
self.connect("destroy", DbgTerminal.quitHandler)
+
+ #Vbox container of frames
vbox = gtk.VBox(False, 5)
self.add(vbox)
vbox = gtk.VBox(False, 5)
self.add(vbox)
- hbox = gtk.HBox(False, 5)
- vbox.pack_start(hbox, False, False)
+
+ #Adding the frames
+ self.frames = []
+ self.frames += [PositionFrame.PositionFrame(debugger), \
+ WatchesFrame.WatchesFrame(debugger), \
+ BreakpointsFrame.BreakpointsFrame(debugger) ]
- self.viewBtn = gtk.Button("View")
- self.viewBtn.connect("clicked", self.viewBtnClicked)
- hbox.pack_start(self.viewBtn, False, False)
- self.status = gtk.Label("Not Running")
- hbox.pack_start(self.status, False, False)
+ #Register callback after frames!
+ self.debugger.gotActiveCallback += [self.updateValues]
+ #First paned window
self.paned1 = gtk.VPaned()
vbox.add(self.paned1)
self.paned1 = gtk.VPaned()
vbox.add(self.paned1)
+ #Second one
+ self.paned2 = gtk.VPaned()
+ self.paned1.add2(self.paned2)
- #Adding the frames
- self.frames = []
- self.frames += [WatchesFrame.WatchesFrame(debugger)]
- self.frames += [BreakpointsFrame.BreakpointsFrame(debugger)]
- self.paned1.add1(self.frames[0])
- self.paned1.add2(self.frames[1])
-
- #Register callback function for new positions
- #and update the values
- mainctrlwnd.newPosCbs += [self.updateValues]
+ self.paned1.add1(self.frames[1])
+ self.paned2.add1(self.frames[2])
+ self.paned2.add2(self.frames[0])
self.show_all()
self.show_all()
@@
-62,11
+65,14
@@
class StatusWindow (gtk.Window):
w = conf.findInt("statuswnd-width")
h = conf.findInt("statuswnd-height")
paned1 = conf.findInt("statuswnd-paned1")
w = conf.findInt("statuswnd-width")
h = conf.findInt("statuswnd-height")
paned1 = conf.findInt("statuswnd-paned1")
+ paned2 = conf.findInt("statuswnd-paned2")
if w!=None and h!=None:
self.resize(w,h)
if paned1!=None:
self.paned1.set_position(paned1)
if w!=None and h!=None:
self.resize(w,h)
if paned1!=None:
self.paned1.set_position(paned1)
+ if paned2!=None:
+ self.paned2.set_position(paned2)
while not self.debugger.isActive():
while not self.debugger.isActive():
@@
-81,38
+87,19
@@
class StatusWindow (gtk.Window):
conf.addInt("statuswnd-width", self.get_size()[0])
conf.addInt("statuswnd-height", self.get_size()[1])
conf.addInt("statuswnd-paned1", self.paned1.get_position())
conf.addInt("statuswnd-width", self.get_size()[0])
conf.addInt("statuswnd-height", self.get_size()[1])
conf.addInt("statuswnd-paned1", self.paned1.get_position())
+ conf.addInt("statuswnd-paned2", self.paned2.get_position())
for f in self.frames:
f.fillConfiguration(conf)
for f in self.frames:
f.fillConfiguration(conf)
- def updateValues(self, pos):
-
- if pos == None:
- self.status.set_text("Exited")
- else:
- file, lineno = pos
- self.status.set_text("%s:%s" % (file, lineno))
-
- for f in self.frames:
- f.updateValues(pos)
-
-
- def viewBtnClicked(self, btn):
-
- status = self.status.get_label().strip()
- rx = re.compile("\S+:\d+")
+ def updateValues(self, status, param):
- #It is a path
- if rx.search(status):
- try:
- [file,lineno] = string.split(status,":")
- lineno = int(lineno)
-
- os.system('gvim -R -c ":%d" %s' % (lineno,file))
+ conf = Configuration.Configuration()
+ self.fillConfiguration(conf)
+ conf.store(".pygdb.conf")
- except OSError:
- pass
+ DbgTerminal.updateVim()