X-Git-Url: https://git.sthu.org/?a=blobdiff_plain;f=pygdb.py;h=d3cf2690d478bec972ca7fd70cd696d1bf320fe4;hb=fd54ea4a2710afa2bd51e2b8600c4577bdfccc0d;hp=be9ecb05444d1036c3fa9feaa35df6945f3e8daf;hpb=cfcc39662a53b6f7a77c7ec8f05478227c5f137f;p=pygdb.git diff --git a/pygdb.py b/pygdb.py index be9ecb0..d3cf269 100755 --- a/pygdb.py +++ b/pygdb.py @@ -4,6 +4,7 @@ __author__ = "shuber" import gtk +import os import string import sys @@ -12,17 +13,34 @@ import MainControlWindow 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() - print "run" - gtk.main() + return dbgterm, mainCtrlWnd, statusWnd @@ -36,5 +54,6 @@ if __name__ == "__main__": #Create the terminals clientCmd = string.join(sys.argv[1:]) launchDebugger(clientCmd) + gtk.main()