Ctxpopup

Context popup widget. More...

Enumerations

enum  Elm_Ctxpopup_Direction {
  ELM_CTXPOPUP_DIRECTION_DOWN,
  ELM_CTXPOPUP_DIRECTION_RIGHT,
  ELM_CTXPOPUP_DIRECTION_LEFT,
  ELM_CTXPOPUP_DIRECTION_UP,
  ELM_CTXPOPUP_DIRECTION_UNKNOWN
}

Functions

Evas_Object * elm_ctxpopup_add (Evas_Object *parent)
 Add a new Ctxpopup object to the parent.
void elm_ctxpopup_hover_parent_set (Evas_Object *obj, Evas_Object *parent)
 Set the Ctxpopup's parent.
Evas_Object * elm_ctxpopup_hover_parent_get (const Evas_Object *obj)
 Get the Ctxpopup's parent.
void elm_ctxpopup_clear (Evas_Object *obj)
 Clear all items in the given ctxpopup object.
void elm_ctxpopup_horizontal_set (Evas_Object *obj, Eina_Bool horizontal)
 Change the ctxpopup's orientation to horizontal or vertical.
Eina_Bool elm_ctxpopup_horizontal_get (const Evas_Object *obj)
 Get the value of current ctxpopup object's orientation.
Elm_Object_Itemelm_ctxpopup_item_append (Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Smart_Cb func, const void *data)
 Add a new item to a ctxpopup object.
void elm_ctxpopup_direction_priority_set (Evas_Object *obj, Elm_Ctxpopup_Direction first, Elm_Ctxpopup_Direction second, Elm_Ctxpopup_Direction third, Elm_Ctxpopup_Direction fourth)
 Set the direction priority of a ctxpopup.
void elm_ctxpopup_direction_priority_get (Evas_Object *obj, Elm_Ctxpopup_Direction *first, Elm_Ctxpopup_Direction *second, Elm_Ctxpopup_Direction *third, Elm_Ctxpopup_Direction *fourth)
 Get the direction priority of a ctxpopup.
Elm_Ctxpopup_Direction elm_ctxpopup_direction_get (const Evas_Object *obj)
 Get the current direction of a ctxpopup.
void elm_ctxpopup_dismiss (Evas_Object *obj)
 Dismiss a ctxpopup object.

Detailed Description

Context popup widget.

preview-00.png

A ctxpopup is a widget that, when shown, pops up a list of items. It automatically chooses an area inside its parent object's view (set via elm_ctxpopup_add() and elm_ctxpopup_hover_parent_set()) to optimally fit into it. In the default theme, it will also point an arrow to it's top left position at the time one shows it. Ctxpopup items have a label and/or an icon. It is intended for a small number of items (hence the use of list, not genlist).

Note:
Ctxpopup is a specialization of Hover.

Signals that you can add callbacks for are: "dismissed" - the ctxpopup was dismissed

Default content parts of the ctxpopup widget that you can use for are:

  • "default" - A content of the ctxpopup

Default content parts of the ctxpopup items that you can use for are:

  • "icon" - An icon in the title area

Default text parts of the ctxpopup items that you can use for are:

  • "default" - Title label in the title area

Supported elm_object common APIs.

Supported elm_object_item common APIs.

Ctxpopup example shows the usage of a good deal of the API.


Enumeration Type Documentation

Enumerator:
ELM_CTXPOPUP_DIRECTION_DOWN 

ctxpopup show appear below clicked area

ELM_CTXPOPUP_DIRECTION_RIGHT 

ctxpopup show appear to the right of the clicked area

ELM_CTXPOPUP_DIRECTION_LEFT 

ctxpopup show appear to the left of the clicked area

ELM_CTXPOPUP_DIRECTION_UP 

ctxpopup show appear above the clicked area

ELM_CTXPOPUP_DIRECTION_UNKNOWN 

ctxpopup does not determine it's direction yet


Function Documentation

Evas_Object* elm_ctxpopup_add ( Evas_Object *  parent)

Add a new Ctxpopup object to the parent.

Parameters:
parentParent object
Returns:
New object or NULL, if it cannot be created

References ELM_CTXPOPUP_DIRECTION_DOWN, ELM_CTXPOPUP_DIRECTION_LEFT, ELM_CTXPOPUP_DIRECTION_RIGHT, ELM_CTXPOPUP_DIRECTION_UNKNOWN, ELM_CTXPOPUP_DIRECTION_UP, and elm_ctxpopup_hover_parent_set().

