dragging sometimes
This commit is contained in:
parent
ae339cc587
commit
ec68f448af
|
@ -61,54 +61,6 @@ func setSuperMouse(g *gocui.Gui, v *gocui.View) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var wtf bool
|
|
||||||
|
|
||||||
/*
|
|
||||||
func (tk *guiWidget) verifyRect() bool {
|
|
||||||
if !tk.Visible() {
|
|
||||||
// log.Info("verifyRect() tk is not visible", tk.cuiName)
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
vw0, vh0, vw1, vh1, err := me.baseGui.ViewPosition(tk.cuiName)
|
|
||||||
if err != nil {
|
|
||||||
// log.Printf("verifyRect() gocui err=%v cuiName=%s v.Name=%s", err, tk.cuiName, tk.v.Name())
|
|
||||||
vw0, vh0, vw1, vh1, err = me.baseGui.ViewPosition(tk.v.Name())
|
|
||||||
if err != nil {
|
|
||||||
log.Printf("verifyRect() ACTUAL FAIL gocui err=%v cuiName=%s v.Name=%s", err, tk.cuiName, tk.v.Name())
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
// return false
|
|
||||||
}
|
|
||||||
var ok bool = true
|
|
||||||
if vw0 != tk.full.w0 {
|
|
||||||
// log.Info("verifyRect() FIXING w0", tk.cuiName, vw0, vw1, vh0, vh1, tk.gocuiSize.w0, "w0 =", vw0)
|
|
||||||
tk.full.w0 = vw0
|
|
||||||
ok = false
|
|
||||||
}
|
|
||||||
if vw1 != tk.full.w1 {
|
|
||||||
// log.Info("verifyRect() FIXING w1", tk.cuiName, vw0, vw1, vh0, vh1, tk.gocuiSize.w1, "w1 =", vw1)
|
|
||||||
tk.full.w1 = vw1
|
|
||||||
ok = false
|
|
||||||
}
|
|
||||||
if vh0 != tk.full.h0 {
|
|
||||||
// log.Info("verifyRect() FIXING h0", tk.cuiName, vw0, vw1, vh0, vh1, tk.gocuiSize.h0)
|
|
||||||
tk.full.h0 = vh0
|
|
||||||
ok = false
|
|
||||||
}
|
|
||||||
if vh1 != tk.full.h1 {
|
|
||||||
// log.Info("verifyRect() FIXING h1", tk.cuiName, vw0, vw1, vh0, vh1, tk.gocuiSize.h1)
|
|
||||||
tk.full.h1 = vh1
|
|
||||||
ok = false
|
|
||||||
}
|
|
||||||
if !ok {
|
|
||||||
// log.Info("verifyRect() NEED TO FIX RECT HERE", tk.cuiName)
|
|
||||||
// tk.dumpWidget("verifyRect() FIXME")
|
|
||||||
}
|
|
||||||
// log.Printf("verifyRect() OK cuiName=%s v.Name=%s", tk.cuiName, tk.v.Name())
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
func (tk *guiWidget) makeTK(ddItems []string) {
|
func (tk *guiWidget) makeTK(ddItems []string) {
|
||||||
items := strings.Join(ddItems, "\n")
|
items := strings.Join(ddItems, "\n")
|
||||||
var err error
|
var err error
|
||||||
|
|
70
find.go
70
find.go
|
@ -32,6 +32,13 @@ func findByXY(w int, h int) []*guiWidget {
|
||||||
return rootW.findByXYreal(w, h)
|
return rootW.findByXYreal(w, h)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (r rectType) inRect(w int, h int) bool {
|
||||||
|
if (r.w0 <= w) && (w <= r.w1) && (r.h0 <= h) && (h <= r.h1) {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
// this checks a widget to see if it is under (W,H), then checks the widget's children
|
// this checks a widget to see if it is under (W,H), then checks the widget's children
|
||||||
// anything that matches is passed back as an array of widgets
|
// anything that matches is passed back as an array of widgets
|
||||||
func (tk *guiWidget) findByXYreal(w int, h int) []*guiWidget {
|
func (tk *guiWidget) findByXYreal(w int, h int) []*guiWidget {
|
||||||
|
@ -43,9 +50,16 @@ func (tk *guiWidget) findByXYreal(w int, h int) []*guiWidget {
|
||||||
|
|
||||||
// check the location to see if this is under (W,H)
|
// check the location to see if this is under (W,H)
|
||||||
// if it is, return this widget
|
// if it is, return this widget
|
||||||
if (tk.gocuiSize.w0 <= w) && (w <= tk.gocuiSize.w1) &&
|
// if (tk.gocuiSize.w0 <= w) && (w <= tk.gocuiSize.w1) &&
|
||||||
(tk.gocuiSize.h0 <= h) && (h <= tk.gocuiSize.h1) {
|
// (tk.gocuiSize.h0 <= h) && (h <= tk.gocuiSize.h1) {
|
||||||
|
if tk.gocuiSize.inRect(w, h) {
|
||||||
widgets = append(widgets, tk)
|
widgets = append(widgets, tk)
|
||||||
|
} else {
|
||||||
|
// if (tk.full.w0 <= w) && (w <= tk.full.w1) &&
|
||||||
|
// (tk.full.h0 <= h) && (h <= tk.full.h1) {
|
||||||
|
if tk.full.inRect(w, h) {
|
||||||
|
widgets = append(widgets, tk)
|
||||||
|
}
|
||||||
// log.Log(GOCUI, "findByXY() found", widget.node.WidgetType, w, h)
|
// log.Log(GOCUI, "findByXY() found", widget.node.WidgetType, w, h)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -79,6 +93,54 @@ func (tk *guiWidget) findWindows() []*guiWidget {
|
||||||
return found
|
return found
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
var wtf bool
|
||||||
|
|
||||||
|
func (tk *guiWidget) verifyRect() bool {
|
||||||
|
if !tk.Visible() {
|
||||||
|
// log.Info("verifyRect() tk is not visible", tk.cuiName)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
vw0, vh0, vw1, vh1, err := me.baseGui.ViewPosition(tk.cuiName)
|
||||||
|
if err != nil {
|
||||||
|
// log.Printf("verifyRect() gocui err=%v cuiName=%s v.Name=%s", err, tk.cuiName, tk.v.Name())
|
||||||
|
vw0, vh0, vw1, vh1, err = me.baseGui.ViewPosition(tk.v.Name())
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("verifyRect() ACTUAL FAIL gocui err=%v cuiName=%s v.Name=%s", err, tk.cuiName, tk.v.Name())
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
// return false
|
||||||
|
}
|
||||||
|
var ok bool = true
|
||||||
|
if vw0 != tk.full.w0 {
|
||||||
|
// log.Info("verifyRect() FIXING w0", tk.cuiName, vw0, vw1, vh0, vh1, tk.gocuiSize.w0, "w0 =", vw0)
|
||||||
|
tk.full.w0 = vw0
|
||||||
|
ok = false
|
||||||
|
}
|
||||||
|
if vw1 != tk.full.w1 {
|
||||||
|
// log.Info("verifyRect() FIXING w1", tk.cuiName, vw0, vw1, vh0, vh1, tk.gocuiSize.w1, "w1 =", vw1)
|
||||||
|
tk.full.w1 = vw1
|
||||||
|
ok = false
|
||||||
|
}
|
||||||
|
if vh0 != tk.full.h0 {
|
||||||
|
// log.Info("verifyRect() FIXING h0", tk.cuiName, vw0, vw1, vh0, vh1, tk.gocuiSize.h0)
|
||||||
|
tk.full.h0 = vh0
|
||||||
|
ok = false
|
||||||
|
}
|
||||||
|
if vh1 != tk.full.h1 {
|
||||||
|
// log.Info("verifyRect() FIXING h1", tk.cuiName, vw0, vw1, vh0, vh1, tk.gocuiSize.h1)
|
||||||
|
tk.full.h1 = vh1
|
||||||
|
ok = false
|
||||||
|
}
|
||||||
|
if !ok {
|
||||||
|
// log.Info("verifyRect() NEED TO FIX RECT HERE", tk.cuiName)
|
||||||
|
// tk.dumpWidget("verifyRect() FIXME")
|
||||||
|
}
|
||||||
|
// log.Printf("verifyRect() OK cuiName=%s v.Name=%s", tk.cuiName, tk.v.Name())
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
func (tk *guiWidget) setFullSize() bool {
|
func (tk *guiWidget) setFullSize() bool {
|
||||||
r := tk.getFullSize()
|
r := tk.getFullSize()
|
||||||
|
|
||||||
|
@ -121,10 +183,10 @@ func (tk *guiWidget) gridFullSize() rectType {
|
||||||
r.w1 = cr.w1
|
r.w1 = cr.w1
|
||||||
r.h1 = cr.h1
|
r.h1 = cr.h1
|
||||||
first = false
|
first = false
|
||||||
child.dumpWidget(fmt.Sprintf("grid(f)"))
|
// child.dumpWidget(fmt.Sprintf("grid(f)"))
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
child.dumpWidget(fmt.Sprintf("grid()"))
|
// child.dumpWidget(fmt.Sprintf("grid()"))
|
||||||
// use the lowest width and hight from children widgets
|
// use the lowest width and hight from children widgets
|
||||||
if r.w0 > cr.w0 {
|
if r.w0 > cr.w0 {
|
||||||
r.w0 = cr.w0
|
r.w0 = cr.w0
|
||||||
|
|
9
place.go
9
place.go
|
@ -4,7 +4,6 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"go.wit.com/log"
|
"go.wit.com/log"
|
||||||
|
@ -89,7 +88,7 @@ func (tk *guiWidget) placeWidgets(startW int, startH int) (int, int) {
|
||||||
return startW, startH
|
return startW, startH
|
||||||
case widget.Tab:
|
case widget.Tab:
|
||||||
case widget.Grid:
|
case widget.Grid:
|
||||||
tk.dumpWidget(fmt.Sprintf("PlaceGridS(%d,%d)", startW, startH))
|
// tk.dumpWidget(fmt.Sprintf("PlaceGridS(%d,%d)", startW, startH))
|
||||||
// if you reset the values here, grid horizontal stacking doesn't work anymore
|
// if you reset the values here, grid horizontal stacking doesn't work anymore
|
||||||
// tk.widths = make(map[int]int) // how tall each row in the grid is
|
// tk.widths = make(map[int]int) // how tall each row in the grid is
|
||||||
// tk.heights = make(map[int]int) // how wide each column in the grid is
|
// tk.heights = make(map[int]int) // how wide each column in the grid is
|
||||||
|
@ -98,7 +97,7 @@ func (tk *guiWidget) placeWidgets(startW int, startH int) (int, int) {
|
||||||
tk.full.h0 = newH
|
tk.full.h0 = newH
|
||||||
tk.full.w1 = newW
|
tk.full.w1 = newW
|
||||||
tk.full.h1 = newH
|
tk.full.h1 = newH
|
||||||
tk.dumpWidget(fmt.Sprintf("PlaceGridE(%d,%d)", newW, newH))
|
// tk.dumpWidget(fmt.Sprintf("PlaceGridE(%d,%d)", newW, newH))
|
||||||
return newW, newH
|
return newW, newH
|
||||||
case widget.Box:
|
case widget.Box:
|
||||||
tk.placeBox(startW, startH)
|
tk.placeBox(startW, startH)
|
||||||
|
@ -106,7 +105,7 @@ func (tk *guiWidget) placeWidgets(startW int, startH int) (int, int) {
|
||||||
tk.full.h0 = startH
|
tk.full.h0 = startH
|
||||||
tk.full.w1 = startW
|
tk.full.w1 = startW
|
||||||
tk.full.h1 = startH
|
tk.full.h1 = startH
|
||||||
tk.dumpWidget(fmt.Sprintf("PlaceBox(%d,%d)", startW, startH))
|
// tk.dumpWidget(fmt.Sprintf("PlaceBox(%d,%d)", startW, startH))
|
||||||
return 0, 0
|
return 0, 0
|
||||||
case widget.Stdout:
|
case widget.Stdout:
|
||||||
tk.setStdoutWH(startW, startH)
|
tk.setStdoutWH(startW, startH)
|
||||||
|
@ -137,7 +136,7 @@ func (tk *guiWidget) placeWidgets(startW int, startH int) (int, int) {
|
||||||
log.Log(INFO, "REAL HEIGHT sizeW:", sizeW, "sizeH:", sizeH)
|
log.Log(INFO, "REAL HEIGHT sizeW:", sizeW, "sizeH:", sizeH)
|
||||||
}
|
}
|
||||||
newH = newH - startH
|
newH = newH - startH
|
||||||
tk.dumpWidget(fmt.Sprintf("PlaceGroup(%d,%d)", maxW, newH))
|
// tk.dumpWidget(fmt.Sprintf("PlaceGroup(%d,%d)", maxW, newH))
|
||||||
return maxW, newH
|
return maxW, newH
|
||||||
default:
|
default:
|
||||||
tk.gocuiSetWH(startW, startH)
|
tk.gocuiSetWH(startW, startH)
|
||||||
|
|
Loading…
Reference in New Issue