parent
3a4d07fd7a
commit
d6f87e2edf
|
@ -10,80 +10,6 @@ import (
|
|||
"git.wit.org/wit/gui/toolkit"
|
||||
)
|
||||
|
||||
func (w *cuiWidget) gridBounds() {
|
||||
w.showWidgetPlacement(logNow, "gridBounds:")
|
||||
p := w.parent
|
||||
|
||||
/*
|
||||
for a := 0; a < w.x; a++ {
|
||||
for b := 0; b < w.y; b++ {
|
||||
log(logNow, "gridBounds() (w,h)", a, b,
|
||||
"logical(W,H)", w.logicalW[a], w.logicalH[b],
|
||||
"p.next(W,H)", p.nextW, p.nextH)
|
||||
}
|
||||
log("\n")
|
||||
}
|
||||
*/
|
||||
var wCount int = 0
|
||||
var hCount int = 0
|
||||
for _, child := range w.children {
|
||||
// increment for the next child
|
||||
w.nextW = p.nextW + wCount * 20
|
||||
w.nextH = p.nextH + hCount * 2
|
||||
child.redoBox(true)
|
||||
|
||||
// set the child's realWidth, and grid offset
|
||||
child.parentH = hCount
|
||||
child.parentW = wCount
|
||||
if (w.logicalW[wCount] < child.realWidth) {
|
||||
w.logicalW[wCount] = child.realWidth
|
||||
}
|
||||
if (w.logicalH[hCount] < child.realHeight) {
|
||||
w.logicalH[hCount] = child.realHeight
|
||||
}
|
||||
log(logNow, "redoBox(GRID) (w,h count)", wCount, hCount, "(X,Y)", w.x, w.y, w.name)
|
||||
child.showWidgetPlacement(logNow, "grid:")
|
||||
|
||||
if ((wCount + 1) < w.y) {
|
||||
wCount += 1
|
||||
} else {
|
||||
wCount = 0
|
||||
hCount += 1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for _, child := range w.children {
|
||||
child.showWidgetPlacement(logVerbose, "gridBounds:")
|
||||
var totalW, totalH int
|
||||
for i, val := range w.logicalW {
|
||||
if (i < child.parentW) {
|
||||
log(logVerbose, "gridBounds() (w, logicalW[])", i, val)
|
||||
totalW += w.logicalW[i]
|
||||
}
|
||||
}
|
||||
for i, h := range w.logicalH {
|
||||
if (i < child.parentH) {
|
||||
totalH += h
|
||||
}
|
||||
}
|
||||
|
||||
// the new corner to move the child to
|
||||
realW := w.nextW + totalW
|
||||
realH := w.nextH + totalH
|
||||
|
||||
|
||||
log(logInfo, "gridBounds()", child.id, "parent (W,H) =", child.parentW, child.parentH,
|
||||
"total (W,H) =", totalW, totalH,
|
||||
"real (W,H) =", realW, realH)
|
||||
child.moveTo(realW, realH)
|
||||
child.showWidgetPlacement(logInfo, "gridBounds:")
|
||||
log(logInfo)
|
||||
}
|
||||
w.updateLogicalSizes()
|
||||
w.showWidgetPlacement(logNow, "gridBounds:")
|
||||
}
|
||||
|
||||
func (w *cuiWidget) doWidgetClick() {
|
||||
switch w.widgetType {
|
||||
case toolkit.Root:
|
||||
|
|
|
@ -156,3 +156,77 @@ func (w *cuiWidget) updateLogicalSizes() {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
func (w *cuiWidget) gridBounds() {
|
||||
w.showWidgetPlacement(logNow, "gridBounds:")
|
||||
p := w.parent
|
||||
|
||||
/*
|
||||
for a := 0; a < w.x; a++ {
|
||||
for b := 0; b < w.y; b++ {
|
||||
log(logNow, "gridBounds() (w,h)", a, b,
|
||||
"logical(W,H)", w.logicalW[a], w.logicalH[b],
|
||||
"p.next(W,H)", p.nextW, p.nextH)
|
||||
}
|
||||
log("\n")
|
||||
}
|
||||
*/
|
||||
var wCount int = 0
|
||||
var hCount int = 0
|
||||
for _, child := range w.children {
|
||||
// increment for the next child
|
||||
w.nextW = p.nextW + wCount * 20
|
||||
w.nextH = p.nextH + hCount * 2
|
||||
child.redoBox(true)
|
||||
|
||||
// set the child's realWidth, and grid offset
|
||||
child.parentH = hCount
|
||||
child.parentW = wCount
|
||||
if (w.logicalW[wCount] < child.realWidth) {
|
||||
w.logicalW[wCount] = child.realWidth
|
||||
}
|
||||
if (w.logicalH[hCount] < child.realHeight) {
|
||||
w.logicalH[hCount] = child.realHeight
|
||||
}
|
||||
log(logNow, "redoBox(GRID) (w,h count)", wCount, hCount, "(X,Y)", w.x, w.y, w.name)
|
||||
child.showWidgetPlacement(logNow, "grid:")
|
||||
|
||||
if ((wCount + 1) < w.y) {
|
||||
wCount += 1
|
||||
} else {
|
||||
wCount = 0
|
||||
hCount += 1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
for _, child := range w.children {
|
||||
child.showWidgetPlacement(logVerbose, "gridBounds:")
|
||||
var totalW, totalH int
|
||||
for i, val := range w.logicalW {
|
||||
if (i < child.parentW) {
|
||||
log(logVerbose, "gridBounds() (w, logicalW[])", i, val)
|
||||
totalW += w.logicalW[i]
|
||||
}
|
||||
}
|
||||
for i, h := range w.logicalH {
|
||||
if (i < child.parentH) {
|
||||
totalH += h
|
||||
}
|
||||
}
|
||||
|
||||
// the new corner to move the child to
|
||||
realW := w.nextW + totalW
|
||||
realH := w.nextH + totalH
|
||||
|
||||
|
||||
log(logInfo, "gridBounds()", child.id, "parent (W,H) =", child.parentW, child.parentH,
|
||||
"total (W,H) =", totalW, totalH,
|
||||
"real (W,H) =", realW, realH)
|
||||
child.moveTo(realW, realH)
|
||||
child.showWidgetPlacement(logInfo, "gridBounds:")
|
||||
log(logInfo)
|
||||
}
|
||||
w.updateLogicalSizes()
|
||||
w.showWidgetPlacement(logNow, "gridBounds:")
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue