summaryrefslogtreecommitdiff
path: root/toolkit/andlabs/group.go
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/andlabs/group.go')
-rw-r--r--toolkit/andlabs/group.go75
1 files changed, 12 insertions, 63 deletions
diff --git a/toolkit/andlabs/group.go b/toolkit/andlabs/group.go
index 717da42..a44c5b6 100644
--- a/toolkit/andlabs/group.go
+++ b/toolkit/andlabs/group.go
@@ -7,7 +7,9 @@ import (
_ "github.com/andlabs/ui/winmanifest"
)
-func newGroup(parentW *toolkit.Widget, w *toolkit.Widget) {
+func newGroup(a *toolkit.Action) {
+ w := a.Widget
+ parentW := a.Where
log(debugToolkit, "NewGroup()", w.Name)
t := mapToolkits[parentW]
@@ -16,7 +18,8 @@ func newGroup(parentW *toolkit.Widget, w *toolkit.Widget) {
listMap(debugToolkit)
}
newt := t.rawGroup(w.Name)
- mapWidgetsToolkits(w, newt)
+ place(a, t, newt)
+ mapWidgetsToolkits(a, newt)
}
// make new Group here
@@ -29,69 +32,15 @@ func (t *andlabsT) rawGroup(title string) *andlabsT {
g := ui.NewGroup(newt.Name)
g.SetMargined(margin)
newt.uiGroup = g
+ newt.uiControl = g
- t.doAppend(toolkit.Group, &newt, nil)
+// hbox := ui.NewVerticalBox()
+// hbox.SetPadded(padded)
+// g.SetChild(hbox)
- hbox := ui.NewVerticalBox()
- hbox.SetPadded(padded)
- g.SetChild(hbox)
-
- newt.uiBox = hbox
- newt.uiWindow = t.uiWindow
- newt.uiTab = t.uiTab
+// newt.uiBox = hbox
+// newt.uiWindow = t.uiWindow
+// newt.uiTab = t.uiTab
return &newt
}
-
-// This routine is very specific to this toolkit
-// It's annoying and has to be copied to each widget when there are changes
-// it could be 'simplfied' maybe or made to be more generic, but this is as far as I've gotten
-// it's probably not worth working much more on this toolkit, the andlabs/ui has been great and got me here!
-// but it's time to write direct GTK, QT, macos and windows toolkit plugins
-// -- jcarr 2023/03/09
-
-func doGroup(p *toolkit.Widget, c *toolkit.Widget) {
- if broken(c) {
- return
- }
- log(debugChange, "Going to attempt:", c.Action)
- if (c.Action == "New") {
- newGroup(p, c)
- return
- }
- ct := mapToolkits[c]
- if (ct == nil) {
- log(debugError, "Trying to do something on a widget that doesn't work or doesn't exist or something", c)
- return
- }
- if ct.broken() {
- log(debugError, "Group() ct.broken", ct)
- return
- }
- if (ct.uiGroup == nil) {
- log(debugError, "Label() uiGroup == nil", ct)
- return
- }
- switch c.Action {
- case "Enable":
- ct.uiGroup.Enable()
- case "Disable":
- ct.uiGroup.Disable()
- case "Show":
- ct.uiGroup.Show()
- case "Hide":
- ct.uiGroup.Hide()
- case "Get":
- c.S = ct.uiGroup.Title()
- case "Set":
- ct.uiGroup.SetTitle(c.S)
- case "SetText":
- ct.uiGroup.SetTitle(c.S)
- case "SetMargin":
- ct.uiGroup.SetMargined(c.B)
- case "Destroy":
- ct.uiGroup.Destroy()
- default:
- log(debugError, "Can't do", c.Action, "to a Group")
- }
-}