diff options
Diffstat (limited to 'plugin.go')
| -rw-r--r-- | plugin.go | 98 |
1 files changed, 43 insertions, 55 deletions
@@ -220,13 +220,23 @@ func (tk *guiWidget) GetText() string { return "" } -func (tk *guiWidget) Disable() { - if tk == nil { - log.Log(NOW, "widget is nil") - return +func hideDisable() { + if me.textbox.tk == nil { + initTextbox() + me.textbox.tk.prepTextbox() + } + + me.textbox.tk.Hide() + me.textbox.tk.enable = false + me.textbox.tk.node.State.Enable = false + me.textbox.active = false +} + +func showDisable() { + if me.textbox.tk == nil { + initTextbox() + me.textbox.tk.prepTextbox() } - initTextbox() - tk.prepTextbox() r := new(rectType) r.w0 = 2 r.h0 = 1 @@ -252,62 +262,40 @@ func (tk *guiWidget) Disable() { me.baseGui.SetKeybinding(me.textbox.tk.v.Name(), gocui.KeyEnter, gocui.ModNone, theCloseTheTextbox) me.textbox.active = true - - /* - tk.enable = false - tk.node.State.Enable = false - // log.Info("disable widget in gocui", tk.node.WidgetType, tk.node.ProgName()) - switch tk.node.WidgetType { - case widget.Box: - // log.Info("todo: blank out the window here", tk.String()) - r := new(rectType) - // startW, startH := tk.Position() - r.w0 = 0 - r.h0 = 0 - r.w1 = r.w0 + 24 - r.h1 = r.h0 + 2 - me.textbox.tk.forceSizes(r) - showTextbox("Running...") - return - case widget.Button: - tk.setColorDisable() - return - default: - tk.dumpWidget("fixme: disable") - } - */ } -func (tk *guiWidget) Enable() { +func (tk *guiWidget) Disable() { if tk == nil { log.Log(NOW, "widget is nil") return } - initTextbox() - tk.prepTextbox() - me.textbox.tk.Hide() - me.textbox.tk.enable = false - me.textbox.tk.node.State.Enable = false + switch tk.node.WidgetType { + case widget.Box: + showDisable() + return + case widget.Button: + tk.setColorDisable() + return + default: + tk.dumpWidget("fixme: disable") + } +} - /* - initTextbox() +func (tk *guiWidget) Enable() { + if tk == nil { + log.Log(NOW, "widget is nil") + return + } - tk.enable = true - tk.node.State.Enable = true - // log.Info("enable widget in gocui", tk.node.WidgetType, tk.node.ProgName()) - switch tk.node.WidgetType { - case widget.Box: - // log.Info("todo: un blank the window here") - me.textbox.tk.Hide() - me.textbox.active = false - // log.Info("escaped from textbox") - return - case widget.Button: - tk.restoreEnableColor() - return - default: - tk.dumpWidget("fixme: enable") - } - */ + switch tk.node.WidgetType { + case widget.Box: + hideDisable() + return + case widget.Button: + tk.restoreEnableColor() + return + default: + tk.dumpWidget("fixme: enable") + } } |
