diff options
Diffstat (limited to 'widget.go')
| -rw-r--r-- | widget.go | 40 |
1 files changed, 27 insertions, 13 deletions
@@ -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() { |
