summaryrefslogtreecommitdiff
path: root/structs.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-01-17 23:54:19 -0600
committerJeff Carr <[email protected]>2024-01-17 23:54:19 -0600
commitb25f15ea7803e172204432082740d081e5f19f81 (patch)
tree025146f42287e7b5d91850366f7fccf49d8ced9b /structs.go
the golang way. everything in it's own repov0.0.1
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'structs.go')
-rw-r--r--structs.go64
1 files changed, 64 insertions, 0 deletions
diff --git a/structs.go b/structs.go
new file mode 100644
index 0000000..4e1c056
--- /dev/null
+++ b/structs.go
@@ -0,0 +1,64 @@
+package main
+
+import (
+ "go.wit.com/toolkits/tree"
+
+ "go.wit.com/dev/andlabs/ui"
+ _ "go.wit.com/dev/andlabs/ui/winmanifest"
+)
+
+// var andlabs map[int]*andlabsT
+// var callback func(int) bool
+// var callback chan toolkit.Action
+
+// 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
+}