Add method for clearing ComboBox items
void uiComboboxClear(uiCombobox *c) * Unix: gtk_combo_box_text_remove_all * Windows: CB_RESETCONTENT * Darwin: NSPopUpButton.removeAllItems
This commit is contained in:
parent
d4ecc16dd7
commit
d78dc94a48
|
@ -86,6 +86,11 @@ void uiComboboxDelete(uiCombobox *c, int n)
|
||||||
[c->pb removeItemAtIndex:n];
|
[c->pb removeItemAtIndex:n];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void uiComboboxClear(uiCombobox *c)
|
||||||
|
{
|
||||||
|
[c->pb removeAllItems];
|
||||||
|
}
|
||||||
|
|
||||||
int uiComboboxSelected(uiCombobox *c)
|
int uiComboboxSelected(uiCombobox *c)
|
||||||
{
|
{
|
||||||
return [c->pb indexOfSelectedItem];
|
return [c->pb indexOfSelectedItem];
|
||||||
|
|
|
@ -44,6 +44,11 @@ static void deleteCB(uiButton *b, void *data)
|
||||||
uiComboboxDelete(cbox, 0);
|
uiComboboxDelete(cbox, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void clearCB(uiButton *b, void *data)
|
||||||
|
{
|
||||||
|
uiComboboxClear(cbox);
|
||||||
|
}
|
||||||
|
|
||||||
static void onCBChanged(uiCombobox *c, void *data)
|
static void onCBChanged(uiCombobox *c, void *data)
|
||||||
{
|
{
|
||||||
printf("%s combobox changed to %d\n",
|
printf("%s combobox changed to %d\n",
|
||||||
|
@ -155,6 +160,9 @@ uiBox *makePage4(void)
|
||||||
b = uiNewButton("Delete");
|
b = uiNewButton("Delete");
|
||||||
uiButtonOnClicked(b, deleteCB, NULL);
|
uiButtonOnClicked(b, deleteCB, NULL);
|
||||||
uiBoxAppend(hbox, uiControl(b), 0);
|
uiBoxAppend(hbox, uiControl(b), 0);
|
||||||
|
b = uiNewButton("Clear");
|
||||||
|
uiButtonOnClicked(b, clearCB, NULL);
|
||||||
|
uiBoxAppend(hbox, uiControl(b), 0);
|
||||||
b = uiNewButton("Second");
|
b = uiNewButton("Second");
|
||||||
uiButtonOnClicked(b, selectSecond, NULL);
|
uiButtonOnClicked(b, selectSecond, NULL);
|
||||||
uiBoxAppend(hbox, uiControl(b), 0);
|
uiBoxAppend(hbox, uiControl(b), 0);
|
||||||
|
|
1
ui.h
1
ui.h
|
@ -227,6 +227,7 @@ typedef struct uiCombobox uiCombobox;
|
||||||
#define uiCombobox(this) ((uiCombobox *) (this))
|
#define uiCombobox(this) ((uiCombobox *) (this))
|
||||||
_UI_EXTERN void uiComboboxAppend(uiCombobox *c, const char *text);
|
_UI_EXTERN void uiComboboxAppend(uiCombobox *c, const char *text);
|
||||||
_UI_EXTERN void uiComboboxDelete(uiCombobox *c, int n);
|
_UI_EXTERN void uiComboboxDelete(uiCombobox *c, int n);
|
||||||
|
_UI_EXTERN void uiComboboxClear(uiCombobox *c);
|
||||||
_UI_EXTERN int uiComboboxSelected(uiCombobox *c);
|
_UI_EXTERN int uiComboboxSelected(uiCombobox *c);
|
||||||
_UI_EXTERN void uiComboboxSetSelected(uiCombobox *c, int n);
|
_UI_EXTERN void uiComboboxSetSelected(uiCombobox *c, int n);
|
||||||
_UI_EXTERN void uiComboboxOnSelected(uiCombobox *c, void (*f)(uiCombobox *c, void *data), void *data);
|
_UI_EXTERN void uiComboboxOnSelected(uiCombobox *c, void (*f)(uiCombobox *c, void *data), void *data);
|
||||||
|
|
|
@ -35,6 +35,11 @@ void uiComboboxDelete(uiCombobox *c, int n)
|
||||||
gtk_combo_box_text_remove(c->comboboxText, n);
|
gtk_combo_box_text_remove(c->comboboxText, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void uiComboboxClear(uiCombobox *c)
|
||||||
|
{
|
||||||
|
gtk_combo_box_text_remove_all(c->comboboxText);
|
||||||
|
}
|
||||||
|
|
||||||
int uiComboboxSelected(uiCombobox *c)
|
int uiComboboxSelected(uiCombobox *c)
|
||||||
{
|
{
|
||||||
return gtk_combo_box_get_active(c->combobox);
|
return gtk_combo_box_get_active(c->combobox);
|
||||||
|
|
|
@ -78,6 +78,15 @@ void uiComboboxDelete(uiCombobox *c, int n)
|
||||||
logLastError(L"error removing item from uiCombobox");
|
logLastError(L"error removing item from uiCombobox");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void uiComboboxClear(uiCombobox *c)
|
||||||
|
{
|
||||||
|
LRESULT res;
|
||||||
|
|
||||||
|
res = SendMessage(c->hwnd, CB_RESETCONTENT, 0, 0);
|
||||||
|
if (res == (LRESULT) CB_ERR)
|
||||||
|
logLastError(L"error clearing items from uiCombobox");
|
||||||
|
}
|
||||||
|
|
||||||
int uiComboboxSelected(uiCombobox *c)
|
int uiComboboxSelected(uiCombobox *c)
|
||||||
{
|
{
|
||||||
LRESULT n;
|
LRESULT n;
|
||||||
|
|
Loading…
Reference in New Issue