summaryrefslogtreecommitdiff
path: root/cmds
diff options
context:
space:
mode:
Diffstat (limited to 'cmds')
-rw-r--r--cmds/consolemouse/Makefile14
-rw-r--r--cmds/consolemouse/gocui.go51
-rw-r--r--cmds/consolemouse/main.go61
-rw-r--r--cmds/gui-demo/main.go14
-rw-r--r--cmds/helloworld/Makefile1
-rw-r--r--cmds/helloworld/main.go39
6 files changed, 164 insertions, 16 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)
+}
diff --git a/cmds/gui-demo/main.go b/cmds/gui-demo/main.go
index 0084e3a..d89b1b0 100644
--- a/cmds/gui-demo/main.go
+++ b/cmds/gui-demo/main.go
@@ -22,7 +22,7 @@ func main() {
// This initializes the first window
func initGUI() {
- gui.ToolkitDemoWindow()
+ gui.DemoToolkitWindow()
}
// This demonstrates how to properly interact with the GUI
@@ -33,24 +33,22 @@ func watchGUI() {
log.Println("Waiting", i, "seconds")
i += 1
time.Sleep(1 * time.Second)
- if i == 4 {
+ if i == 2 {
log.Println("Opening a Debug Window via the gui.Queue()")
gui.Config.Width = 800
gui.Config.Height = 300
- gui.Config.Exit = myDebugExit
+ gui.Config.Exit = myExit
gui.Queue(gui.DebugWindow)
+ time.Sleep(1 * time.Second)
+ gui.Queue(gui.DebugTab)
}
}
}
+// TODO: myExit isn't getting used anymore
func myExit(n *gui.Node) {
log.Println()
log.Println("Entered myExit() on node.Name =", n.Name)
log.Println()
os.Exit(0)
}
-
-func myDebugExit(n *gui.Node) {
- log.Println("Entered myDebugExit() on node.Name =", n.Name)
- log.Println("Don't actually os.Exit()")
-}
diff --git a/cmds/helloworld/Makefile b/cmds/helloworld/Makefile
index 1d12c3c..23d5aaa 100644
--- a/cmds/helloworld/Makefile
+++ b/cmds/helloworld/Makefile
@@ -8,7 +8,6 @@ build-release:
build:
GO111MODULE="off" go get -v -x .
GO111MODULE="off" go build
- ./helloworld
update:
GO111MODULE="off" go get -v -u -x .
diff --git a/cmds/helloworld/main.go b/cmds/helloworld/main.go
index bc0a046..97af97b 100644
--- a/cmds/helloworld/main.go
+++ b/cmds/helloworld/main.go
@@ -8,26 +8,51 @@ import (
)
func main() {
+ f, err := os.OpenFile("/tmp/guilogfile", os.O_RDWR | os.O_CREATE | os.O_APPEND, 0666)
+ if err != nil {
+ log.Fatalf("error opening file: %v", err)
+ }
+ defer f.Close()
+
+ log.SetOutput(f)
+ log.Println("This is a test log entry")
+
gui.Main(initGUI)
}
// This initializes the first window
func initGUI() {
+ var w *gui.Node
gui.Config.Title = "Hello World golang wit/gui Window"
gui.Config.Width = 640
gui.Config.Height = 480
gui.Config.Exit = myDefaultExit
- node1 := gui.NewWindow()
- addDemoTab(node1, "A Simple Tab Demo")
- addDemoTab(node1, "A Second Tab")
+ w = gui.NewWindow()
+ w.Dump()
+ addDemoTab(w, "A Simple Tab Demo")
+ addDemoTab(w, "A Second Tab")
}
-func addDemoTab(n *gui.Node, title string) {
- newNode := n.AddTab(title, nil)
+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")
- // g.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()
+ // os.Exit(0)
g.AddComboBox("demoCombo2", "more 1", "more 2", "more 3")
}