diff options
Diffstat (limited to 'debug.go')
| -rw-r--r-- | debug.go | 121 |
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 + } +} |
