summaryrefslogtreecommitdiff
path: root/demo-window.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2021-10-27 16:31:54 -0500
committerJeff Carr <[email protected]>2021-10-27 16:31:54 -0500
commit81c44bce5313d4415a0fa062ececc4547832d66d (patch)
tree050d019f1f80587d9112a1a7d18e6994707fd7dc /demo-window.go
parent10e13423db08e282a1f41c2f38f348d630cfca96 (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.go127
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
+}