From c4012643faf61722e319e8126b0adc55bd67294d Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Mon, 25 Oct 2021 05:41:12 -0500 Subject: CLEAN: clean up labels Signed-off-by: Jeff Carr --- find.go | 35 +++++++++++++++++++++++ gui-example/main.go | 9 ++++-- gui.go | 2 +- main.go | 14 ---------- window-debug.go | 39 ++++++++++---------------- window-demo.go | 80 +++++++++++++++++++++++++++++++++++++++++++++++++++++ window-template.go | 80 ----------------------------------------------------- 7 files changed, 136 insertions(+), 123 deletions(-) create mode 100644 find.go create mode 100644 window-demo.go delete mode 100644 window-template.go diff --git a/find.go b/find.go new file mode 100644 index 0000000..baf1a45 --- /dev/null +++ b/find.go @@ -0,0 +1,35 @@ +package gui + +import ( + "log" + +// "github.com/andlabs/ui" +// _ "github.com/andlabs/ui/winmanifest" +// "github.com/davecgh/go-spew/spew" +) + + +func FindWindow(s string) *GuiWindow { + for name, window := range Data.WindowMap { + if name == s { + return window + } + } + log.Printf("COULD NOT FIND WINDOW", s) + return nil +} + +func FindBox(s string) *GuiBox { + for name, window := range Data.WindowMap { + if name != s { + continue + } + for name, abox := range window.BoxMap { + log.Printf("gui.DumpBoxes() \tBOX mapname=%-12s abox.Name=%-12s", name, abox.Name) + return abox + } + log.Println("gui.FindBox() NEED TO INIT WINDOW name =", name) + } + log.Println("gui.FindBox() COULD NOT FIND BOX", s) + return nil +} diff --git a/gui-example/main.go b/gui-example/main.go index 69f3172..c9e8cbd 100644 --- a/gui-example/main.go +++ b/gui-example/main.go @@ -26,10 +26,13 @@ func main() { } func initGUI() { - n := gui.NewWindow("jcarr start", 640, 480) - n.AddDemoTab("up the rabbit hole") + n := gui.NewWindow("WIT GUI Example Window", 640, 480) + n.AddDemoTab("A Simple Tab Demo") } +// This demonstrates how to properly interact with the GUI +// You can not involke the GUI from external goroutines in most cases. + func watchGUI() { var i = 1 for { @@ -37,7 +40,7 @@ func watchGUI() { i += 1 time.Sleep(1 * time.Second) if i == 4 { - log.Println("Sending ExampleWindow to gui.Queue()") + log.Println("Opening a Debug Window via the gui.Queue()") gui.Queue(gui.DebugWindow) } } diff --git a/gui.go b/gui.go index b9a8d06..4174133 100644 --- a/gui.go +++ b/gui.go @@ -23,7 +23,7 @@ func init() { Data.NodeSlice = make([]*Node, 0) Config.counter = 0 - Config.prefix = "jwc" + Config.prefix = "wit" Config.DebugNode = false Config.DebugTabs = false } diff --git a/main.go b/main.go index 203edff..9c8092f 100644 --- a/main.go +++ b/main.go @@ -40,17 +40,3 @@ func ExampleWindow() { window.UiWindow.Show() } - -func DebugWindow() { - log.Println("START gui.ExampleWindow()") - - title := "Debug Window" - node := InitWindow(nil, nil, title, 0) - box := node.box - window := box.Window - log.Println("box =", box) - log.Println("window =", window) - node.AddDebugTab("jcarr Debug") - - window.UiWindow.Show() -} diff --git a/window-debug.go b/window-debug.go index 3afe8e3..69eb7bb 100644 --- a/window-debug.go +++ b/window-debug.go @@ -11,6 +11,20 @@ import ( var names = make([]string, 100) var nodeNames = make([]string, 100) +func DebugWindow() { + log.Println("START gui.DebugWindow()") + + title := "WIT GUI Debug Window" + node := InitWindow(nil, nil, title, 0) + box := node.box + window := box.Window + log.Println("box =", box) + log.Println("window =", window) + node.AddDebugTab("WIT GUI Debug Tab") + + window.UiWindow.Show() +} + // TODO: remove this crap // What does this actually do? // It populates the nodeNames in a map. No, not a map, an array. What is the difference again? @@ -278,31 +292,6 @@ func addGroup(b *ui.Box, name string) *ui.Box { return vbox } -func FindWindow(s string) *GuiWindow { - for name, window := range Data.WindowMap { - if name == s { - return window - } - } - log.Printf("COULD NOT FIND WINDOW", s) - return nil -} - -func FindBox(s string) *GuiBox { - for name, window := range Data.WindowMap { - if name != s { - continue - } - for name, abox := range window.BoxMap { - log.Printf("gui.DumpBoxes() \tBOX mapname=%-12s abox.Name=%-12s", name, abox.Name) - return abox - } - log.Println("gui.FindBox() NEED TO INIT WINDOW name =", name) - } - log.Println("gui.FindBox() COULD NOT FIND BOX", s) - return nil -} - func dumpBox(s string) { var name string var window *GuiWindow diff --git a/window-demo.go b/window-demo.go new file mode 100644 index 0000000..82162dd --- /dev/null +++ b/window-demo.go @@ -0,0 +1,80 @@ +package gui + +import "log" +import "github.com/andlabs/ui" +import _ "github.com/andlabs/ui/winmanifest" + +func (n *Node) AddDemoTab(title string) { + newNode := n.AddTab(title, makeWindowTemplate()) + if (Config.DebugNode) { + newNode.Dump() + } + tabSetMargined(newNode.uiTab) +} + +func makeWindowTemplate() ui.Control { + hbox := ui.NewHorizontalBox() + hbox.SetPadded(true) + + group := ui.NewGroup("Numbers") + group.SetMargined(true) + hbox.Append(group, true) + + vbox := ui.NewVerticalBox() + vbox.SetPadded(true) + group.SetChild(vbox) + + spinbox := ui.NewSpinbox(47, 100) + slider := ui.NewSlider(21, 100) + pbar := ui.NewProgressBar() + + spinbox.OnChanged(func(*ui.Spinbox) { + slider.SetValue(spinbox.Value()) + pbar.SetValue(spinbox.Value()) + }) + slider.OnChanged(func(*ui.Slider) { + spinbox.SetValue(slider.Value()) + pbar.SetValue(slider.Value()) + }) + vbox.Append(spinbox, false) + vbox.Append(slider, false) + vbox.Append(pbar, false) + + ip := ui.NewProgressBar() + ip.SetValue(-1) + vbox.Append(ip, false) + + group = ui.NewGroup("Lists") + group.SetMargined(true) + hbox.Append(group, true) + + vbox = ui.NewVerticalBox() + vbox.SetPadded(true) + group.SetChild(vbox) + + cbox := ui.NewCombobox() + cbox.Append("Combobox Item 1") + cbox.Append("Combobox Item 2") + cbox.Append("Combobox Item 3") + vbox.Append(cbox, false) + + ecbox := ui.NewEditableCombobox() + ecbox.Append("Editable Item 1") + ecbox.Append("Editable Item 2") + ecbox.Append("Editable Item 3") + vbox.Append(ecbox, false) + + ecbox.OnChanged(func(*ui.EditableCombobox) { + log.Println("test") + test := ecbox.Text() + log.Println("test=", test) + }) + + rb := ui.NewRadioButtons() + rb.Append("Radio Button 1") + rb.Append("Radio Button 2") + rb.Append("Radio Button 3") + vbox.Append(rb, false) + + return hbox +} diff --git a/window-template.go b/window-template.go deleted file mode 100644 index 82162dd..0000000 --- a/window-template.go +++ /dev/null @@ -1,80 +0,0 @@ -package gui - -import "log" -import "github.com/andlabs/ui" -import _ "github.com/andlabs/ui/winmanifest" - -func (n *Node) AddDemoTab(title string) { - newNode := n.AddTab(title, makeWindowTemplate()) - if (Config.DebugNode) { - newNode.Dump() - } - tabSetMargined(newNode.uiTab) -} - -func makeWindowTemplate() ui.Control { - hbox := ui.NewHorizontalBox() - hbox.SetPadded(true) - - group := ui.NewGroup("Numbers") - group.SetMargined(true) - hbox.Append(group, true) - - vbox := ui.NewVerticalBox() - vbox.SetPadded(true) - group.SetChild(vbox) - - spinbox := ui.NewSpinbox(47, 100) - slider := ui.NewSlider(21, 100) - pbar := ui.NewProgressBar() - - spinbox.OnChanged(func(*ui.Spinbox) { - slider.SetValue(spinbox.Value()) - pbar.SetValue(spinbox.Value()) - }) - slider.OnChanged(func(*ui.Slider) { - spinbox.SetValue(slider.Value()) - pbar.SetValue(slider.Value()) - }) - vbox.Append(spinbox, false) - vbox.Append(slider, false) - vbox.Append(pbar, false) - - ip := ui.NewProgressBar() - ip.SetValue(-1) - vbox.Append(ip, false) - - group = ui.NewGroup("Lists") - group.SetMargined(true) - hbox.Append(group, true) - - vbox = ui.NewVerticalBox() - vbox.SetPadded(true) - group.SetChild(vbox) - - cbox := ui.NewCombobox() - cbox.Append("Combobox Item 1") - cbox.Append("Combobox Item 2") - cbox.Append("Combobox Item 3") - vbox.Append(cbox, false) - - ecbox := ui.NewEditableCombobox() - ecbox.Append("Editable Item 1") - ecbox.Append("Editable Item 2") - ecbox.Append("Editable Item 3") - vbox.Append(ecbox, false) - - ecbox.OnChanged(func(*ui.EditableCombobox) { - log.Println("test") - test := ecbox.Text() - log.Println("test=", test) - }) - - rb := ui.NewRadioButtons() - rb.Append("Radio Button 1") - rb.Append("Radio Button 2") - rb.Append("Radio Button 3") - vbox.Append(rb, false) - - return hbox -} -- cgit v1.2.3