summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugin.go7
-rw-r--r--view.go5
2 files changed, 12 insertions, 0 deletions
diff --git a/plugin.go b/plugin.go
index 774b85d..c8bd88c 100644
--- a/plugin.go
+++ b/plugin.go
@@ -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)
diff --git a/view.go b/view.go
index 633eaa4..1a8dc92 100644
--- a/view.go
+++ b/view.go
@@ -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()