diff --git a/debug.go b/debug.go index 9dff348..f18fdc5 100644 --- a/debug.go +++ b/debug.go @@ -27,6 +27,7 @@ func (w *guiWidget) dumpTree(s string) { func (w *guiWidget) dumpWidget(s string) { var s1 string var pId int + w.verifyRect() if w.node.Parent == nil { log.Log(INFO, "showWidgetPlacement() parent == nil", w.node.WidgetId, w.cuiName) pId = 0 @@ -40,7 +41,7 @@ func (w *guiWidget) dumpWidget(s string) { s1 += fmt.Sprintf("gocui=(%3d,%3d,%3d,%3d)", w.gocuiSize.w0, w.gocuiSize.h0, w.gocuiSize.w1, w.gocuiSize.h1) // vx0, vy0, vx1, vy1, _ := me.baseGui.ViewPosition("msg") - vx0, vy0, vx1, vy1, _ := me.baseGui.ViewPosition(w.cuiName) + vx0, vy0, vx1, vy1, _ := me.baseGui.ViewPosition(w.v.Name()) s1 += fmt.Sprintf(" real=(%3d,%3d,%3d,%3d)", vx0, vy0, vx1, vy1) } else { diff --git a/eventBindings.go b/eventBindings.go index 43c469b..62ec4b3 100644 --- a/eventBindings.go +++ b/eventBindings.go @@ -66,31 +66,41 @@ 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()) - return false + 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.gocuiSize.w0 { // tk.dumpWidget("verifyRect() err w0") + log.Info("verifyRect() FIXING w0", tk.cuiName, vw0, vw1, vh0, vh1, tk.gocuiSize.w0, "w0 =", vw0) tk.gocuiSize.w0 = vw0 ok = false } if vw1 != tk.gocuiSize.w1 { // tk.dumpWidget("verifyRect() err w1") - tk.gocuiSize.w0 = vw1 + log.Info("verifyRect() FIXING w1", tk.cuiName, vw0, vw1, vh0, vh1, tk.gocuiSize.w1, "w1 =", vw1) + tk.gocuiSize.w1 = vw1 ok = false } if vh0 != tk.gocuiSize.h0 { // tk.dumpWidget("verifyRect() err h0") + log.Info("verifyRect() FIXING h0", tk.cuiName, vw0, vw1, vh0, vh1, tk.gocuiSize.h0) tk.gocuiSize.h0 = vh0 ok = false } if vh1 != tk.gocuiSize.h1 { tk.gocuiSize.h1 = vh1 + log.Info("verifyRect() FIXING h1", tk.cuiName, vw0, vw1, vh0, vh1, tk.gocuiSize.h1) // tk.dumpWidget("verifyRect() err h1") ok = false }