only load python in vimrc when opening c,cpp files
[pygdb.git] / PositionFrame.py
index a75216350f977066132502bb563362fe4963afdd..0eb49f34bd3e15c71c49ae774cf7db6a4cad4a24 100644 (file)
@@ -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)