X-Git-Url: https://git.sthu.org/?a=blobdiff_plain;f=PositionFrame.py;h=0eb49f34bd3e15c71c49ae774cf7db6a4cad4a24;hb=0275a5723fec01327021ade901517292c8b65b2d;hp=a75216350f977066132502bb563362fe4963afdd;hpb=0296b6d5afe20a15764842873917bf1d6aa34b77;p=pygdb.git diff --git a/PositionFrame.py b/PositionFrame.py index a752163..0eb49f3 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 = string.join(self.debugger.getBacktrace(), "\n") + 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)