Added a test for controls that aren't initially visible. More TODOs.
This commit is contained in:
parent
49595bb18d
commit
d6aeb3c0a7
4
TODO.md
4
TODO.md
|
@ -1,5 +1,3 @@
|
||||||
- 32-bit Mac OS X support (requires lots of code changes)
|
|
||||||
- add a test for hidden controls when a window is shown
|
|
||||||
- SWP_NOCOPYBITS (or was it WS_CLIPCHILDREN?)
|
- SWP_NOCOPYBITS (or was it WS_CLIPCHILDREN?)
|
||||||
- buttons not in tab get drawover issues
|
- buttons not in tab get drawover issues
|
||||||
- buttons in tab without transparent drawing code get copied into the label when stack shown and rehidden
|
- buttons in tab without transparent drawing code get copied into the label when stack shown and rehidden
|
||||||
|
@ -57,6 +55,8 @@
|
||||||
- we control resizes of all children so we can reliably update after a resize
|
- we control resizes of all children so we can reliably update after a resize
|
||||||
- we already need to do this in uiContainer :/
|
- we already need to do this in uiContainer :/
|
||||||
- make it so Windows API calls that do logLastError(), etc. abort whatever they're doing and not try to continue, just like wintable
|
- make it so Windows API calls that do logLastError(), etc. abort whatever they're doing and not try to continue, just like wintable
|
||||||
|
- 32-bit Mac OS X support (requires lots of code changes)
|
||||||
|
- change the build system to be more receptive to arch changes
|
||||||
|
|
||||||
ultimately:
|
ultimately:
|
||||||
- add some sort of runtime type checking
|
- add some sort of runtime type checking
|
||||||
|
|
2
box.c
2
box.c
|
@ -74,6 +74,7 @@ static void boxPreferredSize(uiControl *c, uiSizing *d, intmax_t *width, intmax_
|
||||||
}
|
}
|
||||||
|
|
||||||
// 1) initialize the desired rect with the needed padding
|
// 1) initialize the desired rect with the needed padding
|
||||||
|
// TODO this is wrong if any controls are hidden
|
||||||
if (b->vertical)
|
if (b->vertical)
|
||||||
*height = (b->len - 1) * ypadding;
|
*height = (b->len - 1) * ypadding;
|
||||||
else
|
else
|
||||||
|
@ -145,6 +146,7 @@ static void boxResizeChildren(uiContainer *c, intmax_t x, intmax_t y, intmax_t w
|
||||||
}
|
}
|
||||||
|
|
||||||
// 0) inset the available rect by the needed padding
|
// 0) inset the available rect by the needed padding
|
||||||
|
// TODO this is incorrect if any controls are hidden
|
||||||
if (b->vertical)
|
if (b->vertical)
|
||||||
height -= (b->len - 1) * ypadding;
|
height -= (b->len - 1) * ypadding;
|
||||||
else
|
else
|
||||||
|
|
11
test/page2.c
11
test/page2.c
|
@ -47,6 +47,7 @@ static void openAnotherWindow(uiButton *b, void *data)
|
||||||
{ \
|
{ \
|
||||||
uiControl ## Method(uiControl(data)); \
|
uiControl ## Method(uiControl(data)); \
|
||||||
}
|
}
|
||||||
|
SHED(show, Show)
|
||||||
SHED(enable, Enable)
|
SHED(enable, Enable)
|
||||||
SHED(disable, Disable)
|
SHED(disable, Disable)
|
||||||
|
|
||||||
|
@ -71,6 +72,7 @@ uiBox *makePage2(void)
|
||||||
uiTab *disabledTab;
|
uiTab *disabledTab;
|
||||||
uiEntry *entry;
|
uiEntry *entry;
|
||||||
uiEntry *readonly;
|
uiEntry *readonly;
|
||||||
|
uiButton *button2;
|
||||||
|
|
||||||
page2 = newVerticalBox();
|
page2 = newVerticalBox();
|
||||||
|
|
||||||
|
@ -162,5 +164,14 @@ uiBox *makePage2(void)
|
||||||
uiBoxAppend(page2, uiControl(entry), 0);
|
uiBoxAppend(page2, uiControl(entry), 0);
|
||||||
uiBoxAppend(page2, uiControl(readonly), 0);
|
uiBoxAppend(page2, uiControl(readonly), 0);
|
||||||
|
|
||||||
|
hbox = newHorizontalBox();
|
||||||
|
button = uiNewButton("Show Button 2");
|
||||||
|
button2 = uiNewButton("Button 2");
|
||||||
|
uiButtonOnClicked(button, showControl, button2);
|
||||||
|
uiControlHide(uiControl(button2));
|
||||||
|
uiBoxAppend(hbox, uiControl(button), 1);
|
||||||
|
uiBoxAppend(hbox, uiControl(button2), 0);
|
||||||
|
uiBoxAppend(page2, uiControl(hbox), 0);
|
||||||
|
|
||||||
return page2;
|
return page2;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue