summaryrefslogtreecommitdiff
path: root/debug.go
diff options
context:
space:
mode:
Diffstat (limited to 'debug.go')
-rw-r--r--debug.go121
1 files changed, 121 insertions, 0 deletions
diff --git a/debug.go b/debug.go
new file mode 100644
index 0000000..f974783
--- /dev/null
+++ b/debug.go
@@ -0,0 +1,121 @@
+package main
+
+import (
+ "go.wit.com/log"
+ // "go.wit.com/gui/widget"
+)
+
+var defaultBehavior bool = true
+
+var bookshelf bool // do you want things arranged in the box like a bookshelf or a stack?
+var canvas bool // if set to true, the windows are a raw canvas
+var menubar bool // for windows
+var stretchy bool // expand things like buttons to the maximum size
+var padded bool // add space between things like buttons
+var margin bool // add space around the frames of windows
+
+var debugToolkit bool = false
+var debugChange bool = false
+var debugPlugin bool = false
+var debugAction bool = false
+var debugFlags bool = false
+var debugGrid bool = false
+var debugNow bool = true
+var debugError bool = true
+
+// This is important. This sets the defaults for the gui. Without this, there isn't correct padding, etc
+func setDefaultBehavior(s bool) {
+ defaultBehavior = s
+ if defaultBehavior {
+ log.Log(NOW, "Setting this toolkit to use the default behavior.")
+ log.Log(NOW, "This is the 'guessing' part as defined by the wit/gui 'Principles'. Refer to the docs.")
+ stretchy = false
+ padded = true
+ menubar = true
+ margin = true
+ canvas = false
+ bookshelf = true // 99% of the time, things make a vertical stack of objects
+ } else {
+ log.Log(NOW, "This toolkit is set to ignore the default behavior.")
+ }
+}
+
+func (t *guiWidget) Dump(b bool) {
+ if !b {
+ return
+ }
+ log.Log(NOW, "Name = ", t.Width, t.Height)
+ if t.uiBox != nil {
+ log.Log(NOW, "uiBox =", t.uiBox)
+ }
+ if t.uiButton != nil {
+ log.Log(NOW, "uiButton =", t.uiButton)
+ }
+ if t.uiCombobox != nil {
+ log.Log(NOW, "uiCombobox =", t.uiCombobox)
+ }
+ if t.uiWindow != nil {
+ log.Log(NOW, "uiWindow =", t.uiWindow)
+ }
+ if t.uiTab != nil {
+ log.Log(NOW, "uiTab =", t.uiTab)
+ }
+ if t.uiGroup != nil {
+ log.Log(NOW, "uiGroup =", t.uiGroup)
+ }
+ if t.uiEntry != nil {
+ log.Log(NOW, "uiEntry =", t.uiEntry)
+ }
+ if t.uiMultilineEntry != nil {
+ log.Log(NOW, "uiMultilineEntry =", t.uiMultilineEntry)
+ }
+ if t.uiSlider != nil {
+ log.Log(NOW, "uiSlider =", t.uiSlider)
+ }
+ if t.uiCheckbox != nil {
+ log.Log(NOW, "uiCheckbox =", t.uiCheckbox)
+ }
+}
+
+/*
+func GetDebugToolkit () bool {
+ return debugToolkit
+}
+*/
+
+func (n *node) dumpWidget(b bool) {
+ var info, d string
+
+ if n == nil {
+ log.Log(ERROR, "dumpWidget() node == nil")
+ return
+ }
+ info = n.WidgetType.String()
+
+ d = string(n.WidgetId) + " " + info + " " + n.progname
+
+ var tabs string
+ for i := 0; i < listChildrenDepth; i++ {
+ tabs = tabs + defaultPadding
+ }
+ log.Log(NOW, tabs+d)
+}
+
+var defaultPadding string = " "
+var listChildrenDepth int = 0
+
+func (n *node) listChildren(dump bool) {
+ if n == nil {
+ return
+ }
+
+ n.dumpWidget(dump)
+ if len(n.children) == 0 {
+ return
+ }
+ for _, child := range n.children {
+ listChildrenDepth += 1
+ child.listChildren(dump)
+ listChildrenDepth -= 1
+ }
+}