diff options
Diffstat (limited to 'cmds')
| -rw-r--r-- | cmds/buttonplugin/log.go | 6 | ||||
| -rw-r--r-- | cmds/buttonplugin/main.go | 11 | ||||
| -rw-r--r-- | cmds/plugin-consoleonly/Makefile | 14 | ||||
| -rw-r--r-- | cmds/plugin-consoleonly/args.go | 31 | ||||
| -rw-r--r-- | cmds/plugin-consoleonly/main.go | 34 |
5 files changed, 94 insertions, 2 deletions
diff --git a/cmds/buttonplugin/log.go b/cmds/buttonplugin/log.go index 642ff7b..fb85cfa 100644 --- a/cmds/buttonplugin/log.go +++ b/cmds/buttonplugin/log.go @@ -27,7 +27,11 @@ func init() { arg.MustParse(&args) fmt.Println(args.Foo, args.Bar, args.User) - f1, err = os.OpenFile("/tmp/guilogfile", os.O_RDWR | os.O_CREATE | os.O_APPEND, 0666) + log.Println() + log.Println("STDOUT is now at /tmp/guilogfile") + log.Println("STDOUT is now at /tmp/guilogfile") + log.Println() + f1, err = os.OpenFile(outfile, os.O_RDWR | os.O_CREATE | os.O_APPEND, 0666) if err != nil { log.Fatalf("error opening file: %v", err) } diff --git a/cmds/buttonplugin/main.go b/cmds/buttonplugin/main.go index 0c72c3f..8a76a8b 100644 --- a/cmds/buttonplugin/main.go +++ b/cmds/buttonplugin/main.go @@ -10,13 +10,18 @@ import ( ) var title string = "Demo Plugin Window" +var outfile string = "/tmp/guilogfile" + +// this is broken. delete this func main() { + // this set the xterm and mate-terminal window title. maybe works generally? fmt.Println("\033]0;" + title + "\007") // time.Sleep(5 * time.Second) // var w *gui.Node + // this doesn't seem to work - captureSTDOUT() + // captureSTDOUT() // gui.LoadToolkit("default") // panic("WTF gocui not happening") @@ -57,6 +62,10 @@ func buttonWindow() { w = gui.NewWindow() g = w.NewGroup("buttonGroup") + g.NewButton("this app is old", func () { + }) + g.NewLabel("STDOUT is set to: " + outfile) + g.NewButton("hello", func () { log.Println("world") }) diff --git a/cmds/plugin-consoleonly/Makefile b/cmds/plugin-consoleonly/Makefile new file mode 100644 index 0000000..a8279f6 --- /dev/null +++ b/cmds/plugin-consoleonly/Makefile @@ -0,0 +1,14 @@ +run: build + ./helloconsole + +build-release: + go get -v -u -x . + go install -v -o helloconsole + helloconsole + +build: + GO111MODULE="off" go get -v -x . + GO111MODULE="off" go build -v -o helloconsole + +update: + GO111MODULE="off" go get -v -u -x . diff --git a/cmds/plugin-consoleonly/args.go b/cmds/plugin-consoleonly/args.go new file mode 100644 index 0000000..dc4a322 --- /dev/null +++ b/cmds/plugin-consoleonly/args.go @@ -0,0 +1,31 @@ +// This creates a simple hello world window +package main + +import ( + "log" + "git.wit.org/wit/gui" + arg "github.com/alexflint/go-arg" +) + +type LogOptions struct { + LogFile string + Verbose bool + User string `arg:"env:USER"` +} + +var args struct { + LogOptions + gui.GuiArgs +} + +func init() { + arg.MustParse(&args) + log.Println("Toolkit = ", args.Toolkit) + + if (args.GuiDebug) { + gui.DebugWindow() + } + if (args.GuiVerbose) { + gui.SetDebug(true) + } +} diff --git a/cmds/plugin-consoleonly/main.go b/cmds/plugin-consoleonly/main.go new file mode 100644 index 0000000..1003530 --- /dev/null +++ b/cmds/plugin-consoleonly/main.go @@ -0,0 +1,34 @@ +// This is a simple example +package main + +import ( + "log" + "git.wit.org/wit/gui" +) + +func main() { + gui.InitPlugins([]string{"gocui"}) + // gui.InitPlugins([]string{"democui"}) + gui.Main(helloworld) +} + +// This creates a window +func helloworld() { + var w *gui.Node + gui.Config.Title = "helloworld golang wit/gui window" + gui.Config.Width = 640 + gui.Config.Height = 480 + + w = gui.NewWindow() + w.NewButton("hello", func () { + log.Println("world") + }) + w.NewButton("Flags", func () { + log.Println("the debugging flags window") + w.DebugFlags(false) + }) + w.NewButton("Widgets", func () { + w.DebugWidgets(false) + log.Println("debug the widgets window") + }) +} |
