summaryrefslogtreecommitdiff
path: root/toolkit/andlabs/append.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2023-03-03 14:41:38 -0600
committerJeff Carr <[email protected]>2023-03-03 14:41:38 -0600
commit49202eeafdad8e5780fefdad3d2f87fd4354725e (patch)
tree5d749b5d4835c7a0395bd1f87b5d2d1d91b14a08 /toolkit/andlabs/append.go
parent80317ec89c94beadcbf3775f84c6010b5ceef302 (diff)
release as v0.6.5v0.6.5
good standard release really clean interaction to plugin really clean debug flags implementation common doAppend() idea, but it probably won't work re-implement combobox. this code base almost doesn't suck slider & spinner set values now tab set margin works convert dropdown to Send() lots of other changes to try to implement single line Entry() I guess use golang file names even though internalally the go developers use underscore chars in the actual go sources. Maybe there is a reason for that? go channel debug window does something make a debug window for channels. add sample icons Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'toolkit/andlabs/append.go')
-rw-r--r--toolkit/andlabs/append.go103
1 files changed, 103 insertions, 0 deletions
diff --git a/toolkit/andlabs/append.go b/toolkit/andlabs/append.go
new file mode 100644
index 0000000..811ffbc
--- /dev/null
+++ b/toolkit/andlabs/append.go
@@ -0,0 +1,103 @@
+package main
+
+import (
+ "git.wit.org/wit/gui/toolkit"
+
+ "github.com/andlabs/ui"
+ _ "github.com/andlabs/ui/winmanifest"
+)
+
+// make new Group here
+func (t *andlabsT) doAppend(newt *andlabsT, c *ui.Control) {
+
+ if (newt.tw != nil) {
+ if (newt.tw.Type == toolkit.Grid) {
+ log(true, "doAppend() going to attempt uiGrid")
+ // hack to add shit to a grid
+ button1 := ui.NewButton("a(0,2)")
+ newt.uiGrid.Append(button1,
+ 0, 2, 1, 1,
+ false, ui.AlignFill, false, ui.AlignFill)
+ button2 := ui.NewButton("a(1,2)")
+ newt.uiGrid.Append(button2,
+ 1, 2, 1, 1,
+ false, ui.AlignFill, false, ui.AlignFill)
+
+ if (t.uiBox != nil) {
+ log(true, "doAppend() on uiGrid to a uiBox")
+ if (newt.Name == "output") {
+ t.uiBox.Append(newt.uiGrid, true)
+ } else {
+ t.uiBox.Append(newt.uiGrid, stretchy)
+ }
+ return
+ }
+ log(true, "doAppend() on uiGrid failed")
+ return
+ }
+ } else {
+ log(true, "doAppend() newt.tw == nil ERROR on newt.Name =", newt.Name)
+ }
+
+ // hack to pass a group
+ if (c == nil) {
+ log(true, "attempting to doAppend() on a uiGroup")
+ if (t.uiBox != nil) {
+ if (newt.Name == "output") {
+ t.uiBox.Append(newt.uiGroup, true)
+ } else {
+ t.uiBox.Append(newt.uiGroup, stretchy)
+ }
+ return
+ }
+
+ if (t.uiWindow != nil) {
+ log(true, "This is a raw window without a box. probably make a box here and add the group to that")
+ t.Dump(true)
+ newt.Dump(true)
+ t.uiBox = ui.NewHorizontalBox()
+ t.uiWindow.SetChild(t.uiBox)
+ log(true, "tried to make a box", t.uiBox)
+ if (newt.Name == "output") {
+ log(true, "tried to t.uiBox.Append(*c, true)")
+ if (t.uiBox == nil) {
+ log(true, "tried to t.uiBox.Append(*c, true)")
+ }
+ t.uiBox.Append(newt.uiGroup, true)
+ } else {
+ log(true, "tried to t.uiBox.Append(*c, stretchy)")
+ t.uiBox.Append(newt.uiGroup, stretchy)
+ }
+ return
+ }
+
+ log(debugError, "NewGroup() node.UiBox == nil. I can't add a range UI element without a place to put it")
+ log(debugError, "probably could just make a box here?")
+ exit("internal wit/gui error")
+ }
+ if (t.uiBox != nil) {
+ // TODO: temporary hack to make the output textbox 'fullscreen'
+ if (newt.Name == "output") {
+ t.uiBox.Append(*c, true)
+ } else {
+ t.uiBox.Append(*c, stretchy)
+ }
+ return
+ }
+ if (t.uiWindow != nil) {
+ log(true, "This is a raw window without a box. probably make a box here and add the group to that")
+ t.uiBox = ui.NewHorizontalBox()
+ t.uiWindow.SetChild(t.uiBox)
+ log(true, "tried to make a box")
+ if (newt.Name == "output") {
+ t.uiBox.Append(*c, true)
+ } else {
+ t.uiBox.Append(*c, stretchy)
+ }
+ return
+ }
+
+ log(debugError, "NewGroup() node.UiBox == nil. I can't add a range UI element without a place to put it")
+ log(debugError, "probably could just make a box here?")
+ exit("internal wit/gui error")
+}