Started uiCombobox querying and events. Needed for the uiArea tests.

This commit is contained in:
Pietro Gagliardi 2015-10-08 14:23:04 -04:00
parent 9089138f7f
commit 26e90f0b51
2 changed files with 12 additions and 0 deletions

View File

@ -39,6 +39,13 @@ static void appendCBRB(uiButton *b, void *data)
uiRadioButtonsAppend(rb, "New Item");
}
static void onCBChanged(uiCombobox *c, void *data)
{
printf("%s combobox changed to %d\n",
(char *) data,
(int) uiComboboxSelected(c));
}
uiBox *makePage4(void)
{
uiBox *page4;
@ -90,12 +97,14 @@ uiBox *makePage4(void)
uiComboboxAppend(cbox, "Item 1");
uiComboboxAppend(cbox, "Item 2");
uiComboboxAppend(cbox, "Item 3");
uiComboboxOnChanged(cbox, onCBChanged, "noneditable");
uiBoxAppend(page4, uiControl(cbox), 0);
editable = uiNewEditableCombobox();
uiComboboxAppend(editable, "Editable Item 1");
uiComboboxAppend(editable, "Editable Item 2");
uiComboboxAppend(editable, "Editable Item 3");
uiComboboxOnChanged(cbox, onCBChanged, "editable");
uiBoxAppend(page4, uiControl(editable), 0);
rb = uiNewRadioButtons();

3
ui.h
View File

@ -202,6 +202,9 @@ typedef struct uiCombobox uiCombobox;
_UI_EXTERN uintmax_t uiComboboxType(void);
#define uiCombobox(this) ((uiCombobox *) uiIsA((this), uiComboboxType(), 1))
_UI_EXTERN void uiComboboxAppend(uiCombobox *c, const char *text);
_UI_EXTERN intmax_t uiComboboxSelected(uiCombobox *c);
// TODO SetSelected
_UI_EXTERN void uiComboboxOnSelected(uiCombobox *c, void (*f)(uiCombobox *c, void *data), void *data);
_UI_EXTERN uiCombobox *uiNewCombobox(void);
_UI_EXTERN uiCombobox *uiNewEditableCombobox(void);