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