diff --git a/structs.go b/structs.go index 90a674b..514febe 100644 --- a/structs.go +++ b/structs.go @@ -19,6 +19,7 @@ type GuiConfig struct { Height int Debug bool DebugTable bool + Exit func(*GuiWindow) } type GuiData struct { diff --git a/window.go b/window.go index 6a4c26f..80f9908 100644 --- a/window.go +++ b/window.go @@ -83,7 +83,13 @@ func InitWindow(gw *GuiWindow, name string, axis int) *GuiBox { newGuiWindow.UiWindow.OnClosing(func(*ui.Window) bool { log.Println("initTabWindow() OnClosing() THIS WINDOW IS CLOSING newGuiWindow=", newGuiWindow) - ui.Quit() + // newGuiWindow.UiWindow.Destroy() + if (Config.Exit == nil) { + ui.Quit() + } else { + // allow a custom exit function + Config.Exit(&newGuiWindow) + } return true })