diff options
| author | Jeff Carr <[email protected]> | 2021-10-27 16:31:54 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2021-10-27 16:31:54 -0500 |
| commit | 81c44bce5313d4415a0fa062ececc4547832d66d (patch) | |
| tree | 050d019f1f80587d9112a1a7d18e6994707fd7dc /demo-window.go | |
| parent | 10e13423db08e282a1f41c2f38f348d630cfca96 (diff) | |
REFACTOR: moving around things in the rabbit hole
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'demo-window.go')
| -rw-r--r-- | demo-window.go | 127 |
1 files changed, 127 insertions, 0 deletions
diff --git a/demo-window.go b/demo-window.go new file mode 100644 index 0000000..2bde8b4 --- /dev/null +++ b/demo-window.go @@ -0,0 +1,127 @@ +package gui + +import "log" +import "github.com/andlabs/ui" +import _ "github.com/andlabs/ui/winmanifest" + +var mybox *ui.Box + +func (n *Node) AddDemoTab(title string) { + newNode := n.AddTab(title, makeDemoTab()) + if (Config.DebugNode) { + newNode.Dump() + } + tabSetMargined(newNode.uiTab) + newNode.Dump() + newNode.ListChildren(false) + addDemoGroup(newNode, "new group 1") + addDemoGroup(newNode, "new group 2") + + groupNode := newNode.AddGroup("new group 3") + groupNode.AddComboBox("testing", "foo", "man", "blah") +} + +func makeDemoTab() *ui.Box { + hbox := ui.NewHorizontalBox() + hbox.SetPadded(true) + + group := ui.NewGroup("DemoEditBox") + group.SetMargined(true) + hbox.Append(group, true) + + vbox := ui.NewVerticalBox() + vbox.SetPadded(true) + group.SetChild(vbox) + + ecbox := ui.NewEditableCombobox() + ecbox.Append("foo 1") + ecbox.Append("man 2") + ecbox.Append("bar 3") + + ecbox.OnChanged(func(*ui.EditableCombobox) { + log.Println("test") + test := ecbox.Text() + log.Println("test=", test) + }) + + vbox.Append(ecbox, false) + + return hbox +} + +func addDemoGroup(n *Node, title string) { + hbox := n.uiBox + if (hbox == nil) { + return + } + group := ui.NewGroup(title) + group.SetMargined(true) + hbox.Append(group, true) + + vbox := ui.NewVerticalBox() + vbox.SetPadded(true) + group.SetChild(vbox) + + ecbox := ui.NewEditableCombobox() + ecbox.Append("foo 1") + ecbox.Append("man 2") + ecbox.Append("bar 3") + + ecbox.OnChanged(func(*ui.EditableCombobox) { + log.Println("test") + test := ecbox.Text() + log.Println("test=", test) + }) + + vbox.Append(ecbox, false) +} + +func (n *Node) AddGroup(title string) *Node { + hbox := n.uiBox + if (hbox == nil) { + return n + } + group := ui.NewGroup(title) + group.SetMargined(true) + hbox.Append(group, true) + + vbox := ui.NewVerticalBox() + vbox.SetPadded(true) + group.SetChild(vbox) + + newNode := n.AddNode(title) + newNode.uiBox = vbox + return newNode +} + +func (n *Node) GetText(title string) string { + if (n.uiText != nil) { + return n.uiText.Text() + } + return n.Name +} + +func (n *Node) AddComboBox(title string, s ...string) *Node { + box := n.uiBox + if (box == nil) { + return n + } + + ecbox := ui.NewEditableCombobox() + + for id, name := range s { + log.Println("Adding Combobox Entry:", id, name) + ecbox.Append(name) + } + + ecbox.OnChanged(func(*ui.EditableCombobox) { + test := ecbox.Text() + log.Println("text is now:", test) + }) + + box.Append(ecbox, false) + + newNode := n.AddNode(title) + newNode.uiText = ecbox + return newNode +} |
