summaryrefslogtreecommitdiff
path: root/structs.go
diff options
context:
space:
mode:
Diffstat (limited to 'structs.go')
-rw-r--r--structs.go77
1 files changed, 40 insertions, 37 deletions
diff --git a/structs.go b/structs.go
index 22ec988..af0947f 100644
--- a/structs.go
+++ b/structs.go
@@ -5,7 +5,8 @@ import (
"reflect"
)
-import toolkit "git.wit.org/wit/gui/toolkit/andlabs"
+// import toolkit "git.wit.org/wit/gui/toolkit/andlabs"
+import newtoolkit "git.wit.org/wit/gui/toolkit"
//
// All GUI Data Structures and functions that are external
@@ -22,46 +23,46 @@ import toolkit "git.wit.org/wit/gui/toolkit/andlabs"
var Config GuiConfig
func GetDebug () bool {
- return Config.Options.Debug
+ return Config.Debug.Debug
}
func SetDebug (s bool) {
- Config.Options.Debug = s
+ Config.Debug.Debug = s
// also set these
- Config.Options.DebugDump = s
- Config.Options.DebugNode = s
- toolkit.DebugToolkit = s
+ Config.Debug.Dump = s
+ Config.Debug.Node = s
+ // toolkit.DebugToolkit = s
}
func GetDebugToolkit () bool {
- return toolkit.DebugToolkit
+ return Config.Debug.Toolkit
}
func SetDebugToolkit (s bool) {
- toolkit.DebugToolkit = s
+ Config.Debug.Toolkit = s
}
func ShowDebugValues() {
- log.Println("\t wit/gui Debug =", Config.Options.Debug)
- log.Println("\t wit/gui DebugDump =", Config.Options.DebugDump)
- log.Println("\t wit/gui DebugNode =", Config.Options.DebugNode)
- log.Println("\t wit/gui DebugTabs =", Config.Options.DebugTabs)
- log.Println("\t wit/gui DebugPlugin =", Config.Options.DebugPlugin)
- log.Println("\t wit/gui DebugChange =", Config.Options.DebugChange)
-
- log.Println("\t wit/gui DebugToolkit =", toolkit.DebugToolkit)
+ log.Println("\t wit/gui Debug =", Config.Debug.Debug)
+ log.Println("\t wit/gui DebugDump =", Config.Debug.Dump)
+ log.Println("\t wit/gui DebugNode =", Config.Debug.Node)
+ log.Println("\t wit/gui DebugTabs =", Config.Debug.Tabs)
+ log.Println("\t wit/gui DebugPlugin =", Config.Debug.Plugin)
+ log.Println("\t wit/gui DebugChange =", Config.Debug.Change)
+ log.Println("\t wit/gui DebugToolkit =", Config.Debug.Toolkit)
}
// This struct can be used with go-arg
-type GuiOptions struct {
+type GuiDebug struct {
// These are global debugging settings
// TODO: move to a standard logging system
- Debug bool
- DebugDump bool
- DebugNode bool
- DebugTabs bool
- DebugPlugin bool
- DebugChange bool `help:"debug mouse clicks and keyboard input"`
+ Debug bool
+ Dump bool
+ Node bool
+ Tabs bool
+ Plugin bool
+ Change bool `help:"debug mouse clicks and keyboard input"`
+ Toolkit bool `help:"debug toolkit"`
}
type GuiConfig struct {
@@ -74,7 +75,7 @@ type GuiConfig struct {
Height int
Exit func(*Node)
- Options GuiOptions
+ Debug GuiDebug
// hacks
depth int
@@ -86,10 +87,13 @@ type GuiConfig struct {
type Node struct {
id int
+ // deprecate these and use toolkit.Widget
Name string
Width int
Height int
+ Widget newtoolkit.Widget
+
// this function is run when there are mouse or keyboard events
OnChanged func(*Node)
@@ -98,13 +102,12 @@ type Node struct {
children []*Node
// hmm. how do you handle this when the toolkits are plugins?
- toolkit *toolkit.Toolkit
+ // toolkit *toolkit.Toolkit
// things that may not really be needed (?)
custom func()
checked bool
text string
-
}
func (n *Node) Parent() *Node {
@@ -116,7 +119,7 @@ func (n *Node) Window() *Node {
}
func (n *Node) Dump() {
- if ! Config.Options.DebugDump {
+ if ! Config.Debug.Dump {
return
}
IndentPrintln("NODE DUMP START")
@@ -141,10 +144,10 @@ func (n *Node) Dump() {
IndentPrintln("OnChanged = ", n.OnChanged)
}
IndentPrintln("text = ", reflect.ValueOf(n.text).Kind(), n.text)
- if (n.toolkit != nil) {
- IndentPrintln("toolkit = ", reflect.ValueOf(n.toolkit).Kind())
- n.toolkit.Dump()
- }
+// if (n.toolkit != nil) {
+// IndentPrintln("toolkit = ", reflect.ValueOf(n.toolkit).Kind())
+// n.toolkit.Dump()
+// }
// if (n.id == nil) {
// // Node structs should never have a nil id.
// // I probably shouldn't panic here, but this is just to check the sanity of
@@ -163,7 +166,7 @@ func (n *Node) SetName(name string) {
func (n *Node) Append(child *Node) {
n.children = append(n.children, child)
- if (Config.Options.Debug) {
+ if (Config.Debug.Debug) {
log.Println("child node:")
child.Dump()
log.Println("parent node:")
@@ -206,11 +209,11 @@ func (n *Node) ListChildren(dump bool) {
if len(n.children) == 0 {
if (n.parent == nil) {
} else {
- if (Config.Options.DebugNode) {
+ if (Config.Debug.Node) {
log.Println("\t\t\tparent =",n.parent.id)
}
if (listChildrenParent != nil) {
- if (Config.Options.DebugNode) {
+ if (Config.Debug.Node) {
log.Println("\t\t\tlistChildrenParent =",listChildrenParent.id)
}
if (listChildrenParent.id != n.parent.id) {
@@ -219,7 +222,7 @@ func (n *Node) ListChildren(dump bool) {
}
}
}
- if (Config.Options.DebugNode) {
+ if (Config.Debug.Node) {
log.Println("\t\t", n.id, "has no children")
}
return
@@ -227,7 +230,7 @@ func (n *Node) ListChildren(dump bool) {
for _, child := range n.children {
// log.Println("\t\t", child.id, child.Width, child.Height, child.Name)
if (child.parent != nil) {
- if (Config.Options.DebugNode) {
+ if (Config.Debug.Node) {
log.Println("\t\t\tparent =",child.parent.id)
}
} else {
@@ -237,7 +240,7 @@ func (n *Node) ListChildren(dump bool) {
if (dump == true) {
child.Dump()
}
- if (Config.Options.DebugNode) {
+ if (Config.Debug.Node) {
if (child.children == nil) {
log.Println("\t\t", child.id, "has no children")
} else {