summaryrefslogtreecommitdiff
path: root/toolkit/gocui/click.go
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/gocui/click.go')
-rw-r--r--toolkit/gocui/click.go19
1 files changed, 19 insertions, 0 deletions
diff --git a/toolkit/gocui/click.go b/toolkit/gocui/click.go
index 0dadc8b..a43dab4 100644
--- a/toolkit/gocui/click.go
+++ b/toolkit/gocui/click.go
@@ -34,6 +34,7 @@ func (w *cuiWidget) doWidgetClick() {
} else {
w.setCheckbox(true)
}
+ w.doUserEvent()
case toolkit.Grid:
me.rootNode.hideWidgets()
w.placeGrid()
@@ -47,10 +48,28 @@ func (w *cuiWidget) doWidgetClick() {
}
w.placeWidgets()
w.toggleTree()
+ case toolkit.Button:
+ w.doUserEvent()
default:
}
}
+// this passes the user event back from the plugin
+func (w *cuiWidget) doUserEvent() {
+ if (me.callback == nil) {
+ log(logError, "doUserEvent() no callback channel was configured")
+ return
+ }
+ var a toolkit.Action
+ a.WidgetId = w.id
+ a.Name = w.name
+ a.Text = w.text
+ a.B = w.b
+ a.ActionType = toolkit.User
+ me.callback <- a
+ log(logNow, "END: sent a button click callback()")
+}
+
var toggle bool = true
func (w *cuiWidget) toggleTree() {
if (toggle) {