I can't add

Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
Jeff Carr 2023-04-04 18:45:59 -05:00
parent d6f87e2edf
commit 89ef92e200
5 changed files with 45 additions and 42 deletions

2
tab.go
View File

@ -16,6 +16,6 @@ func (n *Node) NewTab(text string) *Node {
a.Text = text a.Text = text
newaction(&a, newNode, n) newaction(&a, newNode, n)
newBox := newNode.NewBox(text, true) newBox := newNode.NewBox(text + "tab hbox", true)
return newBox return newBox
} }

View File

@ -24,7 +24,9 @@ func (w *cuiWidget) doWidgetClick() {
w.redoBox(true) w.redoBox(true)
w.toggleTree() w.toggleTree()
case toolkit.Grid: case toolkit.Grid:
w.setParentLogical()
w.gridBounds() w.gridBounds()
w.setParentLogical()
for _, child := range w.children { for _, child := range w.children {
child.showWidgetPlacement(logNow, "gridBounds:") child.showWidgetPlacement(logNow, "gridBounds:")
if (child.v == nil) { if (child.v == nil) {

View File

@ -7,26 +7,9 @@ import (
var adjusted bool = false var adjusted bool = false
// expands the logical size of the parents // expands the logical size of the parents
func (w *cuiWidget) setParentLogical(p *cuiWidget) { func (w *cuiWidget) setParentLogical() {
if (w.visable) { p := w.parent
// expand the parent logicalsize to include the widget realSize if (w.isFake) {
if (p.logicalSize.w0 > w.realSize.w0) {
p.logicalSize.w0 = w.realSize.w0
adjusted = true
}
if (p.logicalSize.h0 > w.realSize.h0) {
p.logicalSize.h0 = w.realSize.h0
adjusted = true
}
if (p.logicalSize.w1 < w.realSize.w1) {
p.logicalSize.w1 = w.realSize.w1
adjusted = true
}
if (p.logicalSize.h1 < w.realSize.h1) {
p.logicalSize.h1 = w.realSize.h1
adjusted = true
}
} else {
// expand the parent logicalsize to include the widget logicalsize // expand the parent logicalsize to include the widget logicalsize
if (p.logicalSize.w0 > w.logicalSize.w0) { if (p.logicalSize.w0 > w.logicalSize.w0) {
p.logicalSize.w0 = w.logicalSize.w0 p.logicalSize.w0 = w.logicalSize.w0
@ -44,8 +27,26 @@ func (w *cuiWidget) setParentLogical(p *cuiWidget) {
p.logicalSize.h1 = w.logicalSize.h1 p.logicalSize.h1 = w.logicalSize.h1
adjusted = true adjusted = true
} }
} else {
// expand the parent logicalsize to include the widget realSize
if (p.logicalSize.w0 > w.realSize.w0) {
p.logicalSize.w0 = w.realSize.w0
adjusted = true
} }
if (w.visable) { if (p.logicalSize.h0 > w.realSize.h0) {
p.logicalSize.h0 = w.realSize.h0
adjusted = true
}
if (p.logicalSize.w1 < w.realSize.w1) {
p.logicalSize.w1 = w.realSize.w1
adjusted = true
}
if (p.logicalSize.h1 < w.realSize.h1) {
p.logicalSize.h1 = w.realSize.h1
adjusted = true
}
}
if (! w.isFake) {
// adjust the widget realSize to the top left corner of the logicalsize // adjust the widget realSize to the top left corner of the logicalsize
if (w.logicalSize.w0 > w.realSize.w0) { if (w.logicalSize.w0 > w.realSize.w0) {
w.realSize.w0 = w.logicalSize.w0 w.realSize.w0 = w.logicalSize.w0
@ -67,6 +68,6 @@ func (w *cuiWidget) setParentLogical(p *cuiWidget) {
// pass the logical resizing up // pass the logical resizing up
pP := w.parent pP := w.parent
if (pP != nil) { if (pP != nil) {
p.setParentLogical(pP) pP.setParentLogical()
} }
} }

View File

@ -141,6 +141,7 @@ func (w *cuiWidget) moveTo(leftW int, topH int) {
func (w *cuiWidget) updateLogicalSizes() { func (w *cuiWidget) updateLogicalSizes() {
for _, child := range w.children { for _, child := range w.children {
// if (w.isReal)
child.updateLogicalSizes() child.updateLogicalSizes()
if (w.logicalSize.w0 > child.logicalSize.w0) { if (w.logicalSize.w0 > child.logicalSize.w0) {
w.logicalSize.w0 = child.logicalSize.w0 w.logicalSize.w0 = child.logicalSize.w0

View File

@ -49,7 +49,7 @@ func (w *cuiWidget) showWidgets() {
} }
func (w *cuiWidget) redoTabs(draw bool) { func (w *cuiWidget) redoTabs(draw bool) {
log(logNow, "redoTabs() START", w.name) log(logVerbose, "redoTabs() START", w.name)
if (w == nil) { if (w == nil) {
return return
} }
@ -59,45 +59,44 @@ func (w *cuiWidget) redoTabs(draw bool) {
w.logicalSize.w1 = 0 w.logicalSize.w1 = 0
w.logicalSize.h1 = 0 w.logicalSize.h1 = 0
w.nextW = 2 w.nextW = 1
w.nextH = 2 w.nextH = 1
} }
log(logNow, "redoTabs() about to check for window and tab ", w.name) log(logVerbose, "redoTabs() about to check for window and tab ", w.name)
w.text = w.name w.text = w.name
t := len(w.text) t := len(w.text)
if ((w.widgetType == toolkit.Window) || (w.widgetType == toolkit.Tab)) { if ((w.widgetType == toolkit.Window) || (w.widgetType == toolkit.Tab)) {
log(logNow, "redoTabs() in Window and Tab", w.name) log(logVerbose, "redoTabs() in Window and Tab", w.name)
w.realWidth = t + 2 w.realWidth = t + me.buttonPadding
w.realHeight = me.defaultHeight w.realHeight = me.defaultHeight
w.realSize.w0 = me.rootNode.logicalSize.w1 w.realSize.w0 = me.rootNode.logicalSize.w1
w.realSize.h0 = 0
w.realSize.w1 = w.realSize.w0 + w.realWidth w.realSize.w1 = w.realSize.w0 + w.realWidth
w.realSize.h0 = 0
w.realSize.h1 = w.realHeight w.realSize.h1 = w.realHeight
w.logicalSize.w0 = 0 // start logical sizes windows and in the top left corner
w.logicalSize.h0 = 0 w.logicalSize.w0 = 2
w.logicalSize.w1 = 0 w.logicalSize.w1 = 2
w.logicalSize.h0 = w.realHeight
w.logicalSize.h1 = w.realHeight w.logicalSize.h1 = w.realHeight
// spaces right 1 space to next tab widget // start all windows and in the top left corner
// spaces down 1 line to the next widget w.nextW = w.logicalSize.w0
w.nextW = 2 w.nextH = w.logicalSize.h0
w.nextH = w.realHeight + 1
me.rootNode.logicalSize.w1 = w.realSize.w1 + 1 me.rootNode.logicalSize.w1 = w.realSize.w1
me.rootNode.logicalSize.h1 = 0 me.rootNode.logicalSize.h1 = w.realSize.h1
w.deleteView() w.deleteView()
w.v = nil
w.drawView() w.drawView()
w.showWidgetPlacement(logNow, "redoTabs()") w.showWidgetPlacement(logNow, "redoTabs()")
} }
log(logNow, "redoTabs() about to for loop children", w.name) log(logVerbose, "redoTabs() about to for loop children", w.name)
for _, child := range w.children { for _, child := range w.children {
log(logNow, "redoTabs() got to child", child.name) log(logVerbose, "redoTabs() got to child", child.name)
child.redoTabs(draw) child.redoTabs(draw)
} }
} }