diff options
| -rw-r--r-- | plugin.go | 7 | ||||
| -rw-r--r-- | view.go | 5 |
2 files changed, 12 insertions, 0 deletions
@@ -34,6 +34,9 @@ func action(a widget.Action) { } else { w.setColor(&colorDisabled) } + if w.hidden { + w.SetVisible(false) + } } else { // this is done to protect the plugin being 'refreshed' with the // widget binary tree. TODO: find a way to keep them in sync @@ -41,6 +44,7 @@ func action(a widget.Action) { a.WidgetId, a.ActionType, a.WidgetType, a.ProgName) } case widget.Show: + w.node.State.Hidden = false if w.Visible() { // widget was already shown } else { @@ -49,6 +53,9 @@ func action(a widget.Action) { } w.showView() case widget.Hide: + w.node.State.Hidden = true + log.Log(NOW, "HIDE HERE. a.State.Hidden =", a.State.Hidden) + log.Log(NOW, "HIDE HERE. w.hidden =", w.hidden) if w.Visible() { log.Log(INFO, "Setting Visible to false", a.ProgName) w.SetVisible(false) @@ -62,6 +62,11 @@ func (w *guiWidget) showView() { } log.Log(INFO, "showView() labelN =", w.labelN) + if w.hidden { + w.SetVisible(false) + return + } + // if the gocui element doesn't exist, create it if w.v == nil { w.recreateView() |
