diff options
| author | Jeff Carr <[email protected]> | 2025-02-06 05:41:51 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-02-06 05:41:51 -0600 |
| commit | 6d991fef63b79c8c934bfc70acb783fcd6f13f89 (patch) | |
| tree | 22de300130ee09eb5c44eae478eb1b89e3f4edf7 /eventMouse.go | |
| parent | 9c7b139e5ac7c0fbec70a827aab6d0d2b9a030b7 (diff) | |
dropdown menus are maybe working again
Diffstat (limited to 'eventMouse.go')
| -rw-r--r-- | eventMouse.go | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/eventMouse.go b/eventMouse.go index 6d0c684..c4871ec 100644 --- a/eventMouse.go +++ b/eventMouse.go @@ -36,25 +36,47 @@ func mouseUp(g *gocui.Gui, v *gocui.View) error { // widget was underneath so you can active // the right response for the toolkit user's app func mouseDown(g *gocui.Gui, v *gocui.View) error { - mx, my := g.MousePosition() log.Info("mouseDown() setting globalMouseDown = true") me.globalMouseDown = true + if me.dropdown.active { + w, h := g.MousePosition() + log.Info("mouseDown() stopping here. dropdwon menu is in effect") + for _, tk := range findByXY(w, h) { + if tk.node.WidgetType == widget.Flag { + log.Info("SENDING CLICK TO Dropdown Flag") + tk.doWidgetClick(w, h) + return nil + } + } + log.Info("never found dropdown") + me.dropdown.active = false + return nil + } + var found bool = false - for _, tk := range findByXY(mx, my) { + w, h := g.MousePosition() + for _, tk := range findByXY(w, h) { tk.dumpWidget("mouseDown()") if tk.node.WidgetType == widget.Button { log.Info("SENDING CLICK TO Button") - tk.doWidgetClick(mx, my) + tk.doWidgetClick(w, h) return nil } if tk.node.WidgetType == widget.Checkbox { log.Info("SENDING CLICK TO Checkbox") - tk.doWidgetClick(mx, my) + tk.doWidgetClick(w, h) + return nil + } + if tk.node.WidgetType == widget.Dropdown { + log.Info("SENDING CLICK TO Dropdown") + tk.doWidgetClick(w, h) return nil } found = true } + + mx, my := g.MousePosition() for _, tk := range findByXY(mx, my) { if tk.node.WidgetType == widget.Window { tk.dragW = mx - tk.gocuiSize.w0 |
