summaryrefslogtreecommitdiff
path: root/demo-window.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2022-10-08 23:22:47 -0500
committerJeff Carr <[email protected]>2022-10-08 23:22:47 -0500
commit086986b6b8f55d15d18595bcbf3f76c023365b61 (patch)
tree9f1dc4da5b2d125f7a017418d4d9912e16b71039 /demo-window.go
parentf92a50e2e665a18e2201f1d6714025dcc39301cc (diff)
parent45644ef9bc333f5def62d1c7f474dc96274e63fa (diff)
Merge branch 'master' into jcarr
Diffstat (limited to 'demo-window.go')
-rw-r--r--demo-window.go92
1 files changed, 92 insertions, 0 deletions
diff --git a/demo-window.go b/demo-window.go
new file mode 100644
index 0000000..6cbb5fd
--- /dev/null
+++ b/demo-window.go
@@ -0,0 +1,92 @@
+package gui
+
+import "log"
+import "github.com/andlabs/ui"
+import _ "github.com/andlabs/ui/winmanifest"
+
+var mybox *ui.Box
+
+func (n *Node) AddGroup(title string) *Node {
+ if (n == nil) {
+ return nil
+ }
+ hbox := n.uiBox
+ if (hbox == nil) {
+ return n
+ }
+ group := ui.NewGroup(title)
+ group.SetMargined(true)
+ hbox.Append(group, Config.Stretchy)
+
+ vbox := ui.NewVerticalBox()
+ vbox.SetPadded(true)
+ group.SetChild(vbox)
+
+ newNode := n.AddNode(title)
+ newNode.uiBox = vbox
+ return newNode
+}
+
+func (n *Node) MakeBasicControlsPage(title string) *Node {
+ if (n == nil) {
+ return nil
+ }
+ origbox := n.uiBox
+ if (origbox == nil) {
+ return n
+ }
+
+ vbox := ui.NewVerticalBox()
+ vbox.SetPadded(true)
+
+ hbox := ui.NewHorizontalBox()
+ hbox.SetPadded(true)
+ vbox.Append(hbox, false)
+
+ hbox.Append(ui.NewButton("Button"), false)
+ hbox.Append(ui.NewCheckbox("Checkbox"), false)
+
+ vbox.Append(ui.NewLabel("This is a label. Right now, labels can only span one line."), false)
+
+ vbox.Append(ui.NewHorizontalSeparator(), false)
+
+ group := ui.NewGroup("Entries")
+ group.SetMargined(true)
+ vbox.Append(group, true)
+
+ group.SetChild(ui.NewNonWrappingMultilineEntry())
+
+ entryForm := ui.NewForm()
+ entryForm.SetPadded(true)
+ group.SetChild(entryForm)
+
+ entryForm.Append("Entry", ui.NewEntry(), false)
+ entryForm.Append("Password Entry", ui.NewPasswordEntry(), false)
+ entryForm.Append("Search Entry", ui.NewSearchEntry(), false)
+ entryForm.Append("Multiline Entry", ui.NewMultilineEntry(), true)
+ entryForm.Append("Multiline Entry No Wrap", ui.NewNonWrappingMultilineEntry(), true)
+
+ origbox.Append(vbox, false)
+ newNode := n.AddNode(title)
+ newNode.uiBox = vbox
+ return newNode
+}
+
+func (n *Node) MakeGroupEdit(title string) *Node {
+ n.Dump()
+
+ group := ui.NewGroup(title)
+ group.SetMargined(true)
+ n.uiBox.Append(group, Config.Stretchy)
+
+ entrybox := ui.NewNonWrappingMultilineEntry()
+
+ group.SetChild(entrybox)
+
+ log.Println("entrybox =", entrybox)
+ n.uiMultilineEntry = entrybox
+ newNode := n.AddNode(title)
+ newNode.uiMultilineEntry = entrybox
+ newNode.uiGroup = group
+ return newNode
+}