summaryrefslogtreecommitdiff
path: root/action.go
diff options
context:
space:
mode:
Diffstat (limited to 'action.go')
-rw-r--r--action.go105
1 files changed, 105 insertions, 0 deletions
diff --git a/action.go b/action.go
new file mode 100644
index 0000000..a4e5ee6
--- /dev/null
+++ b/action.go
@@ -0,0 +1,105 @@
+package main
+
+/*
+ a simple function to handle widget actions
+
+ You can tie this into your toolkit here.
+*/
+
+import (
+ "go.wit.com/log"
+ "go.wit.com/toolkits/tree"
+ "go.wit.com/widget"
+)
+
+func Add(n *tree.Node) {
+ log.Log(INFO, "Add() END =", n.WidgetType, n.String())
+ if n == nil {
+ log.Warn("Tree Error: Add() sent n == nil")
+ return
+ }
+ switch n.WidgetType {
+ case widget.Root:
+ me.treeRoot = n
+ log.Log(INFO, "Add() found treeRoot")
+ return
+ }
+
+ log.Log(INFO, "Add() END =", n.WidgetType, n.String())
+}
+
+func newaction(n *tree.Node, atype widget.ActionType) {
+ log.Log(INFO, "newaction() START", atype)
+ if n == nil {
+ log.Warn("Tree Error: Add() sent n == nil")
+ return
+ }
+ if n.TK == nil {
+ log.Warn("Tree sent an action on a widget we didn't seem to have.")
+ // do this init here again? Probably something
+ // went wrong and we should reset the our while gocui.View tree
+ // n.TK = initWidget(n)
+ }
+ // w := n.TK.(*guiWidget)
+ switch atype {
+ case widget.Show:
+ log.Log(NOW, "Show() HERE. a.Hidden() was =", n.Hidden())
+ // w.Show()
+ case widget.Hide:
+ log.Log(NOW, "Hide() HERE. a.State.Hidden was =", n.Hidden())
+ // w.Hide()
+ case widget.Move:
+ log.Log(NOW, "attempt to move() =", atype, n.WidgetType, n.ProgName())
+ case widget.Enable:
+ // w.enable = true
+ // w.enableColor()
+ case widget.Disable:
+ // w.enable = false
+ // w.disableColor()
+ case widget.Delete:
+ log.Info("newaction() DeleteNode()")
+ n.DeleteNode()
+ case widget.ToolkitClose:
+ log.Info("newaction() toolkit closed. are the channels cleand up?")
+ return
+ default:
+ log.Log(ERROR, "newaction() UNHANDLED Action Type =", atype, "WidgetType =", n.WidgetType, "Name =", n.ProgName())
+ }
+ log.Log(INFO, "newaction() END", atype, n.String())
+}
+
+func SetTitle(n *tree.Node, s string) {
+ SetText(n, s)
+}
+
+func SetLabel(n *tree.Node, s string) {
+ SetText(n, s)
+}
+
+func SetText(n *tree.Node, s string) {
+ if n == nil {
+ log.Warn("Tree Error: Add() sent n == nil")
+ return
+ }
+ if n.TK == nil {
+ log.Warn("Tree sent an action on a widget we didn't seem to have.")
+ return
+ }
+ // w := n.TK.(*guiWidget)
+ // w.SetText(s)
+ log.Info("SetText()", n.WidgetType, n.String())
+}
+
+func AddText(n *tree.Node, s string) {
+ if n == nil {
+ log.Warn("Tree Error: Add() sent n == nil")
+ return
+ }
+ if n.TK == nil {
+ log.Warn("Tree sent an action on a widget we didn't seem to have.")
+ return
+ }
+ log.Info("AddText()", n.WidgetType, n.String())
+ // w := n.TK.(*guiWidget)
+ // w.AddText(s)
+}