summaryrefslogtreecommitdiff
path: root/stdin.go
diff options
context:
space:
mode:
Diffstat (limited to 'stdin.go')
-rw-r--r--stdin.go74
1 files changed, 74 insertions, 0 deletions
diff --git a/stdin.go b/stdin.go
new file mode 100644
index 0000000..9b9f794
--- /dev/null
+++ b/stdin.go
@@ -0,0 +1,74 @@
+package main
+
+import (
+ "os"
+ "fmt"
+ "bufio"
+ "runtime/debug"
+ "strings"
+ "strconv"
+
+ "go.wit.com/log"
+ "go.wit.com/lib/widget"
+)
+
+func simpleStdin() {
+ defer func() {
+ if r := recover(); r != nil {
+ log.Warn("nocui YAHOOOO Recovered in simpleStdin()", r)
+ log.Println("Recovered from panic:", r)
+ log.Println("Stack trace:")
+ debug.PrintStack()
+ me.myTree.DoToolkitPanic()
+ }
+ }()
+ scanner := bufio.NewScanner(os.Stdin)
+ for scanner.Scan() {
+ s := scanner.Text()
+ s = strings.TrimSuffix(s, "\n")
+ switch s {
+ case "l":
+ log.Log(NOW, "list widgets")
+ me.treeRoot.ListWidgets()
+ case "b":
+ log.Log(NOW, "show buttons")
+ me.treeRoot.ShowButtons()
+ case "g":
+ me.myTree.DoToolkitLoad("gocui")
+ case "a":
+ me.myTree.DoToolkitLoad("andlabs")
+ case "d":
+ me.myTree.DoEnableDebugger()
+ case "":
+ fmt.Println("")
+ fmt.Println("Enter:")
+ fmt.Println("'l': list all widgets")
+ fmt.Println("'b': for buttons")
+ fmt.Println("'g': load gocui plugin")
+ fmt.Println("'a': load andlabs plugin")
+ fmt.Println("'d': enable debugging")
+ default:
+ i, _ := strconv.Atoi(s)
+ log.Log(NOW, "got input:", i)
+ n := me.treeRoot.FindWidgetId(i)
+ if (n != nil) {
+ n.DumpWidget("found node")
+ for i, s := range n.State.Strings {
+ log.Warn("n.State.Strings =", i, s)
+ }
+ switch n.WidgetType {
+ case widget.Root:
+ log.Warn("this is the root widget")
+ case widget.Dropdown:
+ log.Warn("print out dropdown values here")
+ case widget.Button:
+ me.myTree.DoUserEvent(n)
+ case widget.Checkbox:
+ me.myTree.DoUserEvent(n)
+ default:
+ log.Warn("you haven't defined an event for", n.WidgetType)
+ }
+ }
+ }
+ }
+}