diff options
Diffstat (limited to 'toolkit/andlabs/group.go')
| -rw-r--r-- | toolkit/andlabs/group.go | 75 |
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") - } -} |
