summaryrefslogtreecommitdiff
path: root/mouse.go
diff options
context:
space:
mode:
Diffstat (limited to 'mouse.go')
-rw-r--r--mouse.go43
1 files changed, 28 insertions, 15 deletions
diff --git a/mouse.go b/mouse.go
index 02efc0d..791f51e 100644
--- a/mouse.go
+++ b/mouse.go
@@ -7,6 +7,7 @@ package main
import (
"errors"
"fmt"
+
"github.com/awesome-gocui/gocui"
"go.wit.com/log"
@@ -36,15 +37,17 @@ func msgDown(g *gocui.Gui, v *gocui.View) error {
}
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 me.ddview.tk.v == nil {
+ if tk.v == nil {
return gocui.ErrUnknownView
}
- me.ddview.SetVisible(false)
+ SetVisible(me.ddview, false)
return nil
}
@@ -54,40 +57,50 @@ func showDDview() error {
if me.ddview == nil {
return gocui.ErrUnknownView
}
- if me.ddview.tk.v == nil {
+ var tk *guiWidget
+ tk = me.ddview.TK.(*guiWidget)
+ if tk.v == nil {
return gocui.ErrUnknownView
}
- me.ddview.SetVisible(true)
+ SetVisible(me.ddview, true)
return nil
}
func mouseUp(g *gocui.Gui, v *gocui.View) error {
+ var tk *guiWidget
+ 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, me.ddview.tk.gocuiSize.h1)
+ log.Log(NOW, "mouseUp() find out what the string is here", w, h, tk.gocuiSize.h1)
var newZone string = ""
if me.ddNode != nil {
- value := h - me.ddview.tk.gocuiSize.h0 - 1
- log.Log(NOW, "mouseUp() me.ddview.tk.gocuiSize.h1 =", me.ddview.tk.gocuiSize.h1)
- log.Log(NOW, "mouseUp() me.ddNode.vals =", me.ddNode.vals)
- valsLen := len(me.ddNode.vals)
+ 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 =", me.ddNode.vals)
+ log.Log(NOW, "mouseUp() me.ddNode.vals =", ddtk.vals)
if (value >= 0) && (value < valsLen) {
- newZone = me.ddNode.vals[value]
+ newZone = ddtk.vals[value]
log.Log(NOW, "mouseUp() value =", value, "newZone =", newZone)
}
}
hideDDview()
if newZone != "" {
if me.ddNode != nil {
- me.ddNode.SetText(newZone)
- me.ddNode.value = newZone
- me.ddNode.doUserEvent()
+ var ddtk *guiWidget
+ ddtk = me.ddview.TK.(*guiWidget)
+ ddtk.SetText(newZone)
+ ddtk.value = newZone
+ // me.ddNode.doUserEvent()
+ me.myTree.SendUserEvent(me.ddNode)
}
}
return nil
@@ -125,7 +138,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 {
- if me.ddview.Visible() {
+ if Visible(me.ddview) {
log.Log(NOW, "hide DDview() Mouse really down at:", mx, my)
hideDDview()
} else {