summaryrefslogtreecommitdiff
path: root/andlabs/box.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-01-10 15:35:42 -0600
committerJeff Carr <[email protected]>2024-01-10 15:35:42 -0600
commitba5ce49e7aea4b05645d0aac1e5d93049c1344df (patch)
tree20e006cbd5f702754bb81b535d3a562de59a4c85 /andlabs/box.go
parentfc9be41013773950f946bef6f3271c5d761a027a (diff)
fix dropdown.Set() and place() on group
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'andlabs/box.go')
-rw-r--r--andlabs/box.go35
1 files changed, 34 insertions, 1 deletions
diff --git a/andlabs/box.go b/andlabs/box.go
index 06f8a13..93a4fef 100644
--- a/andlabs/box.go
+++ b/andlabs/box.go
@@ -10,7 +10,7 @@ func (p *node) newBox(n *node) {
newt := new(guiWidget)
var box *ui.Box
- if (n.B) {
+ if (n.horizontal) {
box = ui.NewHorizontalBox()
} else {
box = ui.NewVerticalBox()
@@ -23,3 +23,36 @@ func (p *node) newBox(n *node) {
n.tk = newt
p.place(n)
}
+
+/*
+ rawBox -- hack to arbitrarily add a box in andlabs to work
+ around the problem that a "group" can not have one entry in it
+ TODO: fix this so that a box is "added on demand" that is,
+ if "go.wit.com/gui/gui" sends you a 2nd thing to add to a group,
+ automatically add a box then. The problem with this, is the macos, windows and linux gtk
+ will panic on a move when an chind object is disasociated from the group
+ I haven't had time to try to debug this, so, instead, it's just probably better to always
+ add a box here. There doesn't seem to be any real issue with forcing a box to be inserted
+ into the toolkits that is "outside" the binary tree of widgets. This only means, that on
+ a destroy of the tree, this box must be checked
+
+ even that is a probably not senario however since clicking on the close box in the toolkit
+ has the operating system destroy everything in the window. it may or may not be possible
+ to control that behavior. at this time, it's "undetermined" and the best course of action
+ is to detect the window is destroyed and then remove all the toolkit information
+ from all the nodes in the binary tree
+
+ TODO: handle user killing/closing a window using the OS
+*/
+func (n *node) rawBox() *ui.Box {
+ var box *ui.Box
+
+ if (n.horizontal) {
+ box = ui.NewHorizontalBox()
+ } else {
+ box = ui.NewVerticalBox()
+ }
+ box.SetPadded(true)
+
+ return box
+}