Reimplemented the Spaced row of Page 1.
This commit is contained in:
parent
932313cdc7
commit
537c7e29cf
22
test/page1.c
22
test/page1.c
|
@ -24,6 +24,24 @@ TEXT(Button, uiButton, uiButtonText, uiButtonSetText)
|
|||
TEXT(Checkbox, uiCheckbox, uiCheckboxText, uiCheckboxSetText)
|
||||
TEXT(Label, uiLabel, uiLabelText, uiLabelSetText)
|
||||
|
||||
static void toggleSpaced(uiCheckbox *c, void *data)
|
||||
{
|
||||
setSpaced(uiCheckboxChecked(spaced));
|
||||
}
|
||||
|
||||
static void forceSpaced(uiButton *b, void *data)
|
||||
{
|
||||
uiCheckboxSetChecked(spaced, data != NULL);
|
||||
}
|
||||
|
||||
static void showSpaced(uiButton *b, void *data)
|
||||
{
|
||||
char s[12];
|
||||
|
||||
querySpaced(s);
|
||||
uiEntrySetText(entry, s);
|
||||
}
|
||||
|
||||
uiBox *makePage1(uiWindow *w)
|
||||
{
|
||||
uiBox *page1;
|
||||
|
@ -38,6 +56,7 @@ uiBox *makePage1(uiWindow *w)
|
|||
uiBoxAppend(page1, uiControl(entry), 0);
|
||||
|
||||
spaced = uiNewCheckbox("Spaced");
|
||||
uiCheckboxOnToggled(spaced, toggleSpaced, NULL);
|
||||
label = uiNewLabel("Label");
|
||||
|
||||
hbox = newHorizontalBox();
|
||||
|
@ -79,10 +98,13 @@ uiBox *makePage1(uiWindow *w)
|
|||
hbox = newHorizontalBox();
|
||||
uiBoxAppend(hbox, uiControl(spaced), 1);
|
||||
getButton = uiNewButton("On");
|
||||
uiButtonOnClicked(getButton, forceSpaced, getButton);
|
||||
uiBoxAppend(hbox, uiControl(getButton), 0);
|
||||
getButton = uiNewButton("Off");
|
||||
uiButtonOnClicked(getButton, forceSpaced, NULL);
|
||||
uiBoxAppend(hbox, uiControl(getButton), 0);
|
||||
getButton = uiNewButton("Show");
|
||||
uiButtonOnClicked(getButton, showSpaced, NULL);
|
||||
uiBoxAppend(hbox, uiControl(getButton), 0);
|
||||
uiBoxAppend(page1, uiControl(hbox), 0);
|
||||
|
||||
|
|
|
@ -53,6 +53,41 @@ void setSpaced(int spaced)
|
|||
}
|
||||
}
|
||||
|
||||
void querySpaced(char out[12]) // more than enough
|
||||
{
|
||||
int m = 0;
|
||||
int p = 0;
|
||||
uintmax_t i;
|
||||
void *pp;
|
||||
|
||||
for (i = 0; i < len; i++) {
|
||||
pp = things[i].ptr;
|
||||
switch (things[i].type) {
|
||||
case window:
|
||||
m = uiWindowMargined(uiWindow(pp));
|
||||
break;
|
||||
case box:
|
||||
p = uiBoxPadded(uiBox(pp));
|
||||
break;
|
||||
}
|
||||
if (m && p) // cheap attempt at breaking early
|
||||
break;
|
||||
}
|
||||
|
||||
out[0] = 'm';
|
||||
out[1] = ' ';
|
||||
out[2] = '0';
|
||||
if (m)
|
||||
out[2] = '1';
|
||||
out[3] = ' ';
|
||||
out[4] = 'p';
|
||||
out[5] = ' ';
|
||||
out[6] = '0';
|
||||
if (p)
|
||||
out[6] = '1';
|
||||
out[7] = '\0';
|
||||
}
|
||||
|
||||
uiWindow *newWindow(const char *title, int width, int height, int hasMenubar)
|
||||
{
|
||||
uiWindow *w;
|
||||
|
|
|
@ -11,6 +11,7 @@ extern void die(const char *, ...);
|
|||
|
||||
// spaced.c
|
||||
extern void setSpaced(int);
|
||||
extern void querySpaced(char[12]);
|
||||
extern uiWindow *newWindow(const char *title, int width, int height, int hasMenubar);
|
||||
extern uiBox *newHorizontalBox(void);
|
||||
extern uiBox *newVerticalBox(void);
|
||||
|
|
Loading…
Reference in New Issue