More radio button work.
This commit is contained in:
parent
0cade42c6d
commit
5e4e01ef52
|
@ -7,7 +7,6 @@ struct radiobuttons {
|
||||||
uiControl *parent;
|
uiControl *parent;
|
||||||
};
|
};
|
||||||
|
|
||||||
// TODO make sure this is the correct way to check radiobuttons
|
|
||||||
static BOOL onWM_COMMAND(uiControl *c, HWND clicked, WORD code, LRESULT *lResult)
|
static BOOL onWM_COMMAND(uiControl *c, HWND clicked, WORD code, LRESULT *lResult)
|
||||||
{
|
{
|
||||||
struct radiobuttons *r = (struct radiobuttons *) c;
|
struct radiobuttons *r = (struct radiobuttons *) c;
|
||||||
|
@ -65,11 +64,12 @@ static void radiobuttonsSetParent(uiControl *c, uiControl *parent)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO
|
|
||||||
// from http://msdn.microsoft.com/en-us/library/windows/desktop/dn742486.aspx#sizingandspacing
|
// from http://msdn.microsoft.com/en-us/library/windows/desktop/dn742486.aspx#sizingandspacing
|
||||||
#define checkboxHeight 10
|
#define radiobuttonHeight 10
|
||||||
// from http://msdn.microsoft.com/en-us/library/windows/desktop/bb226818%28v=vs.85%29.aspx
|
// from http://msdn.microsoft.com/en-us/library/windows/desktop/bb226818%28v=vs.85%29.aspx
|
||||||
#define checkboxXFromLeftOfBoxToLeftOfLabel 12
|
#define radiobuttonXFromLeftOfBoxToLeftOfLabel 12
|
||||||
|
|
||||||
|
// TODO vertical space between controls
|
||||||
|
|
||||||
static void radiobuttonsPreferredSize(uiControl *c, uiSizing *d, intmax_t *width, intmax_t *height)
|
static void radiobuttonsPreferredSize(uiControl *c, uiSizing *d, intmax_t *width, intmax_t *height)
|
||||||
{
|
{
|
||||||
|
@ -83,8 +83,8 @@ static void radiobuttonsPreferredSize(uiControl *c, uiSizing *d, intmax_t *width
|
||||||
if (maxwid < wid)
|
if (maxwid < wid)
|
||||||
maxwid = wid;
|
maxwid = wid;
|
||||||
}
|
}
|
||||||
*width = uiWindowsDlgUnitsToX(checkboxXFromLeftOfBoxToLeftOfLabel, d->Sys->BaseX) + maxwid;
|
*width = uiWindowsDlgUnitsToX(radiobuttonXFromLeftOfBoxToLeftOfLabel, d->Sys->BaseX) + maxwid;
|
||||||
*height = uiWindowsDlgUnitsToY(checkboxHeight, d->Sys->BaseY) * r->hwnds->len;
|
*height = uiWindowsDlgUnitsToY(radiobuttonHeight, d->Sys->BaseY) * r->hwnds->len;
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO clip to height
|
// TODO clip to height
|
||||||
|
@ -95,7 +95,7 @@ static void radiobuttonsResize(uiControl *c, intmax_t x, intmax_t y, intmax_t wi
|
||||||
uintmax_t i;
|
uintmax_t i;
|
||||||
HWND hwnd;
|
HWND hwnd;
|
||||||
|
|
||||||
height1 = uiWindowsDlgUnitsToY(checkboxHeight, d->Sys->BaseY);
|
height1 = uiWindowsDlgUnitsToY(radiobuttonHeight, d->Sys->BaseY);
|
||||||
for (i = 0; i < r->hwnds->len; i++) {
|
for (i = 0; i < r->hwnds->len; i++) {
|
||||||
hwnd = ptrArrayIndex(r->hwnds, HWND, i);
|
hwnd = ptrArrayIndex(r->hwnds, HWND, i);
|
||||||
moveWindow(hwnd, x, y, width, height1, d);
|
moveWindow(hwnd, x, y, width, height1, d);
|
||||||
|
|
Loading…
Reference in New Issue