FreeBSD Manual Pages
AG_UCOMBO(3) Library Functions Manual AG_UCOMBO(3) NAME AG_UCombo -- agar button-triggered drop-down menu widget SYNOPSIS #include <agar/core.h> #include <agar/gui.h> DESCRIPTION The AG_UCombo widget displays an AG_Button(3) which triggers the expan- sion of drop-down menu (a window containing an AG_Tlist(3)) when pressed. The drop-down menu collapses if the user selects an item, or clicks outside of the AG_UCombo area. INHERITANCE HIERARCHY AG_Object(3) -> AG_Widget(3) -> AG_UCombo. INITIALIZATION AG_UCombo * AG_UComboNew(AG_Widget *parent, Uint flags) void AG_UComboSizeHint(AG_UCombo *com, const char *text, int nitems) void AG_UComboSizeHintPixels(AG_UCombo *com, int w, int h) The AG_UComboNew() function allocates, initializes, and attaches a new AG_UCombo widget. Acceptable flags include: AG_UCOMBO_SCROLLTOSEL Scroll to initial selection if it is not visi- ble. AG_UCOMBO_HFILL Expand horizontally in parent container. AG_UCOMBO_VFILL Expand vertically in parent container. AG_UCOMBO_EXPAND Shorthand for AG_UCOMBO_HFILL | AG_UCOMBO_VFILL. AG_UComboSizeHint() arranges for the AG_Tlist(3) widget displayed on popup to request a size large enough to display the given number of items. The AG_UComboSizeHintPixels() variant specifies the size of the list in pixels. EVENTS The AG_UCombo widget generates the following events: ucombo-selected(AG_TlistItem *item) An item was selected. ucombo-expanded(void) The drop-down menu is now visible. May be used to populate list. ucombo-collapsed(void) The drop-down menu is now hidden. STRUCTURE DATA For the AG_UCombo object: AG_Tlist *list The AG_Tlist(3) displayed by AG_UCombo when ex- panded, or NULL if collapsed (RO). AG_Button *button The AG_Button(3) which triggers expansion (RO). EXAMPLES The following code fragment generates a drop-down menu and reacts to a selection event by displaying a text dialog: static void ComboExpanded(AG_Event *event) { AG_UCombo *com = AG_UCOMBO_SELF(); AG_Tlist *tl = com->list; AG_TlistAdd(tl, NULL, "Foo"); AG_TlistAdd(tl, NULL, "Bar"); } static void ComboSelected(AG_Event *event) { AG_TlistItem *item = AG_TLISTITEM_PTR(1); AG_TextMsg(AG_MSG_INFO, "Selected item: %s", item->text); } AG_UCombo *com; com = AG_UComboNew(NULL, 0); AG_SetEvent(com, "ucombo-expanded", ComboExpanded, NULL); AG_SetEvent(com, "ucombo-selected", ComboSelected, NULL); SEE ALSO AG_Button(3), AG_Combo(3), AG_Intro(3), AG_Tlist(3), AG_Widget(3), AG_Window(3) HISTORY The AG_UCombo widget first appeared in Agar 1.0. "ucombo-expanded" and "ucombo-selected" appeared in Agar 1.7.0. Agar 1.7 December 21, 2022 AG_UCOMBO(3)
NAME | SYNOPSIS | DESCRIPTION | INHERITANCE HIERARCHY | INITIALIZATION | EVENTS | STRUCTURE DATA | EXAMPLES | SEE ALSO | HISTORY
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=AG_UCombo&sektion=3&manpath=FreeBSD+Ports+15.0.quarterly>
