summaryrefslogtreecommitdiff
path: root/mouse.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-01-31 08:57:32 -0600
committerJeff Carr <[email protected]>2025-01-31 13:47:45 -0600
commit1a1881aa4e39e256126972c0cbe7f0db93ee20ec (patch)
tree7afff73f1c2a594e71628f435644530ba05a4c0f /mouse.go
parent75a5c7bf728d02bcf5accd1360c99a9c6edc0b91 (diff)
name changes after I haven't looked at this code for some time
Diffstat (limited to 'mouse.go')
-rw-r--r--mouse.go107
1 files changed, 0 insertions, 107 deletions
diff --git a/mouse.go b/mouse.go
deleted file mode 100644
index 4078d70..0000000
--- a/mouse.go
+++ /dev/null
@@ -1,107 +0,0 @@
-// Copyright 2014 The gocui Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// note by [email protected] in 2025: this is one of the coolest
-// things ever what this does. I've tried to improve
-// it while I've been working on making a gocui
-// GO plugin so it can be generalized as a useful
-// console interface. Well done everyone that has
-// contributed to this gocui project !!!
-
-package main
-
-import (
- "errors"
- "fmt"
-
- "github.com/awesome-gocui/gocui"
-
- "go.wit.com/log"
-)
-
-// this function uses the mouse position to highlight & unhighlight things
-// this is run every time the user moves the mouse over the terminal window
-func mouseMove(g *gocui.Gui) {
- mx, my := g.MousePosition()
- for _, view := range g.Views() {
- view.Highlight = false
- }
- if v, err := g.ViewByPosition(mx, my); err == nil {
- v.Highlight = true
- }
-}
-
-func msgDown(g *gocui.Gui, v *gocui.View) error {
- initialMouseX, initialMouseY = g.MousePosition()
-
- // debugging output
- log.Log(GOCUI, "msgDown() X,Y", initialMouseX, initialMouseY)
-
- //
- vx, vy, _, _, err := g.ViewPosition("msg")
- if err == nil {
- xOffset = initialMouseX - vx
- yOffset = initialMouseY - vy
- msgMouseDown = true
- }
- return nil
-}
-
-func mouseUp(g *gocui.Gui, v *gocui.View) error {
- w, h := g.MousePosition()
-
- dropdownUnclicked(w, h)
-
- if msgMouseDown {
- msgMouseDown = false
- if movingMsg {
- movingMsg = false
- return nil
- } else {
- g.DeleteView("msg")
- }
- } else if globalMouseDown {
- globalMouseDown = false
- g.DeleteView("globalDown")
- }
- return nil
-}
-
-// func isMouseInMsg
-
-// this is where you have to figure out what
-// 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()
-
- vx0, vy0, vx1, vy1, err := g.ViewPosition("msg")
- if err == nil {
- if mx >= vx0 && mx <= vx1 && my >= vy0 && my <= vy1 {
- return msgDown(g, v)
- }
- }
- globalMouseDown = true
-
- maxX, _ := g.Size()
-
- findUnderMouse()
-
- msg := fmt.Sprintf("mouseDown() Mouse really down at: %d,%d", mx, my)
- // dropdownClicked(mx, my)
- x := mx - len(msg)/2
- if x < 0 {
- x = 0
- } else if x+len(msg)+1 > maxX-1 {
- x = maxX - 1 - len(msg) - 1
- }
- log.Log(GOCUI, "mouseDown() about to write out message to 'globalDown' view. msg =", msg)
- if v, err := g.SetView("globalDown", x, my-1, x+len(msg)+1, my+1, 0); err != nil {
- if !errors.Is(err, gocui.ErrUnknownView) {
- return err
- }
- v.WriteString(msg)
- }
- return nil
-}