X-Git-Url: https://git.sthu.org/?a=blobdiff_plain;f=PositionFrame.py;h=985dccf914ceab57107520b17eca20515c2d0aaf;hb=382465d6c2f07b99c0263314405d1d8411072d23;hp=a75216350f977066132502bb563362fe4963afdd;hpb=0296b6d5afe20a15764842873917bf1d6aa34b77;p=pygdb.git diff --git a/PositionFrame.py b/PositionFrame.py index a752163..985dccf 100644 --- a/PositionFrame.py +++ b/PositionFrame.py @@ -32,7 +32,7 @@ class PositionFrame (StatusFrame.StatusFrame): vbox = gtk.VBox(False, 5) self.add(vbox) - hbox = gtk.HBox(False, 4) + hbox = gtk.HBox(False, 10) vbox.pack_start(hbox, False, False) self.openBtn = gtk.Button(":e") hbox.pack_start(self.openBtn, False, False) @@ -57,7 +57,7 @@ class PositionFrame (StatusFrame.StatusFrame): if self.file!=None: try: - cmd = 'gvim -R -c ":%d" %s' % (self.lineno, self.file) + cmd = 'gvim --servername pygdb -c ":GDBLoadConfig" %s' % (self.file) os.system(cmd) except OSError: dialog = gtk.MessageDialog(None, \ @@ -69,15 +69,25 @@ class PositionFrame (StatusFrame.StatusFrame): def updateValues(self, status, param): + + #Create new text buffer for source view + buf = gtk.TextBuffer() if status == "break": self.file, self.lineno = param self.positionLabel.set_label("%s:%d" % (self.file, self.lineno)) + + #Get some code + code = self.debugger.getBacktrace() + buf.set_text(code) + + else: - self.file, self.lineno = None, 0 + self.file, self.lineno = None, None + code = "" if status == "exited": - self.positionLabel.set_label("Exited.") + self.positionLabel.set_label("Exited with code %d." % param) elif status == "started": self.positionLabel.set_label("Started.") elif status == "continued": @@ -85,10 +95,16 @@ class PositionFrame (StatusFrame.StatusFrame): else: self.positionLabel.set_label(status) + + #Set the buffer + self.srcview.set_buffer(buf) + + + def applyConfiguration(self, conf): pass def fillConfiguration(self, conf): - pass + conf.setCurrpos(self.file, self.lineno)