import vte
-import GdbTerminal
+import DbgTerminal
import ClientIOTerminal
class MainControlWindow (gtk.Window):
- #Callbacks for new positions
- newPosCbs = []
-
def __init__(self, dbgterm):
#Set up GTK stuff
gtk.Window.__init__(self)
- self.connect("destroy", lambda *w: gtk.main_quit())
+ self.connect("destroy", DbgTerminal.quitHandler )
+
+ #Callbacks for new positions
+ self.newPosCbs = []
#Set terminals
self.dbgterm = dbgterm
#Set title and add terminal
self.set_title("Main Control")
self.set_border_width(5)
+
+ #Vertical box. Top: Buttons, Bottom: Terminal vpane
+ vbox = gtk.VBox(False,5)
+ self.add(vbox)
- #The main horizontal pane left=buttons, right=terminals
- hbox = gtk.HBox(False,0)
- self.add(hbox)
- hpaned = gtk.HPaned()
- hbox.pack_start(hpaned, True, True)
-
-
-
- #Plug together the buttons
- vbox = gtk.VButtonBox()
- vbox.set_layout(gtk.BUTTONBOX_START)
- hpaned.add1(vbox)
+ #Button box
+ hbtnbox = gtk.HBox(False, spacing=5)
+ #hbtnbox.set_layout(gtk.BUTTONBOX_START)
+ vbox.pack_start(hbtnbox)
self.runBtn = gtk.Button("Run")
- vbox.add(self.runBtn)
+ hbtnbox.add(self.runBtn)
self.continueBtn = gtk.Button("Continue")
- vbox.add(self.continueBtn)
+ hbtnbox.add(self.continueBtn)
self.stepoverBtn = gtk.Button("Step Over")
- vbox.add(self.stepoverBtn)
+ hbtnbox.add(self.stepoverBtn)
self.stepinBtn = gtk.Button("Step In")
- vbox.add(self.stepinBtn)
+ hbtnbox.add(self.stepinBtn)
self.quitBtn = gtk.Button("Quit")
- vbox.add(self.quitBtn)
-
-
- #Plug together the terminals
- vbox = gtk.VBox()
- hpaned.add2(vbox)
+ hbtnbox.add(self.quitBtn)
+ #Vertical pane for terminals
vpaned = gtk.VPaned()
vbox.pack_start(vpaned, True, True)
vpaned.add(self.dbgterm)
#Install handlers
self.runBtnHandler = self.runBtn.connect('clicked', self.runBtnClicked)
- self.continueBtnHandler = self.continueBtn.connect('clicked', self.continueBtnClicked)
- self.stepoverBtnHandler = self.stepoverBtn.connect('clicked', self.stepoverBtnClicked)
+ self.continueBtnHandler = self.continueBtn.connect('clicked', \
+ self.continueBtnClicked)
+ self.stepoverBtnHandler = self.stepoverBtn.connect('clicked', \
+ self.stepoverBtnClicked)
self.stepinBtnHandler = self.stepinBtn.connect('clicked', self.stepinBtnClicked)
self.quitBtnHandler = self.quitBtn.connect('clicked', self.quitBtnClicked)
cb(pos)
-
-
-if __name__ == "__main__":
-
-
- import StatusWindow
-
-
- clientCmd = string.join(sys.argv[1:])
- dbgterm = GdbTerminal.GdbTerminal(clientCmd)
- mainCtrlWnd = MainControlWindow(dbgterm)
-
- statusWnd = StatusWindow.StatusWindow(mainCtrlWnd, dbgterm)
- mainCtrlWnd.newPosCbs += [statusWnd.updateValues]
-
- gtk.main()
-
-