Add LICENSE
[pygdb.git] / StatusWindow.py
index 3209fed5b94e69141518965cfc87363c7dc938e1..ae9903637ed48b4edd96a66bd2db775e5224c346 100644 (file)
@@ -10,6 +10,7 @@ import string
 import os
 import vte
 
+import Configuration
 import DbgTerminal
 import BreakpointsFrame
 import PositionFrame
@@ -19,10 +20,12 @@ import WatchesFrame
 
 class StatusWindow (gtk.Window):
 
-       def __init__(self, debugger):
+       def __init__(self, debugger, vimservername):
                gtk.Window.__init__(self)
 
+               self.vimservername = vimservername
                self.debugger = debugger
+               self.debugger.gotActiveCallback += [self.updateValues]
                
                self.set_border_width(5)
                self.set_title("Status")
@@ -37,10 +40,12 @@ class StatusWindow (gtk.Window):
        
                #Adding the frames
                self.frames = []
-               self.frames += [PositionFrame.PositionFrame(debugger), \
+               self.frames += [PositionFrame.PositionFrame(debugger,self), \
                                WatchesFrame.WatchesFrame(debugger), \
                                BreakpointsFrame.BreakpointsFrame(debugger) ]
 
+               #Register callback after frames!
+               self.debugger.gotActiveCallback += [self.updateValues]
 
                #First paned window
                self.paned1 = gtk.VPaned()
@@ -85,6 +90,28 @@ class StatusWindow (gtk.Window):
                conf.addInt("statuswnd-paned1", self.paned1.get_position())
                conf.addInt("statuswnd-paned2", self.paned2.get_position())
 
+               conf.setCommand( self.debugger.clientCmd )
+
                for f in self.frames:
                        f.fillConfiguration(conf)
 
+
+       def updateValues(self, status, param):
+
+               conf = Configuration.Configuration()
+               self.fillConfiguration(conf)
+               conf.store(".pygdb.conf")
+
+               self.updateVim()
+
+
+       def updateVim(self):
+               os.system('gvim --servername %s --remote-send "<ESC> :GDBLoadConfig<CR>"' % \
+                       self.vimservername)
+
+       def gotoVim(self, file, lineno):
+               file = self.debugger.toAbsPath(file)            
+               os.system('gvim --servername %s --remote-send "<ESC>:e %s<CR>:%s<CR>"' % \
+                       (self.vimservername, file, lineno))
+
+