summaryrefslogtreecommitdiff
path: root/cmds/consolemouse
diff options
context:
space:
mode:
Diffstat (limited to 'cmds/consolemouse')
-rw-r--r--cmds/consolemouse/Makefile14
-rw-r--r--cmds/consolemouse/gocui.go51
-rw-r--r--cmds/consolemouse/main.go61
3 files changed, 126 insertions, 0 deletions
diff --git a/cmds/consolemouse/Makefile b/cmds/consolemouse/Makefile
new file mode 100644
index 0000000..7061e7e
--- /dev/null
+++ b/cmds/consolemouse/Makefile
@@ -0,0 +1,14 @@
+run: build
+ ./consolemouse
+ reset
+
+build-release:
+ go get -v -u -x .
+ go build
+
+build:
+ GO111MODULE="off" go get -v -x .
+ GO111MODULE="off" go build
+
+update:
+ GO111MODULE="off" go get -v -u -x .
diff --git a/cmds/consolemouse/gocui.go b/cmds/consolemouse/gocui.go
new file mode 100644
index 0000000..7da888e
--- /dev/null
+++ b/cmds/consolemouse/gocui.go
@@ -0,0 +1,51 @@
+// This creates a simple hello world window
+package main
+
+import (
+ "log"
+ "time"
+ "git.wit.org/wit/gui"
+)
+
+import toolkit "git.wit.org/wit/gui/toolkit/gocui"
+
+func configureGogui() {
+ toolkit.Init()
+ toolkit.OnExit(mycallback)
+}
+
+func startGogui() {
+ toolkit.StartConsoleMouse()
+}
+
+func mycallback(name string) {
+ log.Println("run andlabs here? name =", name)
+ if (name == "andlabs") {
+ go gui.Main(initGUI)
+ }
+ if (name == "something") {
+ log.Println("add something to do here")
+ }
+ if (name == "DemoToolkitWindow") {
+ gui.Queue( func () {
+ gui.DemoToolkitWindow()
+ })
+ }
+ if (name == "addDemoTab") {
+ gui.Queue( func () {
+ addDemoTab(w, "A Tab from gocui")
+ })
+ }
+ if (name == "DebugWindow") {
+ log.Println("Opening a Debug Window via the gui.Queue()")
+ gui.Config.Width = 800
+ gui.Config.Height = 300
+ gui.Config.Exit = myExit
+ gui.Queue(gui.DebugWindow)
+ time.Sleep(1 * time.Second)
+ gui.Queue(gui.DebugTab)
+ }
+ if (name == "exit") {
+ myExit(nil)
+ }
+}
diff --git a/cmds/consolemouse/main.go b/cmds/consolemouse/main.go
new file mode 100644
index 0000000..44ad18d
--- /dev/null
+++ b/cmds/consolemouse/main.go
@@ -0,0 +1,61 @@
+// This creates a simple hello world window
+package main
+
+import (
+ "os"
+ "log"
+// "time"
+ "git.wit.org/wit/gui"
+)
+
+import toolkit "git.wit.org/wit/gui/toolkit/gocui"
+
+var w *gui.Node
+
+func main() {
+ go gui.Main(initGUI)
+
+ configureGogui()
+ startGogui()
+}
+
+// This initializes the first window
+func initGUI() {
+ gui.Config.Title = "Hello World golang wit/gui Window"
+ gui.Config.Width = 640
+ gui.Config.Height = 480
+ gui.Config.Exit = myExit
+
+ w = gui.NewWindow()
+ w.Dump()
+ addDemoTab(w, "A Simple Tab Demo")
+ addDemoTab(w, "A Second Tab")
+}
+
+func addDemoTab(window *gui.Node, title string) {
+ var newNode, g *gui.Node
+
+ newNode = window.AddTab(title, nil)
+ log.Println("addDemoTab() newNode.Dump")
+ log.Println("addDemoTab() newNode.Dump")
+ log.Println("addDemoTab() newNode.Dump")
+ log.Println("addDemoTab() newNode.Dump")
+ newNode.Dump()
+ newNode.Toolkit.Dump()
+
+ g = newNode.NewGroup("group 1")
+ log.Println("addDemoTab() g.Dump")
+ log.Println("addDemoTab() g.Dump")
+ log.Println("addDemoTab() g.Dump")
+ log.Println("addDemoTab() g.Dump")
+ g.Dump()
+ g.Toolkit.Dump()
+ // myExit(nil)
+ g.AddComboBox("demoCombo2", "more 1", "more 2", "more 3")
+}
+
+func myExit(n *gui.Node) {
+ log.Println("You can Do exit() things here")
+ toolkit.Exit()
+ os.Exit(0)
+}