From 355e5ec968427c2b07b78fec12224f31a65df740 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Mon, 14 Nov 2022 14:30:28 -0600 Subject: setup building without plugins on windows notes from github remote keep removing os.Exit() rename from andlabs2 back to andlabs rename files for windows andlabs/ui gocui always sets STDOUT a file in /tmp/ Signed-off-by: Jeff Carr --- toolkit/andlabs-direct/window.go | 66 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 toolkit/andlabs-direct/window.go (limited to 'toolkit/andlabs-direct/window.go') diff --git a/toolkit/andlabs-direct/window.go b/toolkit/andlabs-direct/window.go new file mode 100644 index 0000000..efbd672 --- /dev/null +++ b/toolkit/andlabs-direct/window.go @@ -0,0 +1,66 @@ +package toolkit + +import ( + "log" + + "github.com/andlabs/ui" + _ "github.com/andlabs/ui/winmanifest" +) + +func (t *Toolkit) MessageWindow(msg1 string, msg2 string) { + ui.MsgBox(t.uiWindow, msg1, msg2) +} + +func (t *Toolkit) ErrorWindow(msg1 string, msg2 string) { + ui.MsgBoxError(t.uiWindow, msg1, msg2) +} + +func NewWindow(title string, x int, y int) *Toolkit { + var t Toolkit + if (DebugToolkit) { + log.Println("toolkit NewWindow", title, x, y) + } + w := ui.NewWindow(title, x, y, menubar) + w.SetBorderless(canvas) + w.SetMargined(margin) + w.OnClosing(func(*ui.Window) bool { + if (DebugToolkit) { + log.Println("ui.Window().OnExit() SHOULD ATTEMPT CALLBACK here") + t.Dump() + } + if (t.OnExit != nil) { + if (DebugToolkit) { + log.Println("ui.Window().OnExit() ATTEMPTING toolkit.OnExit CALLBACK") + } + t.OnExit(&t) + } + if (t.Custom != nil) { + if (DebugToolkit) { + log.Println("ui.Window().Custom() ATTEMPTING toolkit.Custom CALLBACK") + } + t.Custom() + } + if (DebugToolkit) { + log.Println("ui.Window().OnExit() Toolkit.OnExit is nil") + } + return true + }) + w.Show() + t.uiWindow = w + t.UiWindowBad = w // deprecate this as soon as possible + return &t +} + +func (t *Toolkit) SetWindowTitle(title string) { + if (DebugToolkit) { + log.Println("toolkit NewWindow", t.Name, "title", title) + } + win := t.uiWindow + if (win != nil) { + win.SetTitle(title) + } else { + if (DebugToolkit) { + log.Println("Setting the window title", title) + } + } +} -- cgit v1.2.3