diff options
Diffstat (limited to 'cmds')
| -rw-r--r-- | cmds/consolemouse/Makefile | 14 | ||||
| -rw-r--r-- | cmds/consolemouse/gocui.go | 51 | ||||
| -rw-r--r-- | cmds/consolemouse/main.go | 61 | ||||
| -rw-r--r-- | cmds/gui-demo/main.go | 14 | ||||
| -rw-r--r-- | cmds/helloworld/Makefile | 1 | ||||
| -rw-r--r-- | cmds/helloworld/main.go | 39 |
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") } |
