diff options
| author | Jeff Carr <[email protected]> | 2025-02-09 05:17:29 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-02-09 05:17:29 -0600 |
| commit | eb3b60abb6ccf8fb2731061bc856b3960d698683 (patch) | |
| tree | a5cabce3364d4033413baaea8e56c92f79885dda | |
| parent | 7260d0e8b275dba11aef0cba5048a435516c2b1e (diff) | |
block events for disable widgets
| -rw-r--r-- | common.go | 7 | ||||
| -rw-r--r-- | init.go | 5 |
2 files changed, 12 insertions, 0 deletions
@@ -62,6 +62,13 @@ func (n *Node) Hide() *Node { return n } +func (n *Node) IsEnabled() bool { + if !n.Ready() { + return false + } + return n.enabled +} + // enables a widget so the user can see it and work/click/etc on it // by default, widgets are enabled when they are created func (n *Node) Enable() *Node { @@ -223,6 +223,11 @@ func watchCallback() { func (n *Node) gotUserEvent(a widget.Action) { log.Log(CHANGE, "gotUserEvent() received event node =", n.id, n.progname, a.Value) + if !n.IsEnabled() { + log.Log(WARN, "ignoring plugin event for a disabled widget", n.id, n.progname, a.Value) + return + } + switch n.WidgetType { case widget.Dropdown: // n.checked = a.State.Checked // TODO: do this and/or time to switch to protobuf |
