From f3af1f5b7ff78b3f73d7510622fc9633dec36d35 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Wed, 19 Oct 2022 13:23:22 -0500 Subject: Refactor to 'gui/toolkit/' * add a example cmds/consolemouse uses a console button to launch the andlabs/ui * fix wrong return value in toolkit/NewLabel() * redirect STDIN output to a file * wonderful fix of Window() exit * finally remove the ancient stupid variables x & y * phase out struct 'box' and use 'node' instead * better names for things: use NewFoo() and NewBar() --- toolkit/andlabs/structs.go | 64 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 59 insertions(+), 5 deletions(-) (limited to 'toolkit/andlabs/structs.go') diff --git a/toolkit/andlabs/structs.go b/toolkit/andlabs/structs.go index ab75139..a089a12 100644 --- a/toolkit/andlabs/structs.go +++ b/toolkit/andlabs/structs.go @@ -9,6 +9,10 @@ import "github.com/davecgh/go-spew/spew" var DebugToolkit bool = false +var streachy = true +var border = true + + // stores the raw toolkit internals type Toolkit struct { id string @@ -18,8 +22,12 @@ type Toolkit struct { Height int OnChanged func(*Toolkit) + OnExit func(*Toolkit) + + Custom func() uiBox *ui.Box + uiBox2 *ui.Box // temporary hack while implementing tabs uiButton *ui.Button uiControl *ui.Control uiEntry *ui.Entry @@ -30,11 +38,7 @@ type Toolkit struct { uiTab *ui.Tab uiText *ui.EditableCombobox uiWindow *ui.Window -} - -func (t *Toolkit) Dump() { - log.Println("gui.Toolkit.Dump() uiBox =", t.uiBox) - log.Println("gui.Toolkit.Dump() uiGroup =", t.uiGroup) + UiWindowBad *ui.Window } func (t *Toolkit) GetText() string { @@ -68,6 +72,31 @@ func (t *Toolkit) SetText(s string) bool { return false } +func sanity(t *Toolkit) bool { + if (DebugToolkit) { + log.Println("gui.Toolkit.Value() Enter") + scs := spew.ConfigState{MaxDepth: 1} + scs.Dump(t) + } + if (t.uiEntry == nil) { + if (DebugToolkit) { + log.Println("gui.Toolkit.Value() =", t.uiEntry.Text) + } + return false + } + return true +} + +func (t *Toolkit) SetValue(i int) bool { + log.Println("gui.Toolkit.SetValue() START") + if (sanity(t)) { + return false + } + t.Dump() + // panic("got to toolkit.SetValue") + return true +} + func (t *Toolkit) Value() int { if (DebugToolkit) { log.Println("gui.Toolkit.Value() Enter") @@ -93,3 +122,28 @@ func (t *Toolkit) Value() int { log.Println("gui.Toolkit.Value() Could not find a ui element to get a value from") return 0 } + +func (t *Toolkit) Dump() { + log.Println("gui.Toolkit.Dump()", t.Name, t.Width, t.Height) + if (t.uiBox != nil) { + log.Println("gui.Toolkit.Dump() uiBox =", t.uiBox) + } + if (t.uiButton != nil) { + log.Println("gui.Toolkit.Dump() uiButton =", t.uiButton) + } + if (t.uiWindow != nil) { + log.Println("gui.Toolkit.Dump() uiWindow =", t.uiWindow) + } + if (t.uiTab != nil) { + log.Println("gui.Toolkit.Dump() uiTab =", t.uiTab) + } + if (t.uiGroup != nil) { + log.Println("gui.Toolkit.Dump() uiGroup =", t.uiGroup) + } + if (t.uiSlider != nil) { + log.Println("gui.Toolkit.Dump() uiSlider =", t.uiSlider) + } + if (t.OnExit != nil) { + log.Println("gui.Toolkit.Dump() uiExit =", t.OnExit) + } +} -- cgit v1.2.3