new-gui/toolkit/andlabs/group.go

57 lines
1.3 KiB
Go
Raw Normal View History

package main
import (
"git.wit.org/wit/gui/toolkit"
"github.com/andlabs/ui"
_ "github.com/andlabs/ui/winmanifest"
)
func newGroup(parentW *toolkit.Widget, w *toolkit.Widget) {
log(debugToolkit, "gui.andlabs.NewGroup()", w.Name)
t := mapToolkits[parentW]
if (t == nil) {
log(debugToolkit, "go.andlabs.NewGroup() toolkit struct == nil. name=", parentW.Name, w.Name)
listMap(debugToolkit)
}
newt := t.NewGroup(w.Name)
mapWidgetsToolkits(w, newt)
}
// make new Group here
func (t andlabsT) NewGroup(title string) *andlabsT {
var newt andlabsT
log(debugToolkit, "NewGroup() create", title)
g := ui.NewGroup(title)
g.SetMargined(margin)
if (t.uiBox != nil) {
// TODO: temporary hack to make the output textbox 'fullscreen'
if (title == "output") {
t.uiBox.Append(g, true)
} else {
t.uiBox.Append(g, stretchy)
}
} else if (t.uiWindow != nil) {
t.uiWindow.SetChild(g)
} else {
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")
}
hbox := ui.NewVerticalBox()
hbox.SetPadded(padded)
g.SetChild(hbox)
newt.uiGroup = g
newt.uiBox = hbox
newt.uiWindow = t.uiWindow
newt.Name = title
return &newt
}