libui/test/page13.c

158 lines
3.4 KiB
C

// 28 may 2016
#include "test.h"
static int winClose(uiWindow *w, void *data)
{
return 1;
}
static void openTestWindow(uiBox *(*mkf)(void))
{
uiWindow *w;
uiBox *b;
uiCombobox *c;
uiEditableCombobox *e;
uiRadioButtons *r;
w = uiNewWindow("Test", 100, 100, 0);
uiWindowOnClosing(w, winClose, NULL);
uiWindowSetMargined(w, 1);
b = (*mkf)();
uiWindowSetChild(w, uiControl(b));
#define BA(x) uiBoxAppend(b, uiControl(x), 0)
BA(uiNewButton(""));
BA(uiNewCheckbox(""));
BA(uiNewEntry());
BA(uiNewLabel(""));
BA(uiNewSpinbox(0, 100));
BA(uiNewProgressBar());
BA(uiNewSlider(0, 100));
BA(uiNewHorizontalSeparator());
c = uiNewCombobox();
uiComboboxAppend(c, "");
BA(c);
e = uiNewEditableCombobox();
uiEditableComboboxAppend(e, "");
BA(e);
r = uiNewRadioButtons();
uiRadioButtonsAppend(r, "");
BA(r);
BA(uiNewDateTimePicker());
BA(uiNewDatePicker());
BA(uiNewTimePicker());
BA(uiNewMultilineEntry());
// TODO nonscrolling and scrolling areas?
BA(uiNewFontButton());
BA(uiNewColorButton());
BA(uiNewPasswordEntry());
BA(uiNewSearchEntry());
BA(uiNewVerticalSeparator());
uiControlShow(uiControl(w));
}
static void buttonClicked(uiButton *b, void *data)
{
openTestWindow((uiBox *(*)(void)) data);
}
static void entryChanged(uiEntry *e, void *data)
{
char *text;
text = uiEntryText(e);
printf("%s entry changed: %s\n", (const char *) data, text);
uiFreeText(text);
}
static void showHide(uiButton *b, void *data)
{
uiControl *c = uiControl(data);
if (uiControlVisible(c))
uiControlHide(c);
else
uiControlShow(c);
}
static void setIndeterminate(uiButton *b, void *data)
{
uiProgressBar *p = uiProgressBar(data);
int value;
value = uiProgressBarValue(p);
if (value == -1)
value = 50;
else
value = -1;
uiProgressBarSetValue(p, value);
}
static void deleteFirst(uiButton *b, void *data)
{
uiForm *f = uiForm(data);
uiFormDelete(f, 0);
}
uiBox *makePage13(void)
{
uiBox *page13;
uiRadioButtons *rb;
uiButton *b;
uiForm *f;
uiEntry *e;
uiProgressBar *p;
page13 = newVerticalBox();
rb = uiNewRadioButtons();
uiRadioButtonsAppend(rb, "Item 1");
uiRadioButtonsAppend(rb, "Item 2");
uiRadioButtonsAppend(rb, "Item 3");
uiBoxAppend(page13, uiControl(rb), 0);
rb = uiNewRadioButtons();
uiRadioButtonsAppend(rb, "Item A");
uiRadioButtonsAppend(rb, "Item B");
uiBoxAppend(page13, uiControl(rb), 0);
b = uiNewButton("Horizontal");
uiButtonOnClicked(b, buttonClicked, uiNewHorizontalBox);
uiBoxAppend(page13, uiControl(b), 0);
b = uiNewButton("Vertical");
uiButtonOnClicked(b, buttonClicked, uiNewVerticalBox);
uiBoxAppend(page13, uiControl(b), 0);
f = newForm();
e = uiNewPasswordEntry();
uiEntryOnChanged(e, entryChanged, "password");
uiFormAppend(f, "Password Entry", uiControl(e), 0);
e = uiNewSearchEntry();
uiEntryOnChanged(e, entryChanged, "search");
uiFormAppend(f, "Search Box", uiControl(e), 0);
uiFormAppend(f, "MLE", uiControl(uiNewMultilineEntry()), 1);
p = uiNewProgressBar();
uiProgressBarSetValue(p, 50);
uiBoxAppend(page13, uiControl(p), 0);
b = uiNewButton("Toggle Indeterminate");
uiButtonOnClicked(b, setIndeterminate, p);
uiBoxAppend(page13, uiControl(b), 0);
b = uiNewButton("Show/Hide");
uiButtonOnClicked(b, showHide, e);
uiBoxAppend(page13, uiControl(b), 0);
b = uiNewButton("Delete First");
uiButtonOnClicked(b, deleteFirst, f);
uiBoxAppend(page13, uiControl(b), 0);
uiBoxAppend(page13, uiControl(f), 1);
return page13;
}