diff options
| -rw-r--r-- | args.go | 2 | ||||
| -rw-r--r-- | debug.go | 4 | ||||
| -rw-r--r-- | place.go | 31 | ||||
| -rw-r--r-- | size.go | 3 | ||||
| -rw-r--r-- | structs.go | 4 | ||||
| -rw-r--r-- | view.go | 36 | ||||
| -rw-r--r-- | widget.go | 11 |
7 files changed, 37 insertions, 54 deletions
@@ -23,7 +23,7 @@ func init() { short := "gocui" NOW = log.NewFlag("NOW", true, full, short, "temp debugging stuff") - INFO = log.NewFlag("INFO", true, full, short, "normal debugging stuff") + INFO = log.NewFlag("INFO", false, full, short, "normal debugging stuff") WARN = log.NewFlag("WARN", true, full, short, "bad things") SPEW = log.NewFlag("SPEW", false, full, short, "spew stuff") @@ -36,7 +36,7 @@ func (w *guiWidget) showWidgetPlacement(s string) { s1 += fmt.Sprintf("gocui=(%2d,%2d,%2d,%2d)", w.gocuiSize.w0, w.gocuiSize.h0, w.gocuiSize.w1, w.gocuiSize.h1) } else { - s1 += fmt.Sprintf(" w.Visable() == false ") + s1 += fmt.Sprintf(" ") } if w.node.Parent != nil { if w.node.Parent.WidgetType == widget.Grid { @@ -44,5 +44,5 @@ func (w *guiWidget) showWidgetPlacement(s string) { } } tmp := "." + w.String() + "." - log.Log(INFO, s1, s, w.node.WidgetType, ",", tmp, "jcarr") // , "text=", w.text) + log.Log(NOW, s1, s, w.node.WidgetType, ",", tmp, "jcarr") // , "text=", w.text) } @@ -8,43 +8,32 @@ import ( "go.wit.com/widget" ) -func (tk *guiWidget) placeBox(startW int, startH int) (int, int) { +func (tk *guiWidget) placeBox(startW int, startH int) { if tk.WidgetType != widget.Box { - return 0, 0 + return } tk.dumpTree("beforebox") newW := startW newH := startH - var maxW int = 0 - var maxH int = 0 for _, child := range tk.children { - sizeW, sizeH := child.placeWidgets(newW, newH) + sizeW, sizeH := child.Size() + log.Log(NOW, "BOX START size(W,H) =", sizeW, sizeH, "new(W,H) =", newW, newH) + child.placeWidgets(newW, newH) + sizeW, sizeH = child.Size() if child.direction == widget.Horizontal { log.Log(NOW, "BOX IS HORIZONTAL", tk.String(), "newWH()", newW, newH, "child()", sizeW, sizeH, child.String()) // expand based on the child width newW += sizeW - maxW += sizeW - if sizeH > maxH { - maxH = sizeH - } } else { log.Log(NOW, "BOX IS VERTICAL ", tk.String(), "newWH()", newW, newH, "child()", sizeW, sizeH, child.String()) // expand based on the child height newH += sizeH - maxH += sizeH - if sizeW > maxW { - maxW = sizeW - } } + log.Log(NOW, "BOX END size(W,H) =", sizeW, sizeH, "new(W,H) =", newW, newH) } - - // just compute this every time? - // newR := n.realGocuiSize() - tk.dumpTree("afterbox") - return maxW, maxH } func (tk *guiWidget) placeWidgets(startW int, startH int) (int, int) { @@ -64,7 +53,8 @@ func (tk *guiWidget) placeWidgets(startW int, startH int) (int, int) { newH := startH var maxH int = 0 for _, child := range tk.children { - sizeW, sizeH := child.placeWidgets(newW, newH) + child.placeWidgets(newW, newH) + sizeW, sizeH := child.Size() if sizeW < 20 { sizeW = 20 } @@ -79,7 +69,8 @@ func (tk *guiWidget) placeWidgets(startW int, startH int) (int, int) { case widget.Grid: return tk.placeGrid(startW, startH) case widget.Box: - return tk.placeBox(startW, startH) + tk.placeBox(startW, startH) + return 0, 0 case widget.Group: // move the group to the parent's next location tk.gocuiSetWH(startW, startH) @@ -48,7 +48,7 @@ func (tk *guiWidget) Size() (int, int) { if tk.isFake { return 0, 0 } - return tk.gocuiSize.Width(), tk.gocuiSize.Height() + return len(tk.String()), 3 } func (w *guiWidget) sizeGrid() (int, int) { @@ -116,4 +116,3 @@ func (tk *guiWidget) sizeBox() (int, int) { } return maxW, maxH } - @@ -145,8 +145,8 @@ type guiWidget struct { active bool -// AtW int -// AtH int + // AtW int + // AtH int direction widget.Orientation @@ -4,6 +4,7 @@ import ( "bufio" "errors" "fmt" + "strconv" "strings" "github.com/awesome-gocui/gocui" @@ -55,34 +56,32 @@ func (w *guiWidget) hideView() { // display's the text of the widget in gocui // will create a new gocui view if there isn't one or if it has been moved func (w *guiWidget) showView() { - var err error - if w.cuiName == "" { log.Log(ERROR, "showView() w.cuiName was not set for widget", w) - w.cuiName = string(w.node.WidgetId) + w.cuiName = strconv.Itoa(w.node.WidgetId) + " TK" } - log.Log(ERROR, "showView() labelN =", w.labelN) + log.Log(INFO, "showView() labelN =", w.labelN) // if the gocui element doesn't exist, create it if w.v == nil { w.recreateView() } - x0, y0, x1, y1, err := me.baseGui.ViewPosition(w.cuiName) - log.Log(INFO, "showView() w.v already defined for widget", w.String(), x0, y0, x1, y1, err) + x0, y0, x1, y1, _ := me.baseGui.ViewPosition(w.cuiName) + // x0, y0, x1, y1, err := me.baseGui.ViewPosition(w.cuiName) + // log.Log(INFO, "showView() w.v already defined for widget", w.String(), x0, y0, x1, y1, err) // n.smartGocuiSize() changed := w.textResize() - if changed { - log.Log(NOW, "showView() textResize() changed. Should recreateView here wId =", w.cuiName) - } else { - log.Log(NOW, "showView() Clear() and Fprint() here wId =", w.cuiName) + if !changed { + log.Log(INFO, "showView() Clear() and Fprint() here wId =", w.cuiName) w.v.Clear() fmt.Fprint(w.v, w.labelN) w.SetVisible(false) w.SetVisible(true) return } + log.Log(INFO, "showView() textResize() changed. Should recreateView here wId =", w.cuiName) // if the gocui element has changed where it is supposed to be on the screen // recreate it @@ -96,7 +95,7 @@ func (w *guiWidget) showView() { return } if x1 != w.gocuiSize.w1 { - log.Log(ERROR, "showView() too wide", w.cuiName, "w,w", w.gocuiSize.w1, x1) + log.Log(INFO, "showView() too wide", w.cuiName, "w,w", w.gocuiSize.w1, x1) w.recreateView() return } @@ -113,7 +112,7 @@ func (w *guiWidget) showView() { // deletes the old view if it exists and recreates it func (w *guiWidget) recreateView() { var err error - log.Log(ERROR, "recreateView() START", w.WidgetType, w.String()) + log.Log(INFO, "recreateView() START", w.WidgetType, w.String()) if me.baseGui == nil { log.Log(ERROR, "recreateView() ERROR: me.baseGui == nil", w) return @@ -123,13 +122,6 @@ func (w *guiWidget) recreateView() { me.baseGui.DeleteView(w.cuiName) w.v = nil - if w.String() == "CLOUDFLARE_EMAIL" { - w.showWidgetPlacement("n.String()=" + w.String() + " n.tk.label=" + w.labelN + " " + w.cuiName) - // w.dumpWidget("jwc") - w.textResize() - w.showWidgetPlacement("n.String()=" + w.String() + " n.tk.label=" + w.labelN + " " + w.cuiName) - } - a := w.gocuiSize.w0 b := w.gocuiSize.h0 c := w.gocuiSize.w1 @@ -173,11 +165,7 @@ func (w *guiWidget) recreateView() { w.v.SelFgColor = w.color.selFg w.v.SelBgColor = w.color.selBg } - if w.String() == "CLOUDFLARE_EMAIL" { - w.showWidgetPlacement("w.String()=" + w.String() + " w.label=" + w.labelN + " " + w.cuiName) - w.dumpTree("cloudflare") - } - log.Log(ERROR, "recreateView() END") + log.Log(INFO, "recreateView() END") } func (w *guiWidget) hideWidgets() { @@ -1,6 +1,8 @@ package main import ( + "strconv" + "go.wit.com/log" "go.wit.com/toolkits/tree" "go.wit.com/widget" @@ -11,17 +13,20 @@ func initWidget(n *tree.Node) *guiWidget { w = new(guiWidget) // Set(w, "default") - w.frame = true + w.node = n // set the name used by gocui to the id - w.cuiName = string(n.WidgetId) + // w.cuiName = string(n.WidgetId) + + w.cuiName = strconv.Itoa(w.node.WidgetId) + " TK" - w.node = n w.WidgetType = n.WidgetType + w.labelN = n.State.Label if w.labelN == "" { w.labelN = n.GetProgName() } + w.frame = true if n.WidgetType == widget.Root { log.Log(INFO, "setupWidget() FOUND ROOT w.id =", n.WidgetId) |
