summaryrefslogtreecommitdiff
path: root/tab.go
diff options
context:
space:
mode:
Diffstat (limited to 'tab.go')
-rw-r--r--tab.go57
1 files changed, 28 insertions, 29 deletions
diff --git a/tab.go b/tab.go
index 23b254d..d2b57ce 100644
--- a/tab.go
+++ b/tab.go
@@ -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
}
}