void elm_ctxpopup_clear ( Evas_Object *  obj)

Clear all items in the given ctxpopup object.

Parameters:
objCtxpopup object

References ELM_CTXPOPUP_DIRECTION_UNKNOWN.

Elm_Ctxpopup_Direction elm_ctxpopup_direction_get ( const Evas_Object *  obj)

Get the current direction of a ctxpopup.

Parameters:
objCtxpopup object
Returns:
current direction of a ctxpopup
Warning:
Once the ctxpopup showed up, the direction would be determined

References ELM_CTXPOPUP_DIRECTION_UNKNOWN.

void elm_ctxpopup_direction_priority_get ( Evas_Object *  obj,
Elm_Ctxpopup_Direction first,
Elm_Ctxpopup_Direction second,
Elm_Ctxpopup_Direction third,
Elm_Ctxpopup_Direction fourth 
)

Get the direction priority of a ctxpopup.

Parameters:
objCtxpopup object
first1st priority of direction to be returned
second2nd priority of direction to be returned
third3th priority of direction to be returned
fourth4th priority of direction to be returned
See also:
elm_ctxpopup_direction_priority_set() for more information.
void elm_ctxpopup_direction_priority_set ( Evas_Object *  obj,
Elm_Ctxpopup_Direction  first,
Elm_Ctxpopup_Direction  second,
Elm_Ctxpopup_Direction  third,
Elm_Ctxpopup_Direction  fourth 
)

Set the direction priority of a ctxpopup.

Parameters:
objCtxpopup object
first1st priority of direction
second2nd priority of direction
third3th priority of direction
fourth4th priority of direction

This functions gives a chance to user to set the priority of ctxpopup showing direction. This doesn't guarantee the ctxpopup will appear in the requested direction.

See also:
Elm_Ctxpopup_Direction
void elm_ctxpopup_dismiss ( Evas_Object *  obj)

Dismiss a ctxpopup object.

Parameters:
objThe ctxpopup object Use this function to simulate clicking outside the ctxpopup to dismiss it. In this way, the ctxpopup will be hidden and the "clicked" signal will be emitted.
Eina_Bool elm_ctxpopup_horizontal_get ( const Evas_Object *  obj)

Get the value of current ctxpopup object's orientation.

Parameters:
objCtxpopup object
Returns:
EINA_TRUE for horizontal mode, EINA_FALSE for vertical mode (or errors)
See also:
elm_ctxpopup_horizontal_set()
void elm_ctxpopup_horizontal_set ( Evas_Object *  obj,
Eina_Bool  horizontal 
)

Change the ctxpopup's orientation to horizontal or vertical.

Parameters:
objCtxpopup object
horizontalEINA_TRUE for horizontal mode, EINA_FALSE for vertical

References ELM_CTXPOPUP_DIRECTION_UNKNOWN, and elm_list_horizontal_set().

Evas_Object* elm_ctxpopup_hover_parent_get ( const Evas_Object *  obj)

Get the Ctxpopup's parent.

Parameters:
objThe ctxpopup object
See also:
elm_ctxpopup_hover_parent_set() for more information
void elm_ctxpopup_hover_parent_set ( Evas_Object *  obj,
Evas_Object *  parent 
)

Set the Ctxpopup's parent.

Parameters:
objThe ctxpopup object
parentThe parent to use

Set the parent object.

Note:
elm_ctxpopup_add() will automatically call this function with its parent argument.
See also:
elm_ctxpopup_add()
elm_hover_parent_set()

Referenced by elm_ctxpopup_add().

Elm_Object_Item* elm_ctxpopup_item_append ( Evas_Object *  obj,
const char *  label,
Evas_Object *  icon,
Evas_Smart_Cb  func,
const void *  data 
)

Add a new item to a ctxpopup object.

Parameters:
objCtxpopup object
iconIcon to be set on new item
labelThe Label of the new item
funcConvenience function called when item selected
dataData passed to func
Returns:
A handle to the item added or NULL, on errors
Warning:
Ctxpopup can't hold both an item list and a content at the same time. When an item is added, any previous content will be removed.
See also:
elm_object_content_set()

References ELM_CTXPOPUP_DIRECTION_UNKNOWN, elm_list_add(), ELM_LIST_EXPAND, elm_list_horizontal_set(), elm_list_item_append(), and elm_list_mode_set().