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(Checkbox, uiCheckbox, uiCheckboxText, uiCheckboxSetText)
|
||||||
TEXT(Label, uiLabel, uiLabelText, uiLabelSetText)
|
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 *makePage1(uiWindow *w)
|
||||||
{
|
{
|
||||||
uiBox *page1;
|
uiBox *page1;
|
||||||
|
@ -38,6 +56,7 @@ uiBox *makePage1(uiWindow *w)
|
||||||
uiBoxAppend(page1, uiControl(entry), 0);
|
uiBoxAppend(page1, uiControl(entry), 0);
|
||||||
|
|
||||||
spaced = uiNewCheckbox("Spaced");
|
spaced = uiNewCheckbox("Spaced");
|
||||||
|
uiCheckboxOnToggled(spaced, toggleSpaced, NULL);
|
||||||
label = uiNewLabel("Label");
|
label = uiNewLabel("Label");
|
||||||
|
|
||||||
hbox = newHorizontalBox();
|
hbox = newHorizontalBox();
|
||||||
|
@ -79,10 +98,13 @@ uiBox *makePage1(uiWindow *w)
|
||||||
hbox = newHorizontalBox();
|
hbox = newHorizontalBox();
|
||||||
uiBoxAppend(hbox, uiControl(spaced), 1);
|
uiBoxAppend(hbox, uiControl(spaced), 1);
|
||||||
getButton = uiNewButton("On");
|
getButton = uiNewButton("On");
|
||||||
|
uiButtonOnClicked(getButton, forceSpaced, getButton);
|
||||||
uiBoxAppend(hbox, uiControl(getButton), 0);
|
uiBoxAppend(hbox, uiControl(getButton), 0);
|
||||||
getButton = uiNewButton("Off");
|
getButton = uiNewButton("Off");
|
||||||
|
uiButtonOnClicked(getButton, forceSpaced, NULL);
|
||||||
uiBoxAppend(hbox, uiControl(getButton), 0);
|
uiBoxAppend(hbox, uiControl(getButton), 0);
|
||||||
getButton = uiNewButton("Show");
|
getButton = uiNewButton("Show");
|
||||||
|
uiButtonOnClicked(getButton, showSpaced, NULL);
|
||||||
uiBoxAppend(hbox, uiControl(getButton), 0);
|
uiBoxAppend(hbox, uiControl(getButton), 0);
|
||||||
uiBoxAppend(page1, uiControl(hbox), 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 *newWindow(const char *title, int width, int height, int hasMenubar)
|
||||||
{
|
{
|
||||||
uiWindow *w;
|
uiWindow *w;
|
||||||
|
|
|
@ -11,6 +11,7 @@ extern void die(const char *, ...);
|
||||||
|
|
||||||
// spaced.c
|
// spaced.c
|
||||||
extern void setSpaced(int);
|
extern void setSpaced(int);
|
||||||
|
extern void querySpaced(char[12]);
|
||||||
extern uiWindow *newWindow(const char *title, int width, int height, int hasMenubar);
|
extern uiWindow *newWindow(const char *title, int width, int height, int hasMenubar);
|
||||||
extern uiBox *newHorizontalBox(void);
|
extern uiBox *newHorizontalBox(void);
|
||||||
extern uiBox *newVerticalBox(void);
|
extern uiBox *newVerticalBox(void);
|
||||||
|
|
Loading…
Reference in New Issue