104 lines
3.0 KiB
Go
104 lines
3.0 KiB
Go
package main
|
|
|
|
import (
|
|
"git.wit.org/wit/gui/toolkit"
|
|
|
|
"github.com/andlabs/ui"
|
|
_ "github.com/andlabs/ui/winmanifest"
|
|
)
|
|
|
|
// move all the append code here
|
|
func (t *andlabsT) doAppend(kind toolkit.WidgetType, newt *andlabsT, c *ui.Control) {
|
|
if (kind == toolkit.Grid) {
|
|
log(debugToolkit, "doAppend() attempt to append a ui.Control into a 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(debugToolkit, "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(debugToolkit, "doAppend() on uiGrid failed")
|
|
return
|
|
}
|
|
|
|
if (kind == toolkit.Group) {
|
|
log(debugToolkit, "doAppend() attempt 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(debugToolkit, "This is a raw window without a box. probably make a box here and add the group to that")
|
|
newt.Dump(debugToolkit)
|
|
t.uiBox = ui.NewHorizontalBox()
|
|
t.uiWindow.SetChild(t.uiBox)
|
|
log(debugToolkit, "tried to make a box", t.uiBox)
|
|
if (newt.Name == "output") {
|
|
log(debugToolkit, "tried to t.uiBox.Append(*c, true)")
|
|
if (t.uiBox == nil) {
|
|
log(debugToolkit, "tried to t.uiBox.Append(*c, true)")
|
|
}
|
|
t.uiBox.Append(newt.uiGroup, true)
|
|
} else {
|
|
log(debugToolkit, "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 (kind == toolkit.Textbox) {
|
|
if (t.uiBox == nil) {
|
|
log(debugError, "NewTextbox() 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")
|
|
}
|
|
// 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(debugToolkit, "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(debugToolkit, "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")
|
|
}
|