From bbdf7fefbd9d812b4db575a57d9d159d68921f7f Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Fri, 31 Jan 2025 11:34:23 -0600 Subject: [PATCH] make keyboard 'f' show what widgets are under the mouse --- junk1.go | 10 ++++++++++ treeWidget.go | 32 +++++++++++++++++--------------- 2 files changed, 27 insertions(+), 15 deletions(-) diff --git a/junk1.go b/junk1.go index de8c104..1ed2d7e 100644 --- a/junk1.go +++ b/junk1.go @@ -5,6 +5,7 @@ package main import ( + "fmt" "syscall" "github.com/awesome-gocui/gocui" @@ -99,6 +100,15 @@ func addDebugKeys(g *gocui.Gui) { return nil }) + // find under mouse + g.SetKeybinding("", 'f', gocui.ModNone, + func(g *gocui.Gui, v *gocui.View) error { + w, h := g.MousePosition() + for _, tk := range findByXY(w, h) { + log.Log(GOCUI, fmt.Sprintf("findByXY() msgDown() %s wId=%d cuiName=%s at (%d,%d)", tk.WidgetType, tk.node.WidgetId, tk.cuiName, w, h)) + } + return nil + }) // hide all widgets g.SetKeybinding("", 'h', gocui.ModNone, func(g *gocui.Gui, v *gocui.View) error { diff --git a/treeWidget.go b/treeWidget.go index d72f957..e39502f 100644 --- a/treeWidget.go +++ b/treeWidget.go @@ -75,8 +75,8 @@ func (w *guiWidget) IsCurrent() bool { return w.isCurrent } if w.node.WidgetType == widget.Window { - log.Log(GOCUI, "IsCurrent() found current window", w.cuiName, w.String()) - log.Log(GOCUI, "IsCurrent() window w.isCurrent =", w.isCurrent) + // log.Log(GOCUI, "IsCurrent() found current window", w.cuiName, w.String()) + // log.Log(GOCUI, "IsCurrent() window w.isCurrent =", w.isCurrent) return w.isCurrent } if w.node.WidgetType == widget.Root { @@ -125,31 +125,33 @@ func (w *guiWidget) Show() { return } - if w.node.WidgetType == widget.Dropdown { - log.Log(NOW, "Show() dropdown", w.cuiName, w.String()) - log.Log(NOW, "Show() dropdown n.Strings() =", w.node.Strings()) - } - if w.node.WidgetType == widget.Combobox { - log.Log(NOW, "Show() dropdown", w.cuiName, w.String()) - log.Log(NOW, "Show() dropdown n.Strings() =", w.node.Strings()) - } + /* + if w.node.WidgetType == widget.Dropdown { + log.Log(NOW, "Show() dropdown", w.cuiName, w.String()) + log.Log(NOW, "Show() dropdown n.Strings() =", w.node.Strings()) + } + if w.node.WidgetType == widget.Combobox { + log.Log(NOW, "Show() dropdown", w.cuiName, w.String()) + log.Log(NOW, "Show() dropdown n.Strings() =", w.node.Strings()) + } + */ // if the widget is not in the current displayed windo // then ignore it - log.Log(GOCUI, "Show() widget =", w.cuiName, w.String()) - log.Log(GOCUI, "Show() w.IsCurrent() returned", w.IsCurrent()) + // log.Log(GOCUI, "Show() widget =", w.cuiName, w.String()) + // log.Log(GOCUI, "Show() w.IsCurrent() returned", w.IsCurrent()) if !w.IsCurrent() { - log.Log(GOCUI, "Show() NOT drawing", w.cuiName, w.String()) + log.Log(GOCUI, "Show() w.IsCurrent == false. NOT drawing", w.cuiName, w.String()) return } - log.Log(GOCUI, "Show() drawing", w.cuiName, w.String()) // finally, check if the widget State is hidden or not if w.node.Hidden() { + log.Log(GOCUI, "Show() w.node.Hidden() = false. not drawing", w.cuiName, w.String()) // don't display hidden widgets return } - + // log.Log(GOCUI, "Show() doing w.drawView()", w.cuiName, w.String()) // okay, if you made it this far, then display the widget w.drawView() }