summaryrefslogtreecommitdiff
path: root/toolkit/gocui
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/gocui')
-rw-r--r--toolkit/gocui/button.go14
-rw-r--r--toolkit/gocui/debug.go107
-rw-r--r--toolkit/gocui/gocui.go18
-rw-r--r--toolkit/gocui/group.go16
-rw-r--r--toolkit/gocui/keybindings.go25
-rw-r--r--toolkit/gocui/log.go135
-rw-r--r--toolkit/gocui/orig/mouse.go186
-rw-r--r--toolkit/gocui/plugin.go95
-rw-r--r--toolkit/gocui/views.go5
-rw-r--r--toolkit/gocui/window.go6
10 files changed, 370 insertions, 237 deletions
diff --git a/toolkit/gocui/button.go b/toolkit/gocui/button.go
index 5b41c48..355dc30 100644
--- a/toolkit/gocui/button.go
+++ b/toolkit/gocui/button.go
@@ -3,17 +3,15 @@ package main
import (
"errors"
"fmt"
- "log"
"strings"
"github.com/awesome-gocui/gocui"
"git.wit.org/wit/gui/toolkit"
)
-func NewButton(parentW *toolkit.Widget, w *toolkit.Widget) {
- log.Println("gui.gocui.AddButton()", w.Name)
+func newButton(parentW *toolkit.Widget, w *toolkit.Widget) {
+ log(true, "AddButton()", w.Name)
addButton(w.Name)
- // viewWidget[v] = w
stringWidget[w.Name] = w
listMap()
}
@@ -25,11 +23,11 @@ func addButton(name string) *gocui.View {
}
v, err := baseGui.SetView(name, currentX, currentY, currentX+t+3, currentY+2, 0)
if err == nil {
- log.Println("wit/gui internal plugin error", err)
+ log("wit/gui internal plugin error", err)
return nil
}
if !errors.Is(err, gocui.ErrUnknownView) {
- log.Println("wit/gui internal plugin error", err)
+ log("wit/gui internal plugin error", err)
return nil
}
@@ -39,10 +37,10 @@ func addButton(name string) *gocui.View {
currentView, err := baseGui.SetCurrentView(name)
if err != nil {
- log.Println("wit/gui internal plugin error", err)
+ log("wit/gui internal plugin error", err)
return nil
}
- log.Println("wit/gui addbutton() current view name =", currentView.Name())
+ log("wit/gui addbutton() current view name =", currentView.Name())
views = append(views, name)
curView = len(views) - 1
diff --git a/toolkit/gocui/debug.go b/toolkit/gocui/debug.go
new file mode 100644
index 0000000..817ee6e
--- /dev/null
+++ b/toolkit/gocui/debug.go
@@ -0,0 +1,107 @@
+package main
+
+import "git.wit.org/wit/gui/toolkit"
+
+var defaultBehavior bool = true
+
+var bookshelf bool // do you want things arranged in the box like a bookshelf or a stack?
+var canvas bool // if set to true, the windows are a raw canvas
+var menubar bool // for windows
+var stretchy bool // expand things like buttons to the maximum size
+var padded bool // add space between things like buttons
+var margin bool // add space around the frames of windows
+
+var debugToolkit bool
+var debugChange bool
+var debugPlugin bool
+var debugFlags bool
+var debugError bool = true
+
+// This is important. This sets the defaults for the gui. Without this, there isn't correct padding, etc
+func setDefaultBehavior(s bool) {
+ defaultBehavior = s
+ if (defaultBehavior) {
+ log(debugToolkit, "Setting this toolkit to use the default behavior.")
+ log(debugToolkit, "This is the 'guessing' part as defined by the wit/gui 'Principles'. Refer to the docs.")
+ stretchy = false
+ padded = true
+ menubar = true
+ margin = true
+ canvas = false
+ bookshelf = true // 99% of the time, things make a vertical stack of objects
+ } else {
+ log(debugToolkit, "This toolkit is set to ignore the default behavior.")
+ }
+}
+
+func ShowDebug () {
+ log(true, "debugToolkit =", debugToolkit)
+ log(true, "debugChange =", debugChange)
+ log(true, "debugPlugin =", debugPlugin)
+ log(true, "debugFlags =", debugFlags)
+ log(true, "debugError =", debugError)
+}
+
+/*
+func (t *gocuiT) Dump(b bool) {
+ if ! b {
+ return
+ }
+ log(b, "Name = ", t.Name, t.Width, t.Height)
+ if (t.uiBox != nil) {
+ log(b, "uiBox =", t.uiBox)
+ }
+ if (t.uiButton != nil) {
+ log(b, "uiButton =", t.uiButton)
+ }
+ if (t.uiCombobox != nil) {
+ log(b, "uiCombobox =", t.uiCombobox)
+ }
+ if (t.uiWindow != nil) {
+ log(b, "uiWindow =", t.uiWindow)
+ }
+ if (t.uiTab != nil) {
+ log(b, "uiTab =", t.uiTab)
+ }
+ if (t.uiGroup != nil) {
+ log(b, "uiGroup =", t.uiGroup)
+ }
+ if (t.uiEntry != nil) {
+ log(b, "uiEntry =", t.uiEntry)
+ }
+ if (t.uiMultilineEntry != nil) {
+ log(b, "uiMultilineEntry =", t.uiMultilineEntry)
+ }
+ if (t.uiSlider != nil) {
+ log(b, "uiSlider =", t.uiSlider)
+ }
+ if (t.uiCheckbox != nil) {
+ log(b, "uiCheckbox =", t.uiCheckbox)
+ }
+ widgetDump(b, t.tw)
+}
+*/
+
+func widgetDump(b bool, w *toolkit.Widget) {
+ if (w == nil) {
+ log(b, "widget = nil")
+ return
+ }
+
+ log(b, "widget.Name =", w.Name)
+ log(b, "widget.Action =", w.Action)
+ log(b, "widget.Type =", w.Type)
+ log(b, "widget.Custom =", w.Custom)
+ log(b, "widget.B =", w.B)
+ log(b, "widget.I =", w.I)
+ log(b, "widget.Width =", w.Width)
+ log(b, "widget.Height =", w.Height)
+ log(b, "widget.X =", w.X)
+ log(b, "widget.Y =", w.Y)
+}
+
+/*
+func GetDebugToolkit () bool {
+ return debugToolkit
+}
+*/
diff --git a/toolkit/gocui/gocui.go b/toolkit/gocui/gocui.go
index 0d7c5a5..0a302bc 100644
--- a/toolkit/gocui/gocui.go
+++ b/toolkit/gocui/gocui.go
@@ -7,7 +7,6 @@ package main
import (
"errors"
"fmt"
- "log"
"os"
"git.wit.org/wit/gui/toolkit"
@@ -34,17 +33,20 @@ var (
func Init() {
baseGui, err = gocui.NewGui(gocui.OutputNormal, true)
if err != nil {
- log.Panicln(err)
+ exit(err)
}
baseGui.Highlight = true
baseGui.SelFgColor = gocui.ColorRed
baseGui.SelFrameColor = gocui.ColorRed
+ baseGui.Cursor = true
+ baseGui.Mouse = true
+
baseGui.SetManagerFunc(layout)
if err := initKeybindings(baseGui); err != nil {
- log.Panicln(err)
+ exit(err)
}
viewWidget = make(map[*gocui.View]*toolkit.Widget)
@@ -54,17 +56,17 @@ func Init() {
outf, err = os.OpenFile("/tmp/witgui.log", os.O_RDWR | os.O_CREATE | os.O_APPEND, 0666)
if err != nil {
- log.Fatalf("error opening file: %v", err)
+ exit("error opening file: %v", err)
}
// hmm. where to put this?
// defer outf.Close()
- log.SetOutput(outf)
- log.Println("This is a test log entry")
+ setOutput(outf)
+ log("This is a test log entry")
}
func Queue(f func()) {
- log.Println("QUEUEEEEE")
+ log("QUEUEEEEE")
f()
}
@@ -79,7 +81,7 @@ func Main(f func()) {
// addButton("test 3")
f()
if err := baseGui.MainLoop(); err != nil && !errors.Is(err, gocui.ErrQuit) {
- log.Panicln(err)
+ exit(err)
}
baseGui.Close()
os.Exit(0)
diff --git a/toolkit/gocui/group.go b/toolkit/gocui/group.go
index 7cea346..2d8600c 100644
--- a/toolkit/gocui/group.go
+++ b/toolkit/gocui/group.go
@@ -1,18 +1,16 @@
package main
import (
- "log"
-
"git.wit.org/wit/gui/toolkit"
)
-func NewGroup(parentW *toolkit.Widget, w *toolkit.Widget) {
+func newGroup(parentW *toolkit.Widget, w *toolkit.Widget) {
if (parentW == nil) {
- log.Println("wit/gui plugin error. parent widget == nil")
+ log(debugError, "plugin error. parent widget == nil")
return
}
if (w == nil) {
- log.Println("wit/gui plugin error. widget == nil")
+ log(debugPlugin, "plugin error. widget == nil")
return
}
if (w.Name == "") {
@@ -21,18 +19,18 @@ func NewGroup(parentW *toolkit.Widget, w *toolkit.Widget) {
if (w.Name == "") {
w.Name = "nil newGroup"
}
- log.Println("gui.gocui.AddGroup", w.Name)
+ log("AddGroup", w.Name)
addGroup(w.Name)
stringWidget[w.Name] = w
}
func addGroup(name string) {
- log.Println("addGroup() START name =", name)
- log.Println("addGroup() START groupSize =", groupSize, "currentY =", currentY, "currentX =", currentX)
+ log("addGroup() START name =", name)
+ log("addGroup() START groupSize =", groupSize, "currentY =", currentY, "currentX =", currentX)
currentY = 2
currentX += groupSize + 5
groupSize = 0
- log.Println("addGroup() START, RESET Y = 3, RESET X = ", currentX)
+ log("addGroup() START, RESET Y = 3, RESET X = ", currentX)
}
diff --git a/toolkit/gocui/keybindings.go b/toolkit/gocui/keybindings.go
index 3443320..43dbf47 100644
--- a/toolkit/gocui/keybindings.go
+++ b/toolkit/gocui/keybindings.go
@@ -5,17 +5,12 @@
package main
import (
-// "errors"
-// "fmt"
- "log"
-// "strings"
-
"github.com/awesome-gocui/gocui"
"git.wit.org/wit/gui/toolkit"
)
func initKeybindings(g *gocui.Gui) error {
- log.Println("got to initKeybindings")
+ log("got to initKeybindings")
if err := g.SetKeybinding("", 'q', gocui.ModNone,
func(g *gocui.Gui, v *gocui.View) error {
return gocui.ErrQuit
@@ -54,7 +49,7 @@ func initKeybindings(g *gocui.Gui) error {
}
if err := g.SetKeybinding("", gocui.KeyTab, gocui.ModNone,
func(g *gocui.Gui, v *gocui.View) error {
- log.Println("tab", v.Name())
+ log("tab", v.Name())
return nextView(g, true)
}); err != nil {
return err
@@ -73,27 +68,27 @@ func initKeybindings(g *gocui.Gui) error {
}
if err := g.SetKeybinding("", gocui.KeyArrowDown, gocui.ModNone,
func(g *gocui.Gui, v *gocui.View) error {
- log.Println("down", v.Name())
+ log("down", v.Name())
return moveView(g, v, 0, delta)
}); err != nil {
return err
}
if err := g.SetKeybinding("", gocui.KeyArrowUp, gocui.ModNone,
func(g *gocui.Gui, v *gocui.View) error {
- log.Println("up", v.Name())
+ log("up", v.Name())
return moveView(g, v, 0, -delta)
}); err != nil {
return err
}
if err := g.SetKeybinding("", gocui.KeyEnter, gocui.ModNone,
func(g *gocui.Gui, v *gocui.View) error {
- log.Println("enter", v.Name())
+ log("enter", v.Name())
var w *toolkit.Widget
w = stringWidget[v.Name()]
if (w == nil) {
- log.Println("COULD NOT FIND WIDGET", v.Name())
+ log("COULD NOT FIND WIDGET", v.Name())
} else {
- log.Println("FOUND WIDGET!", w)
+ log("FOUND WIDGET!", w)
if (w.Custom != nil) {
w.Custom()
return nil
@@ -123,14 +118,14 @@ func initKeybindings(g *gocui.Gui) error {
}
if err := g.SetKeybinding("", 'h', gocui.ModNone,
func(g *gocui.Gui, v *gocui.View) error {
- log.Println("help", v.Name())
+ log("help", v.Name())
tmp, _ := g.SetViewOnTop("help")
- log.Println("help 2", tmp.Name())
+ log("help 2", tmp.Name())
// g.SetView("help", 2, 2, 30, 15, 0);
g.SetCurrentView("help")
// moveView(g, tmp, 0, -delta)
if err := g.DeleteView("help"); err != nil {
- log.Fatalln("gocui SetKeybinding()", err)
+ exit("gocui SetKeybinding()", err)
}
return nil
}); err != nil {
diff --git a/toolkit/gocui/log.go b/toolkit/gocui/log.go
new file mode 100644
index 0000000..afd1280
--- /dev/null
+++ b/toolkit/gocui/log.go
@@ -0,0 +1,135 @@
+//
+// version v1.3
+//
+// I like things to be easy.
+//
+// combining logging inside of a gui made me do this
+//
+// this means all the log settings are in one place. it should allow
+// things to be over-ridden externally to the library
+// but still allow command line --args to pass debugging settings
+//
+// I also have a generic sleep() and exit() in here because it's simple
+//
+// Usage:
+//
+// log("something", foo, bar)
+// var DEBUG bool = true
+// log(DEBUG, "something else", someOtherVariable) # if DEBUG == false, return doing nothing
+// log(SPEW, "something else", someOtherVariable) # this get's sent to spew.Dump(). Very useful for debugging!
+//
+package main
+
+import (
+ "os"
+ golog "log"
+ "time"
+ "reflect"
+ "github.com/davecgh/go-spew/spew"
+)
+
+var LOGOFF bool = false // turn this off, all logging stops
+var WARN bool
+var INFO bool
+
+type spewt struct {
+ a bool
+}
+
+var SPEW spewt
+
+
+/*
+ sleep() # you know what this does? sleeps for 1 second. yep. dump. easy.
+ sleep(.1) # you know what this does? yes, it sleeps for 1/10th of a second
+*/
+func sleep(a ...any) {
+ if (a == nil) {
+ time.Sleep(time.Second)
+ return
+ }
+
+ log(true, "sleep", a[0])
+
+ switch a[0].(type) {
+ case int:
+ time.Sleep(time.Duration(a[0].(int)) * time.Second)
+ case float64:
+ time.Sleep(time.Duration(a[0].(float64) * 1000) * time.Millisecond)
+ default:
+ log("sleep a[0], type = ", a[0], reflect.TypeOf(a[0]))
+ }
+}
+
+/*
+ exit() # yep. exits. I guess everything must be fine
+ exit(3) # I guess 3 it is then
+ exit("dont like apples") # ok. I'll make a note of that
+*/
+func exit(a ...any) {
+ log(true, "exit", a)
+ //if (a) {
+ // os.Exit(a)
+ //}
+ os.Exit(0)
+}
+
+/*
+ I've spent, am spending, too much time thinking about 'logging'. 'log', 'logrus', 'zap', whatever.
+ I'm not twitter. i don't give a fuck about how many nanoseconds it takes to log. Anyway, this
+ implementation is probably faster than all of those because you just set one bool to FALSE
+ and it all stops.
+ Sometimes I need to capture to stdout, sometimes stdout can't
+ work because it doesn't exist for the user. This whole thing is a PITA. Then it's spread
+ over 8 million references in every .go file. I'm tapping out and putting
+ it in one place. here it is. Also, this makes having debug levels really fucking easy.
+ You can define whatever level of logging you want from anywhere (command line) etc.
+
+ log() # doesn't do anything
+ log(stuff) # sends it to whatever log you define in a single place. here is the place
+*/
+
+func log(a ...any) {
+ if (LOGOFF) {
+ return
+ }
+
+ if (a == nil) {
+ return
+ }
+ var tbool bool
+ if (reflect.TypeOf(a[0]) == reflect.TypeOf(tbool)) {
+ if (a[0] == false) {
+ return
+ }
+ a[0] = "GUI/Toolkit/gocui"
+ }
+
+ if (reflect.TypeOf(a[0]) == reflect.TypeOf(SPEW)) {
+ // a = a[1:]
+ a[0] = "GUI/Toolkit/gocui"
+ if (debugToolkit) {
+ scs := spew.ConfigState{MaxDepth: 1}
+ scs.Dump(a)
+ // spew.Dump(a)
+ }
+ return
+ }
+
+ golog.Println(a...)
+}
+
+func logindent(depth int, format string, a ...interface{}) {
+ var tabs string
+ for i := 0; i < depth; i++ {
+ tabs = tabs + format
+ }
+
+ // newFormat := tabs + strconv.Itoa(depth) + " " + format
+ newFormat := tabs + format
+ log(debugToolkit, newFormat, a)
+}
+
+func setOutput(f *os.File) {
+ golog.SetOutput(f)
+}
diff --git a/toolkit/gocui/orig/mouse.go b/toolkit/gocui/orig/mouse.go
deleted file mode 100644
index 7c77b14..0000000
--- a/toolkit/gocui/orig/mouse.go
+++ /dev/null
@@ -1,186 +0,0 @@
-// Copyright 2014 The gocui Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package toolkit
-
-import (
- "errors"
- "fmt"
- "log"
- "os"
-
- "github.com/awesome-gocui/gocui"
-)
-
-var g *gocui.Gui
-var err error
-var Custom func(string)
-
-func OnExit(f func(string)) {
- Custom = f
-}
-
-func Exit() {
- g.Close()
-}
-
-func mouseClick(name string) {
- // output screws up the console. Need to fix this by redirecting all console output to a file from log.Println()
- // log.Println("g.Close()")
- // g.Close()
-
- log.Println("Found andlabs Running custom function for the mouse click")
- Custom(name)
- // panic("got andlabs")
-}
-
-func Init() {
- log.Println("start Init()")
-
- 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")
-
- g, err = gocui.NewGui(gocui.OutputNormal, true)
- if err != nil {
- log.Panicln(err)
- }
-
- g.Cursor = true
- g.Mouse = true
-
- g.SetManagerFunc(layout)
-
- if err := keybindings(g); err != nil {
- log.Panicln(err)
- }
- log.Println("exit Init()")
-}
-
-func StartConsoleMouse() {
- defer g.Close()
- log.Println("start Main()")
-
- if err := g.MainLoop(); err != nil && !errors.Is(err, gocui.ErrQuit) {
- log.Panicln(err)
- }
- log.Println("exit Main()")
-}
-
-func layout(g *gocui.Gui) error {
- if v, err := g.SetView("but1", 2, 2, 22, 17, 0); err != nil {
- if !errors.Is(err, gocui.ErrUnknownView) {
- return err
- }
- v.Highlight = true
- v.SelBgColor = gocui.ColorGreen
- v.SelFgColor = gocui.ColorBlack
- fmt.Fprintln(v, "andlabs")
- fmt.Fprintln(v, "addDemoTab")
- fmt.Fprintln(v, "DemoToolkitWindow")
- fmt.Fprintln(v, "DebugWindow")
- fmt.Fprintln(v, "do nothing")
- fmt.Fprintln(v, "exit")
- if _, err := g.SetCurrentView("but1"); err != nil {
- return err
- }
- }
- if v, err := g.SetView("but2", 24, 2, 44, 4, 0); err != nil {
- if !errors.Is(err, gocui.ErrUnknownView) {
- return err
- }
- v.Highlight = true
- v.SelBgColor = gocui.ColorGreen
- v.SelFgColor = gocui.ColorBlack
- fmt.Fprintln(v, "Button 2 - line 1")
- }
- if v, err := g.SetView("but3", 24, 2, 44, 4, 0); err != nil {
- if !errors.Is(err, gocui.ErrUnknownView) {
- return err
- }
- v.Highlight = true
- v.SelBgColor = gocui.ColorGreen
- v.SelFgColor = gocui.ColorBlack
- fmt.Fprintln(v, "Button 2 - line 1")
- }
- if v, err := g.SetView("but4", 24, 2, 44, 4, 0); err != nil {
- if !errors.Is(err, gocui.ErrUnknownView) {
- return err
- }
- v.Highlight = true
- v.SelBgColor = gocui.ColorGreen
- v.SelFgColor = gocui.ColorBlack
- fmt.Fprintln(v, "Button 2 - line 1")
- }
- if v, err := g.SetView("but5", 24, 2, 44, 4, 0); err != nil {
- if !errors.Is(err, gocui.ErrUnknownView) {
- return err
- }
- v.Highlight = true
- v.SelBgColor = gocui.ColorGreen
- v.SelFgColor = gocui.ColorBlack
- fmt.Fprintln(v, "Button 2 - line 1")
- }
- return nil
-}
-
-func keybindings(g *gocui.Gui) error {
- if err := g.SetKeybinding("", gocui.KeyCtrlC, gocui.ModNone, quit); err != nil {
- return err
- }
- for _, n := range []string{"but1", "but2"} {
- if err := g.SetKeybinding(n, gocui.MouseLeft, gocui.ModNone, showMsg); err != nil {
- return err
- }
- }
- if err := g.SetKeybinding("msg", gocui.MouseLeft, gocui.ModNone, delMsg); err != nil {
- return err
- }
- if err := g.SetKeybinding("", gocui.MouseRight, gocui.ModNone, delMsg); err != nil {
- return err
- }
- if err := g.SetKeybinding("", gocui.MouseMiddle, gocui.ModNone, delMsg); err != nil {
- return err
- }
- return nil
-}
-
-func quit(g *gocui.Gui, v *gocui.View) error {
- return gocui.ErrQuit
-}
-
-func showMsg(g *gocui.Gui, v *gocui.View) error {
- var l string
- var err error
-
- if _, err := g.SetCurrentView(v.Name()); err != nil {
- return err
- }
-
- _, cy := v.Cursor()
- if l, err = v.Line(cy); err != nil {
- l = ""
- }
-
- maxX, maxY := g.Size()
- if v, err := g.SetView("msg", maxX/2-10, maxY/2, maxX/2+10, maxY/2+2, 0); err != nil {
- if !errors.Is(err, gocui.ErrUnknownView) {
- return err
- }
- mouseClick(l)
- fmt.Fprintln(v, l)
- }
- return nil
-}
-
-func delMsg(g *gocui.Gui, v *gocui.View) error {
- // Error check removed, because delete could be called multiple times with the above keybindings
- g.DeleteView("msg")
- return nil
-}
diff --git a/toolkit/gocui/plugin.go b/toolkit/gocui/plugin.go
index 5be26f3..2b01acc 100644
--- a/toolkit/gocui/plugin.go
+++ b/toolkit/gocui/plugin.go
@@ -1,8 +1,8 @@
package main
import (
- "log"
-
+ // if you include more than just this import
+ // then your plugin might be doing something un-ideal (just a guess from 2023/02/27)
"git.wit.org/wit/gui/toolkit"
"github.com/awesome-gocui/gocui"
@@ -19,10 +19,97 @@ func Quit() {
// This lists out the know mappings
func listMap() {
for v, w := range viewWidget {
- log.Println("view =", v.Name, "widget name =", w.Name)
+ log("view =", v.Name, "widget name =", w.Name)
}
for s, w := range stringWidget {
- log.Println("string =", s, "widget =", w)
+ log("string =", s, "widget =", w)
}
}
+
+//
+// This should be called ?
+// Pass() ?
+// This handles all interaction between the wit/gui package (what golang knows about)
+// and this plugin that talks to the OS and does scary and crazy things to make
+// a GUI on whatever OS or whatever GUI toolkit you might have (GTK, QT, WASM, libcurses)
+//
+// Once you are here, you should be in a protected goroutine created by the golang wit/gui package
+//
+// TODO: make sure you can't escape this goroutine
+//
+func Send(p *toolkit.Widget, c *toolkit.Widget) {
+ if (p == nil) {
+ log(debugPlugin, "Send() parent = nil")
+ } else {
+ log(debugPlugin, "Send() parent =", p.Name, ",", p.Type)
+ }
+ log(debugPlugin, "Send() child =", c.Name, ",", c.Action, ",", c.Type)
+
+ /*
+ if (c.Action == "SetMargin") {
+ log(debugError, "need to implement SetMargin here")
+ setMargin(c, c.B)
+ return
+ }
+ */
+
+ switch c.Type {
+ /*
+ case toolkit.Window:
+ // doWindow(c)
+ case toolkit.Tab:
+ // doTab(p, c)
+ */
+ case toolkit.Group:
+ newGroup(p, c)
+ case toolkit.Button:
+ newButton(p, c)
+ /*
+ case toolkit.Checkbox:
+ // doCheckbox(p, c)
+ case toolkit.Label:
+ // doLabel(p, c)
+ case toolkit.Textbox:
+ // doTextbox(p, c)
+ case toolkit.Slider:
+ // doSlider(p, c)
+ case toolkit.Spinner:
+ // doSpinner(p, c)
+ case toolkit.Dropdown:
+ // doDropdown(p, c)
+ case toolkit.Combobox:
+ // doCombobox(p, c)
+ case toolkit.Grid:
+ // doGrid(p, c)
+ */
+ case toolkit.Flag:
+ // log(debugFlags, "plugin Send() flag parent =", p.Name, p.Type)
+ // log(debugFlags, "plugin Send() flag child =", c.Name, c.Type)
+ // log(debugFlags, "plugin Send() flag child.Action =", c.Action)
+ // log(debugFlags, "plugin Send() flag child.S =", c.S)
+ // log(debugFlags, "plugin Send() flag child.B =", c.B)
+ // log(debugFlags, "plugin Send() what to flag?")
+ // should set the checkbox to this value
+ switch c.S {
+ case "Toolkit":
+ debugToolkit = c.B
+ case "Change":
+ debugChange = c.B
+ case "Plugin":
+ debugPlugin = c.B
+ case "Flags":
+ debugFlags = c.B
+ case "Error":
+ debugError = c.B
+ case "Show":
+ ShowDebug()
+ default:
+ log(debugError, "Can't set unknown flag", c.S)
+ }
+ default:
+ log(debugError, "plugin Send() unknown parent =", p.Name, p.Type)
+ log(debugError, "plugin Send() unknown child =", c.Name, c.Type)
+ log(debugError, "plugin Send() Don't know how to do", c.Type, "yet")
+ }
+}
diff --git a/toolkit/gocui/views.go b/toolkit/gocui/views.go
index defe2b2..8b17acf 100644
--- a/toolkit/gocui/views.go
+++ b/toolkit/gocui/views.go
@@ -7,7 +7,6 @@ package main
import (
"errors"
"fmt"
- "log"
"strings"
"github.com/awesome-gocui/gocui"
@@ -71,11 +70,11 @@ func moveView(g *gocui.Gui, v *gocui.View, dx, dy int) error {
if err != nil {
return err
}
- log.Println(x0, y0, x1, y1)
+ log(x0, y0, x1, y1)
if _, err := g.SetView(name, x0+dx, y0+dy, x1+dx, y1+dy, 0); err != nil {
return err
}
x0, y0, x1, y1, err = g.ViewPosition(name)
- log.Println(x0, y0, x1, y1)
+ log(x0, y0, x1, y1)
return nil
}
diff --git a/toolkit/gocui/window.go b/toolkit/gocui/window.go
index b2d241d..67948d6 100644
--- a/toolkit/gocui/window.go
+++ b/toolkit/gocui/window.go
@@ -1,18 +1,16 @@
package main
import (
- "log"
-
"git.wit.org/wit/gui/toolkit"
)
func NewWindow(w *toolkit.Widget) {
if (w == nil) {
- log.Println("wit/gui plugin error. widget == nil")
+ log("wit/gui plugin error. widget == nil")
return
}
if (w.Name == "") {
w.Name = "nil newWindow"
}
- log.Println("gui.gocui.AddWindow", w.Name)
+ log("gui.gocui.AddWindow", w.Name)
}