__author__ = "shuber"
import gtk
+import os
import string
import sys
import StatusWindow
-def launchDebugger(clientCmd):
+def launchDebugger(clientCmd, quitonclose=True):
+
+
+
+ def hideWindows():
+ #Kill the debugger
+ dbgterm.stopDbg()
+
+ mainCtrlWnd.destroy()
+ statusWnd.destroy()
+ gtk.main_quit()
+
+
+
+ #Determine the closing callback func
+ if quitonclose:
+ destroycb = gtk.main_quit
+ else:
+ destroycb = hideWindows
+
#Create Terminal
- dbgterm = GdbTerminal.GdbTerminal(clientCmd)
+ dbgterm = GdbTerminal.GdbTerminal(clientCmd, destroycb)
#Create windows
- mainCtrlWnd = MainControlWindow.MainControlWindow(dbgterm)
- statusWnd = StatusWindow.StatusWindow(mainCtrlWnd, dbgterm)
+ mainCtrlWnd = MainControlWindow.MainControlWindow(dbgterm, destroycb)
+ statusWnd = StatusWindow.StatusWindow(mainCtrlWnd, dbgterm, destroycb)
dbgterm.initialize()
- gtk.main()
+ return dbgterm, mainCtrlWnd, statusWnd
#Create the terminals
clientCmd = string.join(sys.argv[1:])
launchDebugger(clientCmd)
+ gtk.main()