diff options
Diffstat (limited to 'tab.go')
| -rw-r--r-- | tab.go | 57 |
1 files changed, 28 insertions, 29 deletions
@@ -23,12 +23,12 @@ func (w *guiWidget) Height() int { return w.gocuiSize.h1 - w.gocuiSize.h0 - 1 } -func (n *node) gocuiSetWH(sizeW, sizeH int) { - w := len(widget.GetString(n.value)) - lines := strings.Split(widget.GetString(n.value), "\n") +func (tk *guiWidget) gocuiSetWH(sizeW, sizeH int) { + w := len(widget.GetString(tk.value)) + lines := strings.Split(widget.GetString(tk.value), "\n") h := len(lines) - tk := n.tk + // tk := n.tk if tk.isFake { tk.gocuiSize.w0 = sizeW tk.gocuiSize.h0 = sizeH @@ -51,61 +51,60 @@ func (n *node) gocuiSetWH(sizeW, sizeH int) { } func redoWindows(nextW int, nextH int) { - for _, n := range me.rootNode.children { - if n.WidgetType != widget.Window { + wRoot := me.treeRoot.TK.(*guiWidget) + for _, win := range wRoot.children { + if win.node.WidgetType != widget.Window { continue } - w := n.tk var tabs bool - for _, child := range n.children { - if child.WidgetType == widget.Tab { + for _, child := range win.children { + if child.node.WidgetType == widget.Tab { tabs = true } } if tabs { // window is tabs. Don't show it as a standard button - w.frame = false - n.hasTabs = true + win.frame = false + win.hasTabs = true } else { - w.frame = false - n.hasTabs = false + win.frame = false + win.hasTabs = false } - n.gocuiSetWH(nextW, nextH) - n.deleteView() - n.showView() + win.gocuiSetWH(nextW, nextH) + win.deleteView() + win.showView() - sizeW := w.Width() + me.WindowPadW - sizeH := w.Height() + sizeW := win.Width() + me.WindowPadW + sizeH := win.Height() nextW += sizeW - log.Log(NOW, "redoWindows() start nextW,H =", nextW, nextH, "gocuiSize.W,H =", sizeW, sizeH, n.progname) + log.Log(NOW, "redoWindows() start nextW,H =", nextW, nextH, "gocuiSize.W,H =", sizeW, sizeH, win.String()) - if n.hasTabs { - n.redoTabs(me.TabW, me.TabH) + if win.hasTabs { + win.redoTabs(me.TabW, me.TabH) } } } -func (p *node) redoTabs(nextW int, nextH int) { - for _, n := range p.children { - if n.WidgetType != widget.Tab { +func (p *guiWidget) redoTabs(nextW int, nextH int) { + for _, w := range p.children { + if w.node.WidgetType != widget.Tab { continue } - w := n.tk w.frame = true - n.gocuiSetWH(nextW, nextH) - n.deleteView() + w.gocuiSetWH(nextW, nextH) + w.deleteView() // setCurrentTab(n) // if (len(w.cuiName) < 4) { // w.cuiName = "abcd" // } - n.showView() + w.showView() sizeW := w.Width() + me.TabPadW sizeH := w.Height() - log.Log(NOW, "redoTabs() start nextW,H =", nextW, nextH, "gocuiSize.W,H =", sizeW, sizeH, n.progname) + log.Log(NOW, "redoTabs() start nextW,H =", nextW, nextH, "gocuiSize.W,H =", sizeW, sizeH, w.String()) nextW += sizeW } } |
