Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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)

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>

home | help