summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-02-12 00:19:15 -0600
committerJeff Carr <[email protected]>2025-02-12 00:19:15 -0600
commit0a6027244078ce36de31af64dfd01e561420d4e5 (patch)
tree1542d1906d744e54b5326d115cb0c22c98812d9c
parenta575a08bccc666c776cfb5192528249039dcfbed (diff)
working on button disable
-rw-r--r--place.go12
-rw-r--r--plugin.go98
-rw-r--r--treeAdd.go8
-rw-r--r--treeDraw.go13
4 files changed, 68 insertions, 63 deletions
diff --git a/place.go b/place.go
index 0eb0074..2cffe34 100644
--- a/place.go
+++ b/place.go
@@ -145,9 +145,15 @@ func (tk *guiWidget) placeWidgets(startW int, startH int) (int, int) {
case widget.Button:
if tk.isWindowDense() && tk.isInGrid() {
tk.frame = false
- tk.color = nil
- tk.defaultColor = nil
- tk.setColorButtonDense()
+ // tk.color = nil
+ // tk.defaultColor = nil
+ /*
+ if tk.node.IsEnabled() {
+ tk.setColorButtonDense()
+ } else {
+ tk.setColorDisable()
+ }
+ */
// if tk.full.Height() > 0 {
tk.full.h1 = tk.full.h0
// }
diff --git a/plugin.go b/plugin.go
index c0d661f..30509ca 100644
--- a/plugin.go
+++ b/plugin.go
@@ -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")
+ }
}
diff --git a/treeAdd.go b/treeAdd.go
index 40b03ba..9c71a91 100644
--- a/treeAdd.go
+++ b/treeAdd.go
@@ -28,7 +28,7 @@ func setFake(n *tree.Node) {
}
}
-// func (n *node) addWidget(n *tree.Node) {
+// mostly just sets the colors of things
func addWidget(n *tree.Node) {
if !me.ok {
log.Log(INFO, "addWidget() START NOT OKAY")
@@ -36,8 +36,7 @@ func addWidget(n *tree.Node) {
log.Log(INFO, "addWidget() START NOT OKAY")
waitOK()
}
- var tk *guiWidget
- tk = n.TK.(*guiWidget)
+ tk := n.TK.(*guiWidget)
log.Log(INFO, "setStartWH() w.id =", n.WidgetId, "n.name", n.String())
switch n.WidgetType {
case widget.Root:
@@ -67,10 +66,9 @@ func addWidget(n *tree.Node) {
// tk.color = &colorTab
return
case widget.Button:
+ tk.setColorButton()
if tk.node.IsEnabled() {
- tk.setColorButton()
} else {
- tk.setColorButton()
tk.setColorDisable()
}
return
diff --git a/treeDraw.go b/treeDraw.go
index 1f3ab11..52fb416 100644
--- a/treeDraw.go
+++ b/treeDraw.go
@@ -182,6 +182,19 @@ func (tk *guiWidget) drawView() {
}
}
+ switch tk.node.WidgetType {
+ case widget.Button:
+ if tk.node.IsEnabled() {
+ if tk.isWindowDense() && tk.isInGrid() {
+ tk.setColorButtonDense()
+ } else {
+ tk.setColorButton()
+ }
+ } else {
+ tk.setColorDisable()
+ }
+ default:
+ }
// if you don't do this here, it will be black & white only
if tk.color != nil {
tk.v.FrameColor = tk.color.frame