summaryrefslogtreecommitdiff
path: root/mouse.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-02-01 20:12:26 -0600
committerJeff Carr <[email protected]>2024-02-01 20:12:26 -0600
commit13b0daed7cb950c1244a8e6e42523813178d4c7d (patch)
treea11d0dd527b048a812749882c27c0c02fb57edb9 /mouse.go
parentf2f43a2b0bba96b9b8ed15d7996ccfe0181f846a (diff)
restore STDOUT and STDERR on panic()
Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'mouse.go')
-rw-r--r--mouse.go109
1 files changed, 3 insertions, 106 deletions
diff --git a/mouse.go b/mouse.go
index 411b4da..2a8de70 100644
--- a/mouse.go
+++ b/mouse.go
@@ -36,110 +36,14 @@ func msgDown(g *gocui.Gui, v *gocui.View) error {
return nil
}
-func hideDDview() error {
- var tk *guiWidget
- tk = me.ddview.TK.(*guiWidget)
- w, h := me.baseGui.MousePosition()
- log.Log(NOW, "hide dropdown menu() view msgMouseDown (w,h) =", w, h)
- if me.ddview == nil {
- return gocui.ErrUnknownView
- }
- if tk.v == nil {
- return gocui.ErrUnknownView
- }
- tk.SetVisible(false)
- return nil
-}
-
-func showDDview() error {
- w, h := me.baseGui.MousePosition()
- log.Log(NOW, "show dropdown menu() view msgMouseDown (w,h) =", w, h)
- if me.ddview == nil {
- return gocui.ErrUnknownView
- }
- var tk *guiWidget
- tk = me.ddview.TK.(*guiWidget)
- if tk.v == nil {
- return gocui.ErrUnknownView
- }
- tk.SetVisible(true)
- return nil
-}
-
-func makeDropdownView() {
- if me.ddview != nil {
- return
- }
- me.ddview = addDropdown()
- // n.TK = initWidget(n)
- var tk *guiWidget
- tk = me.ddview.TK.(*guiWidget)
- tk.gocuiSize.w0 = 20
- tk.gocuiSize.w1 = 40
- tk.gocuiSize.h0 = 10
- tk.gocuiSize.h1 = 25
- tk.v, _ = me.baseGui.SetView("ddview",
- tk.gocuiSize.w0,
- tk.gocuiSize.h0,
- tk.gocuiSize.w1,
- tk.gocuiSize.h1, 0)
- if tk.v == nil {
- return
- }
- tk.v.Wrap = true
- tk.v.Frame = true
- tk.v.Clear()
- fmt.Fprint(tk.v, tk.labelN)
-}
-
func mouseUp(g *gocui.Gui, v *gocui.View) error {
- var tk *guiWidget
if me.ddview == nil {
- makeDropdownView()
+ me.ddview = makeDropdownView("mouseUp unclick")
}
- tk = me.ddview.TK.(*guiWidget)
w, h := g.MousePosition()
- log.Log(NOW, "mouseUp() view msgMouseDown (check here for dropdown menu click) (w,h) =", w, h)
- if me.ddClicked {
- me.ddClicked = false
- log.Log(NOW, "mouseUp() ddview is the thing that was clicked", w, h)
- log.Log(NOW, "mouseUp() find out what the string is here", w, h, tk.gocuiSize.h1)
- var newZone string = ""
- if me.ddNode != nil {
- var ddtk *guiWidget
- ddtk = me.ddview.TK.(*guiWidget)
- value := h - tk.gocuiSize.h0 - 1
- log.Log(NOW, "mouseUp() me.ddview.tk.gocuiSize.h1 =", tk.gocuiSize.h1)
- log.Log(NOW, "mouseUp() me.ddNode.vals =", ddtk.vals)
- valsLen := len(ddtk.vals)
- log.Log(NOW, "mouseUp() value =", value, "valsLen =", valsLen)
- log.Log(NOW, "mouseUp() me.ddNode.vals =", ddtk.vals)
- if (value >= 0) && (value < valsLen) {
- newZone = ddtk.vals[value]
- log.Log(NOW, "mouseUp() value =", value, "newZone =", newZone)
- }
- }
- hideDDview()
- if newZone != "" {
- if me.ddNode != nil {
- var ddtk *guiWidget
- ddtk = me.ddview.TK.(*guiWidget)
- ddtk.SetText(newZone)
- ddtk.value = newZone
- // me.ddNode.doUserEvent()
- me.myTree.SendUserEvent(me.ddNode)
- }
- }
- return nil
- }
- /*
- // if there is a drop down view active, treat it like a dialog box and close it
- if (hideDDview() == nil) {
- return nil
- }
- */
+ dropdownUnclicked(w, h)
if msgMouseDown {
msgMouseDown = false
if movingMsg {
@@ -167,14 +71,7 @@ func mouseDown(g *gocui.Gui, v *gocui.View) error {
test := findUnderMouse()
msg := fmt.Sprintf("Mouse really down at: %d,%d", mx, my) + "foobar"
if test == me.ddview {
- tk := me.ddview.TK.(*guiWidget)
- if tk.Visible() {
- log.Log(NOW, "hide DDview() Mouse really down at:", mx, my)
- hideDDview()
- } else {
- log.Log(NOW, "show DDview() Mouse really down at:", mx, my)
- showDDview()
- }
+ dropdownClicked(mx, my)
return nil
}
x := mx - len(msg)/2