61 lines
1.5 KiB
Go
61 lines
1.5 KiB
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"go.wit.com/toolkits/tree"
|
||
|
|
||
|
"go.wit.com/dev/andlabs/ui"
|
||
|
_ "go.wit.com/dev/andlabs/ui/winmanifest"
|
||
|
)
|
||
|
|
||
|
// It's probably a terrible idea to call this 'me'
|
||
|
var me config
|
||
|
|
||
|
type config struct {
|
||
|
rootNode *tree.Node // the base of the binary tree. it should have id == 0
|
||
|
treeRoot *tree.Node // the base of the binary tree. it should have id == 0
|
||
|
myTree *tree.TreeInfo
|
||
|
}
|
||
|
|
||
|
// stores the raw toolkit internals
|
||
|
type guiWidget struct {
|
||
|
Width int
|
||
|
Height int
|
||
|
|
||
|
// tw *toolkit.Widget
|
||
|
parent *guiWidget
|
||
|
children []*guiWidget
|
||
|
|
||
|
// used to track if a tab has a child widget yet
|
||
|
child bool
|
||
|
|
||
|
uiControl ui.Control
|
||
|
|
||
|
uiBox *ui.Box
|
||
|
uiButton *ui.Button
|
||
|
uiCombobox *ui.Combobox
|
||
|
uiCheckbox *ui.Checkbox
|
||
|
uiEntry *ui.Entry
|
||
|
uiGroup *ui.Group
|
||
|
uiLabel *ui.Label
|
||
|
uiSlider *ui.Slider
|
||
|
uiSpinbox *ui.Spinbox
|
||
|
uiTab *ui.Tab
|
||
|
uiWindow *ui.Window
|
||
|
uiMultilineEntry *ui.MultilineEntry
|
||
|
uiEditableCombobox *ui.EditableCombobox
|
||
|
uiImage *ui.Image
|
||
|
|
||
|
uiGrid *ui.Grid
|
||
|
gridX int
|
||
|
gridY int
|
||
|
|
||
|
// used as a counter to work around limitations of widgets like combobox
|
||
|
// this is probably fucked up and in many ways wrong because of unsafe goroutine threading
|
||
|
// but it's working for now due to the need for need for a correct interaction layer betten toolkits
|
||
|
c int
|
||
|
val map[int]string
|
||
|
|
||
|
// andlabs/ui only accesses widget id numbers
|
||
|
boxC int // how many things on in a box or how many tabs
|
||
|
}
|