summaryrefslogtreecommitdiff
path: root/toolkit/democui/click.go
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/democui/click.go')
-rw-r--r--toolkit/democui/click.go49
1 files changed, 49 insertions, 0 deletions
diff --git a/toolkit/democui/click.go b/toolkit/democui/click.go
new file mode 100644
index 0000000..adc611c
--- /dev/null
+++ b/toolkit/democui/click.go
@@ -0,0 +1,49 @@
+package main
+
+import (
+ "fmt"
+ "errors"
+ "strconv"
+
+ "github.com/awesome-gocui/gocui"
+ // "git.wit.org/wit/gui/toolkit"
+)
+
+func click(g *gocui.Gui, v *gocui.View) error {
+ var l string
+ var err error
+
+ log(logNow, "click() START", v.Name())
+ i, err := strconv.Atoi(v.Name())
+ if (err != nil) {
+ log(logNow, "click() Can't find widget. error =", err)
+ } else {
+ log(logNow, "click() Found widget id =", i)
+ if (me.widgets[i] != nil) {
+ w := me.widgets[i]
+ log(logNow, "click() Found widget =", w)
+ }
+ }
+
+ 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 || errors.Is(err, gocui.ErrUnknownView) {
+ v.Clear()
+ v.SelBgColor = gocui.ColorCyan
+ v.SelFgColor = gocui.ColorBlack
+ fmt.Fprintln(v, l)
+ }
+
+ // this seems to delete the button(?)
+ // g.SetViewOnBottom(v.Name())
+ log(logNow, "click() END")
+ return nil
+}