Fixed the Windows grid code. Now it's time for the OS X code (giant bottle of alcohol here).

This commit is contained in:
Pietro Gagliardi 2016-06-10 21:24:30 -04:00
parent 554221fd66
commit 662c9de179
1 changed files with 9 additions and 9 deletions

View File

@ -162,9 +162,9 @@ static void gridRelayout(uiGrid *g)
for (i = 0; i < g->children->size(); i++) {
gc = (*(g->children))[i];
if (gc->hexpand && gc->xspan == 1)
ld->hexpand[gc->left] = true;
ld->hexpand[toxindex(g, gc->left)] = true;
if (gc->vexpand && gc->yspan == 1)
ld->vexpand[gc->top] = true;
ld->vexpand[toyindex(g, gc->top)] = true;
}
// 3) figure out which rows/columns expand that do span
@ -175,25 +175,25 @@ static void gridRelayout(uiGrid *g)
bool doit = true;
for (ix = gc->left; ix < gc->left + gc->xspan; ix++)
if (ld->hexpand[ix]) {
if (ld->hexpand[toxindex(g, ix)]) {
doit = false;
break;
}
if (doit)
for (ix = gc->left; ix < gc->left + gc->xspan; ix++)
ld->hexpand[ix] = true;
ld->hexpand[toxindex(g, ix)] = true;
}
if (gc->vexpand && gc->yspan != 1) {
bool doit = true;
for (iy = gc->top; iy < gc->top + gc->yspan; iy++)
if (ld->vexpand[iy]) {
if (ld->vexpand[toyindex(g, iy)]) {
doit = false;
break;
}
if (doit)
for (iy = gc->top; iy < gc->top + gc->yspan; iy++)
ld->vexpand[iy] = true;
ld->vexpand[toyindex(g, iy)] = true;
}
}
@ -228,7 +228,7 @@ static void gridRelayout(uiGrid *g)
}
// 6) compute cell positions and sizes
for (iy = 0; iy < ycount(g); y++) {
for (iy = 0; iy < ycount(g); iy++) {
intmax_t curx;
int prev;
@ -238,7 +238,7 @@ static void gridRelayout(uiGrid *g)
i = ld->gg[iy][ix];
if (i != -1) {
gc = (*(g->children))[i];
if (iy == gc->top) { // don't repeat this step if the control spans vertically
if (iy == toyindex(g, gc->top)) { // don't repeat this step if the control spans vertically
if (i != prev)
gc->finalx = curx;
else
@ -260,7 +260,7 @@ static void gridRelayout(uiGrid *g)
i = ld->gg[iy][ix];
if (i != -1) {
gc = (*(g->children))[i];
if (x == gc->top) { // don't repeat this step if the control spans horizontally
if (ix == toxindex(g, gc->left)) { // don't repeat this step if the control spans horizontally
if (i != prev)
gc->finaly = cury;
else