diff options
| author | Jeff Carr <[email protected]> | 2024-01-27 10:03:01 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-01-27 10:03:01 -0600 |
| commit | e1cd1a27a3064c61fa3a42e59de937ac2c8def43 (patch) | |
| tree | fcd1324f17ec3ab6e8f2e1465621a63cb610c387 /action.go | |
| parent | fbd035f5befa99f9143ee289471c5b206c7a2d64 (diff) | |
nocui worksv0.13.16
release automation testing
try to track disable state
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'action.go')
| -rw-r--r-- | action.go | 27 |
1 files changed, 19 insertions, 8 deletions
@@ -80,6 +80,11 @@ func ready(n *tree.Node) bool { return true } +func hide(n *tree.Node) { + show(n, false) + n.State.Hidden = true +} + func show(n *tree.Node, b bool) { if tkbad(n) { return @@ -102,14 +107,11 @@ func show(n *tree.Node, b bool) { } func enable(n *tree.Node, b bool) { - var tk *guiWidget - tk = n.TK.(*guiWidget) - if n == nil { - panic("WHAT? enable was passed nil. How does this even happen?") - } - if tk == nil { + if !ready(n) { return } + var tk *guiWidget + tk = n.TK.(*guiWidget) if tk.uiControl == nil { return } @@ -199,7 +201,16 @@ func processAction(a *widget.Action) { if a.ActionType == widget.Add { n := add(a) - show(n, !a.State.Hidden) + // show(n, !a.State.Hidden) + if a.State.Hidden { + hide(n) + } else { + if a.State.Enable { + // nothing to do + } else { + enable(n, false) + } + } // pad(n, n.State.Pad) // expand(n, a.State.Expand) return @@ -238,7 +249,7 @@ func processAction(a *widget.Action) { case widget.Show: show(n, true) case widget.Hide: - show(n, false) + hide(n) case widget.Enable: enable(n, true) case widget.Disable: |
