__author__ = "shuber"
import gtk
+import os
import string
import sys
import StatusWindow
+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, destroycb)
+
+ #Create windows
+ mainCtrlWnd = MainControlWindow.MainControlWindow(dbgterm, destroycb)
+ statusWnd = StatusWindow.StatusWindow(mainCtrlWnd, dbgterm, destroycb)
+ dbgterm.initialize()
+
+ return dbgterm, mainCtrlWnd, statusWnd
+
+
+
if __name__ == "__main__":
#Check if enough arguments are given
#Create the terminals
clientCmd = string.join(sys.argv[1:])
- dbgterm = GdbTerminal.GdbTerminal(clientCmd)
-
- #Create windows
- mainCtrlWnd = MainControlWindow.MainControlWindow(dbgterm)
- statusWnd = StatusWindow.StatusWindow(mainCtrlWnd, dbgterm)
-
- #Register callback function for new positions
- mainCtrlWnd.newPosCbs += [statusWnd.updateValues]
-
+ launchDebugger(clientCmd)
gtk.main()
-