summaryrefslogtreecommitdiff
path: root/widget.go
diff options
context:
space:
mode:
Diffstat (limited to 'widget.go')
-rw-r--r--widget.go40
1 files changed, 27 insertions, 13 deletions
diff --git a/widget.go b/widget.go
index ee6a12d..0f54750 100644
--- a/widget.go
+++ b/widget.go
@@ -101,35 +101,49 @@ func (tk *guiWidget) Visible() bool {
return true
}
-func (tk *guiWidget) Show() {
+func (w *guiWidget) Show() {
// always should the dropdown widget
- if tk == me.dropdownV {
- me.dropdownV.showView()
+ if w== me.dropdownV {
+ me.dropdownV.recreateView()
return
}
+
+ // don't display fake widgets
+ if w.isFake {
+ return
+ }
+
// if this isn't in the binary tree
// it's some internal widget so always display those
- if tk.node == nil {
- tk.showView()
+ if w.node == nil {
+ w.recreateView()
+ return
+ }
+
+ // always show window titles
+ if w.node.WidgetType != widget.Window {
+ w.recreateView()
return
}
// if the widget is not in the current displayed windo
// then ignore it
- log.Log(NOW, "Show() tk =", tk.cuiName, tk.String())
- log.Log(NOW, "Show() tk.IsCurrent() returned", tk.IsCurrent())
- if ! tk.IsCurrent() {
- log.Log(NOW, "Show() NOT drawing", tk.cuiName, tk.String())
+ log.Log(NOW, "Show() widget =", w.cuiName, w.String())
+ log.Log(NOW, "Show() w.IsCurrent() returned", w.IsCurrent())
+ if ! w.IsCurrent() {
+ log.Log(NOW, "Show() NOT drawing", w.cuiName, w.String())
return
}
- log.Log(NOW, "Show() drawing", tk.cuiName, tk.String())
+ log.Log(NOW, "Show() drawing", w.cuiName, w.String())
// finally, check if the widget State is hidden or not
- if tk.node.State.Hidden {
+ if w.node.State.Hidden {
// don't display hidden widgets
- } else {
- tk.showView()
+ return
}
+
+ // okay, if you made it this far, then display the widget
+ w.recreateView()
}
func (tk *guiWidget) Hide() {