General

Data Structures | Macros | Typedefs | Enumerations | Functions | Variables
General
Elementary

General Elementary API. More...

## Data Structures
struct | _Elm_Event_Policy_Changed
| Data on the event when an Elementary policy has changed. More...
struct | _Elm_Event_Atspi_Bridge_State_Changed
| Data on event when atspi bridge state is changed. More...

## Macros
#define | ELM_MAIN() int main(int argc, char **argv) { int ret__; _elm_startup_time = ecore_time_unix_get(); elm_init(argc, argv); ret__ = elm_main(argc, argv); elm_shutdown(); return ret__; }
| macro to be used after the elm_main() function
#define | __EFL_UI_IS_REQUIRED
#define | elm_object_item_text_set(it, label) elm_object_item_part_text_set((it), NULL, (label))
| Macro to set a label of an object item. More...

## Typedefs
typedef struct _Elm_Event_Policy_Changed | Elm_Event_Policy_Changed
| Data on the event when an Elementary policy has changed.
typedef struct _Elm_Event_Atspi_Bridge_State_Changed | Elm_Event_Atspi_Bridge_State_Changed
| Data on event when atspi bridge state is changed. More...
typedef Eina_Bool(* | Elm_Event_Cb) (void *data, Evas_Object *obj, Evas_Object *src, Evas_Callback_Type type, void *event_info)
| Function prototype definition for callbacks on input events happening on Elementary widgets. More...
typedef enum _Elm_Process_State | Elm_Process_State
typedef Eo | Elm_Object_Item
| An Elementary Object item handle.
typedef void(* | Elm_Object_Item_Signal_Cb) (void *data, Elm_Object_Item *it, const char *emission, const char *source)
| Elm_Object_Item Signal Callback functions' prototype definition. More...
typedef Eo | Elm_Widget_Item
| An Elementary widget item handle. More...

## Enumerations
enum | Elm_Object_Select_Mode { ELM_OBJECT_SELECT_MODE_DEFAULT = 0 , ELM_OBJECT_SELECT_MODE_ALWAYS , ELM_OBJECT_SELECT_MODE_NONE , ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY , ELM_OBJECT_SELECT_MODE_MAX }
| Possible values for the selection policy of some widgets. More...
enum | Elm_Input_Panel_Layout { ELM_INPUT_PANEL_LAYOUT_NORMAL = 0 , ELM_INPUT_PANEL_LAYOUT_NUMBER , ELM_INPUT_PANEL_LAYOUT_EMAIL , ELM_INPUT_PANEL_LAYOUT_URL , ELM_INPUT_PANEL_LAYOUT_PHONENUMBER , ELM_INPUT_PANEL_LAYOUT_IP , ELM_INPUT_PANEL_LAYOUT_MONTH , ELM_INPUT_PANEL_LAYOUT_NUMBERONLY , ELM_INPUT_PANEL_LAYOUT_INVALID , ELM_INPUT_PANEL_LAYOUT_HEX , ELM_INPUT_PANEL_LAYOUT_TERMINAL , ELM_INPUT_PANEL_LAYOUT_PASSWORD , ELM_INPUT_PANEL_LAYOUT_DATETIME , ELM_INPUT_PANEL_LAYOUT_EMOTICON , ELM_INPUT_PANEL_LAYOUT_VOICE }
| Input panel (virtual keyboard) layout types. More...
enum | Elm_Input_Panel_Lang { ELM_INPUT_PANEL_LANG_AUTOMATIC = 0 , ELM_INPUT_PANEL_LANG_ALPHABET }
| Input panel (virtual keyboard) language modes. More...
enum | Elm_Autocapital_Type { ELM_AUTOCAPITAL_TYPE_NONE = 0 , ELM_AUTOCAPITAL_TYPE_WORD , ELM_AUTOCAPITAL_TYPE_SENTENCE , ELM_AUTOCAPITAL_TYPE_ALLCHARACTER }
| Autocapitalization Types. More...
enum | Elm_Input_Panel_Return_Key_Type { ELM_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT = 0 , ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE , ELM_INPUT_PANEL_RETURN_KEY_TYPE_GO , ELM_INPUT_PANEL_RETURN_KEY_TYPE_JOIN , ELM_INPUT_PANEL_RETURN_KEY_TYPE_LOGIN , ELM_INPUT_PANEL_RETURN_KEY_TYPE_NEXT , ELM_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH , ELM_INPUT_PANEL_RETURN_KEY_TYPE_SEND , ELM_INPUT_PANEL_RETURN_KEY_TYPE_SIGNIN }
| "Return" Key types on the input panel (virtual keyboard). More...
enum | Elm_Input_Hints { ELM_INPUT_HINT_NONE = 0 , ELM_INPUT_HINT_AUTO_COMPLETE = 1 , ELM_INPUT_HINT_SENSITIVE_DATA = 2 , ELM_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_DATE = 256 , ELM_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_DAY = 512 , ELM_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_MONTH = 768 , ELM_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_YEAR = 1024 , ELM_INPUT_HINT_AUTOFILL_CREDIT_CARD_NUMBER = 1280 , ELM_INPUT_HINT_AUTOFILL_EMAIL_ADDRESS = 1536 , ELM_INPUT_HINT_AUTOFILL_NAME = 1792 , ELM_INPUT_HINT_AUTOFILL_PHONE = 2048 , ELM_INPUT_HINT_AUTOFILL_POSTAL_ADDRESS = 2304 , ELM_INPUT_HINT_AUTOFILL_POSTAL_CODE = 2560 , ELM_INPUT_HINT_AUTOFILL_ID = 2816 }
| Enumeration that defines the types of Input Hints. More...
enum | Elm_Policy { ELM_POLICY_QUIT = 0 , ELM_POLICY_EXIT , ELM_POLICY_THROTTLE , ELM_POLICY_LAST }
| Policy identifiers. More...
enum | Elm_Policy_Quit { ELM_POLICY_QUIT_NONE = 0 , ELM_POLICY_QUIT_LAST_WINDOW_CLOSED , ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN }
| Possible values for the ELM_POLICY_QUIT policy. More...
enum | Elm_Policy_Exit { ELM_POLICY_EXIT_NONE = 0 , ELM_POLICY_EXIT_WINDOWS_DEL }
| Possible values for the ELM_POLICY_EXIT policy. More...
enum | Elm_Policy_Throttle { ELM_POLICY_THROTTLE_CONFIG = 0 , ELM_POLICY_THROTTLE_HIDDEN_ALWAYS , ELM_POLICY_THROTTLE_NEVER }
| Possible values for the ELM_POLICY_THROTTLE policy. More...
enum | Elm_Object_Multi_Select_Mode { ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT = 0 , ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL , ELM_OBJECT_MULTI_SELECT_MODE_MAX }
| Possible values for the multi-selection policy of some widgets. More...
enum | Elm_Wrap_Type { ELM_WRAP_NONE = 0 , ELM_WRAP_CHAR , ELM_WRAP_WORD , ELM_WRAP_MIXED , ELM_WRAP_LAST }
| Line wrapping types. More...
enum | Elm_Text_Format { ELM_TEXT_FORMAT_PLAIN_UTF8 = 0 , ELM_TEXT_FORMAT_MARKUP_UTF8 }
| Text Format types. More...
enum | Elm_Cnp_Mode { ELM_CNP_MODE_MARKUP = 0 , ELM_CNP_MODE_NO_IMAGE , ELM_CNP_MODE_PLAINTEXT }
| Enum of entry's copy & paste policy. More...
enum | Elm_List_Mode { ELM_LIST_COMPRESS = 0 , ELM_LIST_SCROLL , ELM_LIST_LIMIT , ELM_LIST_EXPAND , ELM_LIST_LAST }
| Set list's resizing behavior, transverse axis scrolling and items cropping. More...
enum | Elm_Focus_Direction { ELM_FOCUS_PREVIOUS = 0 , ELM_FOCUS_NEXT = 1 , ELM_FOCUS_UP = 2 , ELM_FOCUS_DOWN = 3 , ELM_FOCUS_RIGHT = 4 , ELM_FOCUS_LEFT = 5 , ELM_FOCUS_LAST = 6 }
enum | Elm_Object_Layer { ELM_OBJECT_LAYER_BACKGROUND = EVAS_LAYER_MIN + 64 , ELM_OBJECT_LAYER_DEFAULT = 0 , ELM_OBJECT_LAYER_FOCUS = EVAS_LAYER_MAX - 128 , ELM_OBJECT_LAYER_TOOLTIP = EVAS_LAYER_MAX - 64 , ELM_OBJECT_LAYER_CURSOR = EVAS_LAYER_MAX - 32 , ELM_OBJECT_LAYER_LAST }
| Defines couple of standard Evas_Object layers to be used with evas_object_layer_set(). More...
enum | Elm_Focus_Region_Show_Mode { ELM_FOCUS_REGION_SHOW_WIDGET = 0 , ELM_FOCUS_REGION_SHOW_ITEM }
| How the focus region should be calculated (not related to input focus). More...
enum | Elm_Atspi_Bridge_State { ELM_ATSPI_BRIDGE_CONNECTED = 0 , ELM_ATSPI_BRIDGE_DISCONNECTED }
| Possible values for the atspi bridge state. More...
enum | _Elm_Process_State { ELM_PROCESS_STATE_FOREGROUND , ELM_PROCESS_STATE_BACKGROUND }
enum | Elm_Focus_Autoscroll_Mode { ELM_FOCUS_AUTOSCROLL_MODE_SHOW = 0 , ELM_FOCUS_AUTOSCROLL_MODE_NONE , ELM_FOCUS_AUTOSCROLL_MODE_BRING_IN }
enum | Elm_Softcursor_Mode { ELM_SOFTCURSOR_MODE_AUTO = 0 , ELM_SOFTCURSOR_MODE_ON , ELM_SOFTCURSOR_MODE_OFF }
enum | Elm_Slider_Indicator_Visible_Mode { ELM_SLIDER_INDICATOR_VISIBLE_MODE_DEFAULT = 0 , ELM_SLIDER_INDICATOR_VISIBLE_MODE_ALWAYS , ELM_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS , ELM_SLIDER_INDICATOR_VISIBLE_MODE_NONE }
enum | Elm_Focus_Move_Policy { ELM_FOCUS_MOVE_POLICY_CLICK = 0 , ELM_FOCUS_MOVE_POLICY_IN , ELM_FOCUS_MOVE_POLICY_KEY_ONLY }

## Functions
EINA_DEPRECATED void | elm_object_domain_translatable_text_part_set (Evas_Object *obj, const char *part, const char *domain, const char *text)
| Set the text for an object's part, marking it as translatable. More...
EINA_DEPRECATED const char * | elm_object_translatable_text_part_get (const Evas_Object *obj, const char *part)
| Get the original string set as translatable for an object. More...
int | elm_init (int argc, char **argv)
| Initialize Elementary. More...
int | elm_shutdown (void)
| Shut down Elementary. More...
void | elm_run (void)
| Run Elementary's main loop. More...
void | elm_exit (void)
| Ask to exit Elementary's main loop. More...
void | elm_quicklaunch_mode_set (Eina_Bool ql_on)
| Exposed symbol used only by macros and should not be used by apps.
Eina_Bool | elm_quicklaunch_mode_get (void)
| Exposed symbol used only by macros and should not be used by apps.
int | elm_quicklaunch_init (int argc, char **argv)
| Exposed symbol used only by macros and should not be used by apps.
int | elm_quicklaunch_sub_init (int argc, char **argv)
| Exposed symbol used only by macros and should not be used by apps.
int | elm_quicklaunch_sub_shutdown (void)
| Exposed symbol used only by macros and should not be used by apps.
int | elm_quicklaunch_shutdown (void)
| Exposed symbol used only by macros and should not be used by apps.
void | elm_quicklaunch_seed (void)
| Exposed symbol used only by macros and should not be used by apps.
Eina_Bool | elm_quicklaunch_prepare (int argc, char **argv, const char *cwd)
| Exposed symbol used only by macros and should not be used by apps.
Eina_Bool | efl_quicklaunch_prepare (int argc, char **argv, const char *cwd)
| Exposed symbol used only by macros and should not be used by apps.
int | elm_quicklaunch_fork (int argc, char **argv, char *cwd, void(*postfork_func)(void *data), void *postfork_data)
| Exposed symbol used only by macros and should not be used by apps.
void | elm_quicklaunch_cleanup (void)
| Exposed symbol used only by macros and should not be used by apps.
int | elm_quicklaunch_fallback (int argc, char **argv)
| Exposed symbol used only by macros and should not be used by apps.
char * | elm_quicklaunch_exe_path_get (const char *exe, const char *cwd)
| Exposed symbol used only by macros and should not be used by apps.
Eina_Bool | elm_policy_set (unsigned int policy, int value)
| Set a new policy's value (for a given policy group/identifier). More...
int | elm_policy_get (unsigned int policy)
| Get the policy value for given policy identifier. More...
void | elm_language_set (const char *lang)
| Change the language of the current application. More...
Elm_Process_State | elm_process_state_get (void)
| The state of the process as a whole. More...
void | elm_object_part_text_set (Evas_Object *obj, const char *part, const char *text)
| Set a text of an object. More...
const char * | elm_object_part_text_get (const Evas_Object *obj, const char *part)
| Get a text of an object. More...
void | elm_object_domain_translatable_part_text_set (Evas_Object *obj, const char *part, const char *domain, const char *text)
| Set the text for an object's part, marking it as translatable. More...
const char * | elm_object_translatable_part_text_get (const Evas_Object *obj, const char *part)
| Get the original string set as translatable for an object. More...
void | elm_object_domain_part_text_translatable_set (Evas_Object *obj, const char *part, const char *domain, Eina_Bool translatable)
| Mark the part text to be translatable or not. More...
void | elm_object_part_content_set (Evas_Object *obj, const char *part, Evas_Object *content)
| Set the content on part of a given container widget. More...
Evas_Object * | elm_object_part_content_get (const Evas_Object *obj, const char *part)
| Get the content on a part of a given container widget. More...
Evas_Object * | elm_object_part_content_unset (Evas_Object *obj, const char *part)
| Unset the content on a part of a given container widget. More...
void | elm_object_access_info_set (Evas_Object *obj, const char *txt)
| Set the text to read out when in accessibility mode. More...
const char * | elm_object_access_info_get (Evas_Object *obj)
| Get the text to read out when in accessibility mode. More...
Evas_Object * | elm_object_name_find (const Evas_Object *obj, const char *name, int recurse)
| Get a named object from the children. More...
void | elm_object_disabled_set (Evas_Object *obj, Eina_Bool disabled)
| Set the disabled state of an Elementary object. More...
Eina_Bool | elm_object_disabled_get (const Evas_Object *obj)
| Get the disabled state of an Elementary object. More...
void | elm_object_signal_emit (Evas_Object *obj, const char *emission, const char *source)
| Send a signal to the widget edje object. More...
void | elm_object_signal_callback_add (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data)
| Add a callback for a signal emitted by widget edje object. More...
void * | elm_object_signal_callback_del (Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func)
| Remove a signal-triggered callback from a widget edje object. More...
void | elm_object_event_callback_add (Evas_Object *obj, Elm_Event_Cb func, const void *data)
| Add a callback for input events (key up, key down, mouse wheel) on a given Elementary widget. More...
void * | elm_object_event_callback_del (Evas_Object *obj, Elm_Event_Cb func, const void *data)
| Remove an event callback from a widget. More...
void | elm_object_orientation_mode_disabled_set (Evas_Object *obj, Eina_Bool disabled)
| Disable the orientation mode of a given widget. More...
Eina_Bool | elm_object_orientation_mode_disabled_get (const Evas_Object *obj)
| Get the orientation mode of a given widget. More...
void * | elm_object_item_data_get (const Elm_Object_Item *it)
| Get the data associated with an object item. More...
void | elm_object_item_data_set (Elm_Object_Item *it, void *data)
| Set the data associated with an object item. More...
void | elm_object_item_del (Elm_Object_Item *obj)
| Delete the given item.
Eina_Bool | elm_object_item_tooltip_window_mode_set (Elm_Widget_Item *obj, Eina_Bool disable)
| Control size restriction state of an object's tooltip. More...
Eina_Bool | elm_object_item_tooltip_window_mode_get (const Elm_Widget_Item *obj)
| Control size restriction state of an object's tooltip. More...
void | elm_object_item_tooltip_style_set (Elm_Widget_Item *obj, const char *style)
| Control a different style for this item tooltip. More...
const char * | elm_object_item_tooltip_style_get (const Elm_Widget_Item *obj)
| Control a different style for this item tooltip. More...
void | elm_object_item_cursor_set (Elm_Widget_Item *obj, const char *cursor)
| Control the type of mouse pointer/cursor decoration to be shown, when the mouse pointer is over the given item. More...
const char * | elm_object_item_cursor_get (const Elm_Widget_Item *obj)
| Control the type of mouse pointer/cursor decoration to be shown, when the mouse pointer is over the given item. More...
void | elm_object_item_cursor_style_set (Elm_Widget_Item *obj, const char *style)
| Control a different `style` for a given custom cursor set for an item. More...
const char * | elm_object_item_cursor_style_get (const Elm_Widget_Item *obj)
| Control a different `style` for a given custom cursor set for an item. More...
void | elm_object_item_cursor_engine_only_set (Elm_Widget_Item *obj, Eina_Bool engine_only)
| Control if the (custom)cursor for a given item should be searched in its theme, also, or should only rely on the rendering engine. More...
Eina_Bool | elm_object_item_cursor_engine_only_get (const Elm_Widget_Item *obj)
| Control if the (custom)cursor for a given item should be searched in its theme, also, or should only rely on the rendering engine. More...
void | elm_object_item_part_content_set (Elm_Widget_Item *obj, const char *part, Efl_Canvas_Object *content)
| Control a content of an object item. More...
Efl_Canvas_Object * | elm_object_item_part_content_get (const Elm_Widget_Item *obj, const char *part)
| Control a content of an object item. More...
void | elm_object_item_part_text_set (Elm_Widget_Item *obj, const char *part, const char *label)
| Control a label of an object item. More...
const char * | elm_object_item_part_text_get (const Elm_Widget_Item *obj, const char *part)
| Control a label of an object item. More...
void | elm_object_item_focus_set (Elm_Widget_Item *obj, Eina_Bool focused)
| Control the object item focused. More...
Eina_Bool | elm_object_item_focus_get (const Elm_Widget_Item *obj)
| Control the object item focused. More...
void | elm_object_item_style_set (Elm_Widget_Item *obj, const char *style)
| Control the style of an object item. More...
const char * | elm_object_item_style_get (const Elm_Widget_Item *obj)
| Control the style of an object item. More...
void | elm_object_item_disabled_set (Elm_Widget_Item *obj, Eina_Bool disable)
| Control the disabled state of a widget item. More...
Eina_Bool | elm_object_item_disabled_get (const Elm_Widget_Item *obj)
| Control the disabled state of a widget item. More...
const Eina_List * | elm_object_item_access_order_get (Elm_Widget_Item *obj)
| Get highlight order. More...
void | elm_object_item_access_order_set (Elm_Widget_Item *obj, Eina_List *objs)
| Set highlight order. More...
Efl_Canvas_Object * | elm_object_item_widget_get (const Elm_Widget_Item *obj)
| Get the widget object's handle which contains a given item. More...
void | elm_object_item_tooltip_text_set (Elm_Widget_Item *obj, const char *text)
| Set the text to be shown in a given object item's tooltips. More...
void | elm_object_item_tooltip_unset (Elm_Widget_Item *obj)
| Unset tooltip from item. More...
void | elm_object_item_cursor_unset (Elm_Widget_Item *obj)
| Unset any custom mouse pointer/cursor decoration set to be shown, when the mouse pointer is over the given item, thus making it show the default cursor again. More...
Efl_Canvas_Object * | elm_object_item_part_content_unset (Elm_Widget_Item *obj, const char *part)
| Unset a content of an object item. More...
void | elm_object_item_signal_callback_add (Elm_Widget_Item *obj, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func, void *data)
| Add a callback for a signal emitted by object item edje. More...
void * | elm_object_item_signal_callback_del (Elm_Widget_Item *obj, const char *emission, const char *source, Elm_Object_Item_Signal_Cb func)
| Remove a signal-triggered callback from a object item edje object. More...
void | elm_object_item_signal_emit (Elm_Widget_Item *obj, const char *emission, const char *source)
| Send a signal to the edje object of the widget item. More...
void | elm_object_item_access_info_set (Elm_Widget_Item *obj, const char *txt)
| Set the text to read out when in accessibility mode. More...
Efl_Canvas_Object * | elm_object_item_access_object_get (const Elm_Widget_Item *obj)
| Get an accessible object of the object item. More...
void | elm_object_item_domain_translatable_part_text_set (Elm_Widget_Item *obj, const char *part, const char *domain, const char *label)
| Set the text for an object item's part, marking it as translatable. More...
const char * | elm_object_item_translatable_part_text_get (const Elm_Widget_Item *obj, const char *part)
| Get the original string set as translatable for an object item. More...
void | elm_object_item_domain_part_text_translatable_set (Elm_Widget_Item *obj, const char *part, const char *domain, Eina_Bool translatable)
| Mark the part text to be translatable or not. More...
Efl_Canvas_Object * | elm_object_item_track (Elm_Widget_Item *obj)
| This returns track object of the item. More...
void | elm_object_item_untrack (Elm_Widget_Item *obj)
| This retrieve the track object of the item. More...
int | elm_object_item_track_get (const Elm_Widget_Item *obj)
| Get the track object reference count. More...
void | elm_object_item_del_cb_set (Elm_Widget_Item *obj, Evas_Smart_Cb del_cb)
| Set the function to be called when an item from the widget is freed. More...
void | elm_object_item_tooltip_content_cb_set (Elm_Widget_Item *obj, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb)
| Set the content to be shown in the tooltip item. More...
Efl_Canvas_Object * | elm_object_item_access_register (Elm_Widget_Item *obj)
| Register object item as an accessible object. More...
void | elm_object_item_access_unregister (Elm_Widget_Item *obj)
| Unregister accessible object of the object item. More...
void | elm_object_item_access_order_unset (Elm_Widget_Item *obj)
| Unset highlight order. More...
Efl_Canvas_Object * | elm_object_item_focus_next_object_get (const Elm_Widget_Item *obj, Elm_Focus_Direction dir)
| Get the next object with specific focus direction. More...
void | elm_object_item_focus_next_object_set (Elm_Widget_Item *obj, Efl_Canvas_Object *next, Elm_Focus_Direction dir)
| Set the next object with specific focus direction. More...
Elm_Widget_Item * | elm_object_item_focus_next_item_get (const Elm_Widget_Item *obj, Elm_Focus_Direction dir)
| Get the next object item with specific focus direction. More...
void | elm_object_item_focus_next_item_set (Elm_Widget_Item *obj, Elm_Widget_Item *next_item, Elm_Focus_Direction dir)
| Set the next object item with specific focus direction. More...

## Variables
EAPI Elm_Version * | elm_version
| Elementary Version Information.
int | ELM_ECORE_EVENT_ETHUMB_CONNECT
int | ELM_EVENT_CONFIG_ALL_CHANGED
| Emitted when the application has reconfigured elementary settings due to an external configuration tool asking it to.
int | ELM_EVENT_POLICY_CHANGED
| Emitted when any Elementary's policy value is changed.
int | ELM_EVENT_PROCESS_BACKGROUND
| Emitted when nothing is visible and the process as a whole should go into a background state. More...
int | ELM_EVENT_PROCESS_FOREGROUND
| Emitted when going from nothing being visible to at least one window being visible. More...
int | ELM_EVENT_ATSPI_BRIDGE_STATE_CHANGED
| Emitted when atspi bridge state is changed. More...
double | _elm_startup_time

## Detailed Description

General Elementary API.

Functions that don't relate to Elementary objects specifically.

Here are documented functions which init/shutdown the library, that apply to generic Elementary objects, that deal with configuration, et cetera.

This example contemplates some of these functions.

## Macro Definition Documentation

## ◆ elm_object_item_text_set

#define elm_object_item_text_set | ( |  | it,
|  |  | label
| ) |  | elm_object_item_part_text_set((it), NULL, (label))

Macro to set a label of an object item.

Parameters

  it | The Elementary object item.
  label | The new text of the label.

Note
  Elementary object items may have many labels.

Examples
  popup_example_03.c, segment_control_example.c, and web_example_02.c.

## Typedef Documentation

## ◆ Elm_Event_Atspi_Bridge_State_Changed

typedef struct _Elm_Event_Atspi_Bridge_State_Changed Elm_Event_Atspi_Bridge_State_Changed

Data on event when atspi bridge state is changed.

Since
  1.26

## ◆ Elm_Event_Cb

typedef Eina_Bool(* Elm_Event_Cb) (void *data, Evas_Object *obj, Evas_Object *src, Evas_Callback_Type type, void *event_info)

Function prototype definition for callbacks on input events happening on Elementary widgets.

data will receive the user data pointer passed to elm_object_event_callback_add(). src will be a pointer to the widget on which the input event took place. type will get the type of this event and event_info, the struct with details on this event.

## ◆ Elm_Object_Item_Signal_Cb

Elm_Object_Item_Signal_Cb

Elm_Object_Item Signal Callback functions' prototype definition.

`data` will have the auxiliary data pointer at the time the callback registration. `it` will be a pointer the Elm_Object_Item that have the edje object where the signal comes from. `emission` will identify the exact signal's emission string and `source` the exact signal's source one.

See also
  elm_object_item_signal_callback_add()

Since
  1.8

## ◆ Elm_Widget_Item

Elm_Widget_Item

An Elementary widget item handle.

This is a sub component of an Elementary widget and it is the same as Elementary object item, Elm_Object_Item. Common functions for Elementary widget item are provided on this page. Each Elementary widget also provides its own functions to use Elementary widget item. For more details about how Elementary widget item is used with Elementary widget, please refer each Elementary widget's documents.

## Enumeration Type Documentation

## ◆ Elm_Object_Select_Mode

enum Elm_Object_Select_Mode

Possible values for the selection policy of some widgets.

Since
  1.7

Enumerator
ELM_OBJECT_SELECT_MODE_DEFAULT | default select mode. Once an item is selected, it would stay highlighted and not going to call selected callback again even it was clicked. Items can get focus.
ELM_OBJECT_SELECT_MODE_ALWAYS | always select mode. Item selected callbacks will be called every time for click events, even after the item was already selected. Items can get focus.
ELM_OBJECT_SELECT_MODE_NONE | no select mode. Items will never be highlighted and selected but the size will be adjusted by the finger size configuration. Items can't get focus.
ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY | no select mode with no finger size rule. Items will never be highlighted and selected and ignore the finger size. So the item size can be reduced below than the finger size configuration. Items can't get focus.
ELM_OBJECT_SELECT_MODE_MAX | canary value: any value greater or equal to ELM_OBJECT_SELECT_MODE_MAX is forbidden.

## ◆ Elm_Input_Panel_Layout

enum Elm_Input_Panel_Layout

Input panel (virtual keyboard) layout types.

Type of input panel (virtual keyboard) to use - this is a hint and may not provide exactly what is desired.

Enumerator
ELM_INPUT_PANEL_LAYOUT_NORMAL | Default layout.
ELM_INPUT_PANEL_LAYOUT_NUMBER | Number layout.
ELM_INPUT_PANEL_LAYOUT_EMAIL | Email layout.
ELM_INPUT_PANEL_LAYOUT_URL | URL layout.
ELM_INPUT_PANEL_LAYOUT_PHONENUMBER | Phone Number layout.
ELM_INPUT_PANEL_LAYOUT_IP | IP layout.
ELM_INPUT_PANEL_LAYOUT_MONTH | Month layout.
ELM_INPUT_PANEL_LAYOUT_NUMBERONLY | Number Only layout.
ELM_INPUT_PANEL_LAYOUT_INVALID | Never use this.
ELM_INPUT_PANEL_LAYOUT_HEX | Hexadecimal layout.
ELM_INPUT_PANEL_LAYOUT_TERMINAL | Command-line terminal layout including esc, alt, ctrl key, so on (no auto-correct, no auto-capitalization).
ELM_INPUT_PANEL_LAYOUT_PASSWORD | Like normal, but no auto-correct, no auto-capitalization etc.
ELM_INPUT_PANEL_LAYOUT_DATETIME | Date and time layout.
                               @since 1.8
ELM_INPUT_PANEL_LAYOUT_EMOTICON | Emoticon layout.
                               @since 1.10
ELM_INPUT_PANEL_LAYOUT_VOICE | Voice layout, but if the IME does not support voice layout, then normal layout will be shown. Since 1.19

## ◆ Elm_Input_Panel_Lang

enum Elm_Input_Panel_Lang

Input panel (virtual keyboard) language modes.

Enumerator
ELM_INPUT_PANEL_LANG_AUTOMATIC | Automatic.
ELM_INPUT_PANEL_LANG_ALPHABET | Alphabet.

## ◆ Elm_Autocapital_Type

enum Elm_Autocapital_Type

Autocapitalization Types.

Choose method of auto-capitalization.

Enumerator
ELM_AUTOCAPITAL_TYPE_NONE | No auto-capitalization when typing.
ELM_AUTOCAPITAL_TYPE_WORD | Autocapitalize each word typed.
ELM_AUTOCAPITAL_TYPE_SENTENCE | Autocapitalize the start of each sentence.
ELM_AUTOCAPITAL_TYPE_ALLCHARACTER | Autocapitalize all letters.

## ◆ Elm_Input_Panel_Return_Key_Type

enum Elm_Input_Panel_Return_Key_Type

"Return" Key types on the input panel (virtual keyboard).

Enumerator
ELM_INPUT_PANEL_RETURN_KEY_TYPE_DEFAULT | Default.
ELM_INPUT_PANEL_RETURN_KEY_TYPE_DONE | Done.
ELM_INPUT_PANEL_RETURN_KEY_TYPE_GO | Go.
ELM_INPUT_PANEL_RETURN_KEY_TYPE_JOIN | Join.
ELM_INPUT_PANEL_RETURN_KEY_TYPE_LOGIN | Login.
ELM_INPUT_PANEL_RETURN_KEY_TYPE_NEXT | Next.
ELM_INPUT_PANEL_RETURN_KEY_TYPE_SEARCH | Search string or magnifier icon.
ELM_INPUT_PANEL_RETURN_KEY_TYPE_SEND | Send.
ELM_INPUT_PANEL_RETURN_KEY_TYPE_SIGNIN | Sign-in.
                                      @since 1.8

## ◆ Elm_Input_Hints

enum Elm_Input_Hints

Enumeration that defines the types of Input Hints.

Since
  1.12

Enumerator
ELM_INPUT_HINT_NONE | No active hints.
                       @since 1.12
ELM_INPUT_HINT_AUTO_COMPLETE | Suggest word auto completion. Since 1.12
ELM_INPUT_HINT_SENSITIVE_DATA | Typed text should not be stored. Since 1.12
ELM_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_DATE | Autofill hint for a credit card expiration date. Since 1.21
ELM_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_DAY | Autofill hint for a credit card expiration day. Since 1.21
ELM_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_MONTH | Autofill hint for a credit card expiration month. Since 1.21
ELM_INPUT_HINT_AUTOFILL_CREDIT_CARD_EXPIRATION_YEAR | Autofill hint for a credit card expiration year. Since 1.21
ELM_INPUT_HINT_AUTOFILL_CREDIT_CARD_NUMBER | Autofill hint for a credit card number. Since 1.21
ELM_INPUT_HINT_AUTOFILL_EMAIL_ADDRESS | Autofill hint for an email address. Since 1.21
ELM_INPUT_HINT_AUTOFILL_NAME | Autofill hint for a user's real name.
                                   @since 1.21
ELM_INPUT_HINT_AUTOFILL_PHONE | Autofill hint for a phone number.
                                    @since 1.21
ELM_INPUT_HINT_AUTOFILL_POSTAL_ADDRESS | Autofill hint for a postal address. Since 1.21
ELM_INPUT_HINT_AUTOFILL_POSTAL_CODE | Autofill hint for a postal code. Since 1.21
ELM_INPUT_HINT_AUTOFILL_ID | Autofill hint for a user's ID.
                                 @since 1.21

## ◆ Elm_Policy

enum Elm_Policy

Policy identifiers.

Enumerator
ELM_POLICY_QUIT | under which circumstances the application should quit automatically. See also ELM_POLICY_QUIT.
ELM_POLICY_EXIT | defines elm_exit() behaviour. See also ELM_POLICY_EXIT. Since 1.8
ELM_POLICY_THROTTLE | defines how throttling should work. See also ELM_POLICY_THROTTLE Since 1.8
ELM_POLICY_LAST | Sentinel value to indicate last enum field during iteration.

## ◆ Elm_Policy_Quit

enum Elm_Policy_Quit

Possible values for the ELM_POLICY_QUIT policy.

Enumerator
ELM_POLICY_QUIT_NONE | never quit the application automatically
ELM_POLICY_QUIT_LAST_WINDOW_CLOSED | quit when the application's last window is closed
ELM_POLICY_QUIT_LAST_WINDOW_HIDDEN | quit when the application's last window is hidden Since 1.14

## ◆ Elm_Policy_Exit

enum Elm_Policy_Exit

Possible values for the ELM_POLICY_EXIT policy.

Since
  1.8

Enumerator
ELM_POLICY_EXIT_NONE | just quit the main loop on elm_exit()
ELM_POLICY_EXIT_WINDOWS_DEL | delete all the windows after quitting the main loop

## ◆ Elm_Policy_Throttle

enum Elm_Policy_Throttle

Possible values for the ELM_POLICY_THROTTLE policy.

Since
  1.8

Enumerator
ELM_POLICY_THROTTLE_CONFIG | do whatever elementary config is configured to do
ELM_POLICY_THROTTLE_HIDDEN_ALWAYS | always throttle when all windows are no longer visible
ELM_POLICY_THROTTLE_NEVER | never throttle when windows are all hidden, regardless of config settings

## ◆ Elm_Object_Multi_Select_Mode

enum Elm_Object_Multi_Select_Mode

Possible values for the multi-selection policy of some widgets.

Since
  1.8

Enumerator
ELM_OBJECT_MULTI_SELECT_MODE_DEFAULT | default multiple select mode
ELM_OBJECT_MULTI_SELECT_MODE_WITH_CONTROL | disallow multiple selection when clicked without control key pressed
ELM_OBJECT_MULTI_SELECT_MODE_MAX | canary value: any value greater or equal to ELM_OBJECT_MULTI_SELECT_MODE_MAX is forbidden.

## ◆ Elm_Wrap_Type

enum Elm_Wrap_Type

Line wrapping types.

Type of word or character wrapping to use.

See also elm_entry_line_wrap_set, elm_popup_content_text_wrap_type_set, elm_label_line_wrap_set.

Enumerator
ELM_WRAP_NONE | No wrap - value is zero.
ELM_WRAP_CHAR | Char wrap - wrap between characters.
ELM_WRAP_WORD | Word wrap - wrap in allowed wrapping points (as defined in the unicode standard).
ELM_WRAP_MIXED | Mixed wrap - Word wrap, and if that fails, char wrap.
ELM_WRAP_LAST | Sentinel value to indicate last enum field during iteration.

## ◆ Elm_Text_Format

enum Elm_Text_Format

Text Format types.

Enumerator
ELM_TEXT_FORMAT_PLAIN_UTF8 | Plain UTF8 type.
ELM_TEXT_FORMAT_MARKUP_UTF8 | Markup UTF8 type.

## ◆ Elm_Cnp_Mode

enum Elm_Cnp_Mode

Enum of entry's copy & paste policy.

Enumerator
ELM_CNP_MODE_MARKUP | copy & paste text with markup tag
ELM_CNP_MODE_NO_IMAGE | copy & paste text without item(image) tag
ELM_CNP_MODE_PLAINTEXT | copy & paste text without markup tag

## ◆ Elm_List_Mode

enum Elm_List_Mode

Set list's resizing behavior, transverse axis scrolling and items cropping.

See each mode's description for more details.

Note
  Default value is ELM_LIST_SCROLL.

Values here don't work as bitmasks – only one can be chosen at a time.

Enumerator
ELM_LIST_COMPRESS | The list won't set any of its size hints to inform how a possible container should resize it. Then, if it's not created as a "resize object", it might end with zeroed dimensions. The list will respect the container's geometry and, if any of its items won't fit into its transverse axis, one won't be able to scroll it in that direction.
ELM_LIST_SCROLL | Default value. This is the same as ELM_LIST_COMPRESS, with the exception that if any of its items won't fit into its transverse axis, one will be able to scroll it in that direction.
ELM_LIST_LIMIT | Sets a minimum size hint on the list object, so that containers may respect it (and resize itself to fit the child properly). More specifically, a minimum size hint will be set for its transverse axis, so that the largest item in that direction fits well. This is naturally bound by the list object's maximum size hints, set externally.
ELM_LIST_EXPAND | Besides setting a minimum size on the transverse axis, just like on ELM_LIST_LIMIT, the list will set a minimum size on the longitudinal axis, trying to reserve space to all its children to be visible at a time. . This is naturally bound by the list object's maximum size hints, set externally.
ELM_LIST_LAST | Indicates error if returned by elm_list_mode_get().

## ◆ Elm_Focus_Direction

enum Elm_Focus_Direction

Enumerator
ELM_FOCUS_PREVIOUS | previous direction
ELM_FOCUS_NEXT | next direction
ELM_FOCUS_UP | up direction
ELM_FOCUS_DOWN | down direction
ELM_FOCUS_RIGHT | right direction
ELM_FOCUS_LEFT | left direction
ELM_FOCUS_LAST | last direction

## ◆ Elm_Object_Layer

enum Elm_Object_Layer

Defines couple of standard Evas_Object layers to be used with evas_object_layer_set().

Note
  whenever extending with new values, try to keep some padding to siblings so there is room for further extensions.

Enumerator
ELM_OBJECT_LAYER_BACKGROUND | where to place backgrounds
ELM_OBJECT_LAYER_DEFAULT | Evas_Object default layer (and thus for Elementary)
ELM_OBJECT_LAYER_FOCUS | where focus object visualization is
ELM_OBJECT_LAYER_TOOLTIP | where to show tooltips
ELM_OBJECT_LAYER_CURSOR | where to show cursors
ELM_OBJECT_LAYER_LAST | last layer known by Elementary

## ◆ Elm_Focus_Region_Show_Mode

enum Elm_Focus_Region_Show_Mode

How the focus region should be calculated (not related to input focus).

Enumerator
ELM_FOCUS_REGION_SHOW_WIDGET | As a widget.
ELM_FOCUS_REGION_SHOW_ITEM | As an item.

## ◆ Elm_Atspi_Bridge_State

enum Elm_Atspi_Bridge_State

Possible values for the atspi bridge state.

Since
  1.26

Enumerator
ELM_ATSPI_BRIDGE_CONNECTED | when atspi bridge is ready
ELM_ATSPI_BRIDGE_DISCONNECTED | when atspi bridge is shutdown

## ◆ Elm_Focus_Autoscroll_Mode

enum Elm_Focus_Autoscroll_Mode

Enumerator
ELM_FOCUS_AUTOSCROLL_MODE_SHOW | Directly show the focused region or item automatically.
ELM_FOCUS_AUTOSCROLL_MODE_NONE | Do not show the focused region or item automatically.
ELM_FOCUS_AUTOSCROLL_MODE_BRING_IN | Bring in the focused region or item automatically which might invole the scrolling.

## ◆ Elm_Softcursor_Mode

enum Elm_Softcursor_Mode

Enumerator
ELM_SOFTCURSOR_MODE_AUTO | Auto-detect if a software cursor should be used (default).
ELM_SOFTCURSOR_MODE_ON | Always use a softcursor.
ELM_SOFTCURSOR_MODE_OFF | Never use a softcursor.

## ◆ Elm_Slider_Indicator_Visible_Mode

enum Elm_Slider_Indicator_Visible_Mode

Enumerator
ELM_SLIDER_INDICATOR_VISIBLE_MODE_DEFAULT | show indicator on mouse down or change in slider value
ELM_SLIDER_INDICATOR_VISIBLE_MODE_ALWAYS | Always show the indicator.
ELM_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS | Show the indicator on focus.
ELM_SLIDER_INDICATOR_VISIBLE_MODE_NONE | Never show the indicator.

## ◆ Elm_Focus_Move_Policy

enum Elm_Focus_Move_Policy

Enumerator
ELM_FOCUS_MOVE_POLICY_CLICK | Move focus by mouse click or touch. Elementary focus is set on mouse click and this is checked at mouse up time. (default)
ELM_FOCUS_MOVE_POLICY_IN | Move focus by mouse in. Elementary focus is set on mouse move when the mouse pointer is moved into an object.
ELM_FOCUS_MOVE_POLICY_KEY_ONLY | Move focus by key. Elementary focus is set on key input like Left, Right, Up, Down, Tab, or Shift+Tab.

## Function Documentation

## ◆ elm_object_domain_translatable_text_part_set()

EINA_DEPRECATED void elm_object_domain_translatable_text_part_set | ( | Evas_Object * | obj,
|  | const char * | part,
|  | const char * | domain,
|  | const char * | text
| ) |  |

Set the text for an object's part, marking it as translatable.

The string to set as `text` must be the original one. Do not pass the return of `gettext()` here. Elementary will translate the string internally and set it on the object using elm_object_part_text_set(), also storing the original string so that it can be automatically translated when the language is changed with elm_language_set().

The `domain` will be stored along to find the translation in the correct catalog. It can be NULL, in which case it will use whatever domain was set by the application with `textdomain()`. This is useful in case you are building a library on top of Elementary that will have its own translatable strings, that should not be mixed with those of programs using the library.

Parameters

  obj | The object containing the text part
  part | The name of the part to set
  domain | The translation domain to use
  text | The original, non-translated text to set

Deprecated:
  Use elm_object_domain_translatable_part_text_set() instead.

References elm_object_domain_translatable_part_text_set().

## ◆ elm_object_translatable_text_part_get()

EINA_DEPRECATED const char* elm_object_translatable_text_part_get | ( | const Evas_Object * | obj,
|  | const char * | part
| ) |  |

Get the original string set as translatable for an object.

When setting translated strings, the function elm_object_part_text_get() will return the translation returned by `gettext()`. To get the original string use this function.

Parameters

  obj | The object
  part | The name of the part that was set

Returns
  The original, untranslated string

Deprecated:
  Use elm_object_translatable_part_text_get() instead.

References elm_object_translatable_part_text_get().

## ◆ elm_init()

int elm_init | ( | int | argc,
|  | char ** | argv
| ) |  |

Initialize Elementary.

Parameters

  [in] | argc | System's argument count value
  [in] | argv | System's pointer to array of argument strings

Returns
  The init counter value.

This function initializes Elementary and increments a counter of the number of calls to it. It returns the new counter's value.

Warning
  This call is exported only for use by the `ELM_MAIN()` macro. There is no need to use this if you use this macro (which is highly advisable). An elm_main() should contain the entry point code for your application, having the same prototype as elm_init(), and not being static (putting the `EAPI_MAIN` symbol in front of its type declaration is advisable). The `ELM_MAIN()` call should be placed just after it.

Example:

ELM_MAIN()
ELM_MAIN
#define ELM_MAIN()
macro to be used after the elm_main() function
Definition: elm_general.h:556

See the full example.

See also
  elm_shutdown().

References ecore_event_handler_add(), ECORE_EVENT_LOCALE_CHANGED, ECORE_EVENT_MEMORY_STATE, ecore_event_type_new(), EINA_SAFETY_ON_FALSE_GOTO, EINA_SAFETY_ON_FALSE_RETURN_VAL, eina_stringshare_add(), ELM_CNP_EVENT_SELECTION_CHANGED, ELM_EVENT_ATSPI_BRIDGE_STATE_CHANGED, elm_quicklaunch_init(), and elm_quicklaunch_sub_init().

## ◆ elm_shutdown()

int elm_shutdown | ( | void |  | ) |

Shut down Elementary.

Returns
  The init counter value.

This should be called at the end of your application, just before it ceases to do any more processing. This will clean up any permanent resources your application may have allocated via Elementary that would otherwise persist.

See also
  elm_init() for an example

Note
  elm_shutdown() will iterate main loop until all ecore_evas are freed. There is a possibility to call your ecore callbacks(timer, animator, event, job, and etc.) in elm_shutdown()

Examples
  ephysics_logo.c.

References ecore_event_handler_del(), ecore_main_loop_iterate(), eina_stringshare_del(), elm_quicklaunch_shutdown(), and elm_quicklaunch_sub_shutdown().

## ◆ elm_run()

void elm_run | ( | void |  | ) |

Run Elementary's main loop.

This call should be issued just after all initialization is completed. This function will not return until elm_exit() is called. It will keep looping, running the main (event/processing) loop for Elementary.

This function should be called once only from the same thread that initted elementary, (elm_init(), eina_init(), ...) and should never be nested. Never call it from within an instance of itself.

See also
  elm_init() for an example

Examples
  actionslider_example_01.c, bg_example_01.c, bg_example_02.c, bg_example_03.c, box_example_02.c, bubble_example_01.c, button_example_00.c, button_example_01.c, calendar_example_01.c, calendar_example_02.c, calendar_example_03.c, calendar_example_04.c, calendar_example_05.c, calendar_example_06.c, check_example_01.c, clock_example.c, codegen_example.c, colorselector_example_01.c, combobox_example_01.c, conformant_example_01.c, conformant_example_02.c, ctxpopup_example_01.c, datetime_example.c, dayselector_example.c, diskselector_example_01.c, diskselector_example_02.c, efl_thread_1.c, efl_thread_2.c, efl_thread_3.c, efl_thread_4.c, efl_thread_5.c, efl_thread_6.c, entry_example.c, ephysics_logo.c, fileselector_button_example.c, fileselector_entry_example.c, fileselector_example.c, flip_example_01.c, flipselector_example.c, frame_example_01.c, general_funcs_example.c, gengrid_example.c, genlist_example_01.c, genlist_example_02.c, genlist_example_03.c, genlist_example_04.c, genlist_example_05.c, glview_example_01.c, hover_example_01.c, hoversel_example_01.c, icon_example_01.c, image_example_01.c, index_example_01.c, index_example_02.c, inwin_example.c, label_example_01.c, layout_example_01.c, layout_example_02.c, layout_example_03.c, list_example_01.c, list_example_02.c, list_example_03.c, map_example_01.c, map_example_02.c, map_example_03.c, mapbuf_example.c, menu_example_01.c, naviframe_example.c, notify_example_01.c, panel_example_01.c, panes_example.c, photocam_example_01.c, popup_example_01.c, popup_example_02.c, popup_example_03.c, prefs_example_01.c, prefs_example_02.c, prefs_example_03.c, progressbar_example.c, radio_example_01.c, scroller_example_01.c, segment_control_example.c, separator_example_01.c, slider_example.c, slideshow_example.c, spinner_example.c, table_example_01.c, table_example_02.c, theme_example_01.c, theme_example_02.c, thumb_example_01.c, toolbar_example_01.c, toolbar_example_02.c, toolbar_example_03.c, track_example_01.c, transit_example_01.c, transit_example_02.c, transit_example_03.c, transit_example_04.c, web_example_02.c, and win_example.c.

References ecore_main_loop_begin().

## ◆ elm_exit()

void elm_exit | ( | void |  | ) |

Ask to exit Elementary's main loop.

If this call is issued, it will flag the main loop to cease processing and return back to its parent function (usually your elm_main() function). This does not mean the main loop instantly quits. So your ecore callbacks(timer, animator, event, job, and etc.) have chances to be called even after elm_exit().

See also
  elm_init() for an example. There, just after a request to close the window comes, the main loop will be left.

Note
  By using the appropriate ELM_POLICY_QUIT on your Elementary applications, you'll be able to get this function called automatically for you.

Examples
  button_example_00.c, efl_thread_3.c, efl_thread_4.c, efl_thread_5.c, fileselector_example.c, glview_example_01.c, progressbar_example.c, and win_example.c.

References efl_exit().

## ◆ elm_policy_set()

Eina_Bool elm_policy_set | ( | unsigned int | policy,
|  | int | value
| ) |  |

Set a new policy's value (for a given policy group/identifier).

Parameters

  policy | policy identifier, as in Elm_Policy.
  value | policy value, which depends on the identifier

Returns
  `EINA_TRUE` on success or `EINA_FALSE`, on error.

Elementary policies define applications' behavior, somehow. These behaviors are divided in policy groups (see Elm_Policy enumeration). This call will emit the Ecore event ELM_EVENT_POLICY_CHANGED, which can be hooked at with handlers. An Elm_Event_Policy_Changed struct will be passed, then.

Note
  Currently, we have only one policy identifier/group (ELM_POLICY_QUIT), which has two possible values.

Examples
  actionslider_example_01.c, bg_example_01.c, bg_example_02.c, bg_example_03.c, box_example_02.c, bubble_example_01.c, button_example_00.c, button_example_01.c, calendar_example_01.c, calendar_example_02.c, calendar_example_03.c, calendar_example_04.c, calendar_example_05.c, calendar_example_06.c, check_example_01.c, clock_example.c, codegen_example.c, colorselector_example_01.c, combobox_example_01.c, conformant_example_01.c, conformant_example_02.c, ctxpopup_example_01.c, datetime_example.c, dayselector_example.c, diskselector_example_01.c, diskselector_example_02.c, efl_thread_3.c, efl_thread_4.c, efl_thread_5.c, efl_thread_6.c, entry_example.c, ephysics_logo.c, fileselector_button_example.c, fileselector_entry_example.c, fileselector_example.c, flip_example_01.c, flipselector_example.c, frame_example_01.c, general_funcs_example.c, gengrid_example.c, genlist_example_01.c, genlist_example_02.c, genlist_example_03.c, genlist_example_04.c, genlist_example_05.c, glview_example_01.c, hover_example_01.c, hoversel_example_01.c, icon_example_01.c, image_example_01.c, index_example_01.c, index_example_02.c, inwin_example.c, label_example_01.c, layout_example_01.c, layout_example_02.c, layout_example_03.c, list_example_01.c, list_example_02.c, list_example_03.c, map_example_01.c, map_example_02.c, map_example_03.c, mapbuf_example.c, menu_example_01.c, naviframe_example.c, notify_example_01.c, panel_example_01.c, panes_example.c, photocam_example_01.c, popup_example_01.c, popup_example_02.c, popup_example_03.c, prefs_example_01.c, prefs_example_02.c, prefs_example_03.c, radio_example_01.c, scroller_example_01.c, segment_control_example.c, separator_example_01.c, slider_example.c, slideshow_example.c, spinner_example.c, table_example_01.c, table_example_02.c, theme_example_01.c, theme_example_02.c, thumb_example_01.c, toolbar_example_01.c, toolbar_example_02.c, toolbar_example_03.c, track_example_01.c, transit_example_01.c, transit_example_02.c, transit_example_03.c, transit_example_04.c, and web_example_02.c.

References EINA_FALSE, EINA_TRUE, ELM_POLICY_EXIT, ELM_POLICY_EXIT_WINDOWS_DEL, and ELM_POLICY_LAST.

## ◆ elm_policy_get()

int elm_policy_get | ( | unsigned int | policy | ) |

Get the policy value for given policy identifier.

Parameters

  policy | policy identifier, as in Elm_Policy.

Returns
  The currently set policy value, for that identifier. Will be `0` if `policy` passed is invalid.

References ELM_POLICY_LAST.

## ◆ elm_language_set()

void elm_language_set | ( | const char * | lang | ) |

Change the language of the current application.

The `lang` passed must be the full name of the locale to use, for example "en_US.utf8" or "es_ES@euro".

Changing language with this function will make Elementary run through all its widgets, translating strings set with elm_object_domain_translatable_part_text_set(). This way, an entire UI can have its language changed without having to restart the program.

For more complex cases, like having formatted strings that need translation, widgets will also emit a "language,changed" signal that the user can listen to and manually translate the text.

Parameters

  lang | Language to set, must be the full name of the locale

References edje_language_set(), and evas_language_reinit().

## ◆ elm_process_state_get()

Elm_Process_State elm_process_state_get | ( | void |  | ) |

The state of the process as a whole.

Since
  1.12 Get the process state as a while

Returns
  The current process state

The process may logically be some runnable state. a "foreground" application runs as normal and may be user-visible or "active" in some way. A background application is not user-visible or otherwise important and likely should release resources and not wake up often or process much.

Since
  1.12

## ◆ elm_object_part_text_set()

void elm_object_part_text_set | ( | Evas_Object * | obj,
|  | const char * | part,
|  | const char * | text
| ) |  |

Set a text of an object.

Parameters

  obj | The Elementary object
  part | The text part name to set (NULL for the default part)
  text | The new text of the part

Note
  Elementary objects may have many text parts (e.g. Action Slider)

References EINA_SAFETY_ON_NULL_RETURN.

## ◆ elm_object_part_text_get()

const char* elm_object_part_text_get | ( | const Evas_Object * | obj,
|  | const char * | part
| ) |  |

Get a text of an object.

Parameters

  obj | The Elementary object
  part | The text part name to get (NULL for the default part)

Returns
  text of the part or NULL for any error

Note
  Elementary objects may have many text parts (e.g. Action Slider)

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## ◆ elm_object_domain_translatable_part_text_set()

void elm_object_domain_translatable_part_text_set | ( | Evas_Object * | obj,
|  | const char * | part,
|  | const char * | domain,
|  | const char * | text
| ) |  |

Set the text for an object's part, marking it as translatable.

The string to set as `text` must be the original one. Do not pass the return of `gettext()` here. Elementary will translate the string internally and set it on the object using elm_object_part_text_set(), also storing the original string so that it can be automatically translated when the language is changed with elm_language_set().

The `domain` will be stored along to find the translation in the correct catalog. It can be NULL, in which case it will use whatever domain was set by the application with `textdomain()`. This is useful in case you are building a library on top of Elementary that will have its own translatable strings, that should not be mixed with those of programs using the library.

Parameters

  obj | The object containing the text part
  part | The name of the part to set
  domain | The translation domain to use
  text | The original, non-translated text to set

Since
  1.8

References EINA_SAFETY_ON_NULL_RETURN, and EINA_TRUE.

Referenced by elm_object_domain_translatable_text_part_set().

## ◆ elm_object_translatable_part_text_get()

const char* elm_object_translatable_part_text_get | ( | const Evas_Object * | obj,
|  | const char * | part
| ) |  |

Get the original string set as translatable for an object.

When setting translated strings, the function elm_object_part_text_get() will return the translation returned by `gettext()`. To get the original string use this function.

Parameters

  obj | The object
  part | The name of the part that was set

Returns
  The original, untranslated string

See also
  elm_object_translatable_part_text_set()

Since
  1.8

References EINA_SAFETY_ON_NULL_RETURN_VAL, and EINA_TRUE.

Referenced by elm_object_translatable_text_part_get().

## ◆ elm_object_domain_part_text_translatable_set()

void elm_object_domain_part_text_translatable_set | ( | Evas_Object * | obj,
|  | const char * | part,
|  | const char * | domain,
|  | Eina_Bool | translatable
| ) |  |

Mark the part text to be translatable or not.

Once you mark the part text to be translatable, the text will be translated internally regardless of elm_object_part_text_set() and elm_object_domain_translatable_part_text_set(). In other case, if you set the Elementary policy that all text will be translatable in default, you can set the part text to not be translated by calling this API.

Parameters

  obj | The object containing the text part
  part | The part name of the translatable text
  domain | The translation domain to use
  translatable | `EINA_TRUE`, the part text will be translated internally. `EINA_FALSE`, otherwise.

See also
  elm_object_domain_translatable_part_text_set()
  elm_object_part_text_set()
  elm_policy()

Since
  1.8

References EINA_SAFETY_ON_NULL_RETURN.

## ◆ elm_object_part_content_set()

void elm_object_part_content_set | ( | Evas_Object * | obj,
|  | const char * | part,
|  | Evas_Object * | content
| ) |  |

Set the content on part of a given container widget.

Parameters

  obj | The Elementary container widget
  part | The container's part name to set (some might accept `NULL` for the default part)
  content | The new content for that part

All widgets deriving from the The Elementary Container Class may hold child objects as content at given parts. This sets new content to a given part. If any object was already set as a content object in the same part, the previous object will be deleted automatically with this call. If the `content` is NULL, this call will just delete the previous object. If the If you wish to preserve it, issue elm_object_part_content_unset() on it first.

See also
  elm_object_part_content_get()

References EINA_SAFETY_ON_NULL_RETURN.

## ◆ elm_object_part_content_get()

Evas_Object* elm_object_part_content_get | ( | const Evas_Object * | obj,
|  | const char * | part
| ) |  |

Get the content on a part of a given container widget.

Parameters

  obj | The Elementary container widget
  part | The container's part name to get (some might accept `NULL` for the default part)

Returns
  content of the object at the given part or `NULL`, on errors

See also
  elm_object_part_content_set() for more details

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## ◆ elm_object_part_content_unset()

Evas_Object* elm_object_part_content_unset | ( | Evas_Object * | obj,
|  | const char * | part
| ) |  |

Unset the content on a part of a given container widget.

Parameters

  obj | The Elementary container widget
  part | The container's part name to unset (some might accept `NULL` for the default part)

Returns
  content of the object at the given part or `NULL`, on errors

See also
  elm_object_part_content_set() for more details

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## ◆ elm_object_access_info_set()

void elm_object_access_info_set | ( | Evas_Object * | obj,
|  | const char * | txt
| ) |  |

Set the text to read out when in accessibility mode.

Parameters

  obj | The object which is to be described
  txt | The text that describes the widget to people with poor or no vision

## ◆ elm_object_access_info_get()

const char* elm_object_access_info_get | ( | Evas_Object * | obj | ) |

Get the text to read out when in accessibility mode.

Parameters

  obj | The object which is to be described

Returns
  The text that describes the widget to people with poor or no vision

Since
  1.14

## ◆ elm_object_name_find()

Evas_Object* elm_object_name_find | ( | const Evas_Object * | obj,
|  | const char * | name,
|  | int | recurse
| ) |  |

Get a named object from the children.

Parameters

  obj | The parent object whose children to look at
  name | The name of the child to find
  recurse | Set to the maximum number of levels to recurse (0 == none, 1 is only look at 1 level of children etc.)

Returns
  The found object of that name, or NULL if none is found

This function searches the children (or recursively children of children and so on) of the given `obj` object looking for a child with the name of `name`. If the child is found the object is returned, or NULL is returned. You can set the name of an object with evas_object_name_set(). If the name is not unique within the child objects (or the tree is `recurse` is greater than 0) then it is undefined as to which child of that name is returned, so ensure the name is unique amongst children. If recurse is set to -1 it will recurse without limit.

## ◆ elm_object_disabled_set()

void elm_object_disabled_set | ( | Evas_Object * | obj,
|  | Eina_Bool | disabled
| ) |  |

Set the disabled state of an Elementary object.

Parameters

  obj | The Elementary object to operate on
  disabled | The state to put in in: `EINA_TRUE` for disabled, `EINA_FALSE` for enabled

Elementary objects can be disabled, in which state they won't receive input and, in general, will be themed differently from their normal state, usually greyed out. Useful for contexts where you don't want your users to interact with some of the parts of you interface.

This sets the state for the widget, either disabling it or enabling it back.

References EINA_SAFETY_ON_NULL_RETURN.

## ◆ elm_object_disabled_get()

Eina_Bool elm_object_disabled_get | ( | const Evas_Object * | obj | ) |

Get the disabled state of an Elementary object.

Parameters

  obj | The Elementary object to operate on

Returns
  `EINA_TRUE`, if the widget is disabled, `EINA_FALSE` if it's enabled (or on errors)

This gets the state of the widget, which might be enabled or disabled.

References EINA_FALSE, and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ◆ elm_object_signal_emit()

void elm_object_signal_emit | ( | Evas_Object * | obj,
|  | const char * | emission,
|  | const char * | source
| ) |  |

Send a signal to the widget edje object.

This function sends a signal to the edje object of the obj. An edje program can respond to a signal by specifying matching 'signal' and 'source' fields.

Parameters

  obj | The object
  emission | The signal's name.
  source | The signal's source.

References EINA_SAFETY_ON_NULL_RETURN.

## ◆ elm_object_signal_callback_add()

void elm_object_signal_callback_add | ( | Evas_Object * | obj,
|  | const char * | emission,
|  | const char * | source,
|  | Edje_Signal_Cb | func,
|  | void * | data
| ) |  |

Add a callback for a signal emitted by widget edje object.

This function connects a callback function to a signal emitted by the edje object of the obj. Globs can occur in either the emission or source name.

Parameters

  obj | The object
  emission | The signal's name.
  source | The signal's source.
  func | The callback function to be executed when the signal is emitted.
  data | A pointer to data to pass to the callback function.

References EINA_SAFETY_ON_NULL_RETURN.

## ◆ elm_object_signal_callback_del()

void* elm_object_signal_callback_del | ( | Evas_Object * | obj,
|  | const char * | emission,
|  | const char * | source,
|  | Edje_Signal_Cb | func
| ) |  |

Remove a signal-triggered callback from a widget edje object.

Parameters

  obj | The object handle
  emission | The signal's name.
  source | The signal's source.
  func | The callback function to be executed when the signal is emitted.

Returns
  The data pointer of the signal callback or `NULL`, on errors.

This function removes the last callback, previously attached to a signal emitted by an underlying Edje object of obj, whose parameters emission, source and `func` match exactly with those passed to a previous call to elm_object_signal_callback_add(). The data pointer that was passed to this call will be returned.

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## ◆ elm_object_event_callback_add()

void elm_object_event_callback_add | ( | Evas_Object * | obj,
|  | Elm_Event_Cb | func,
|  | const void * | data
| ) |  |

Add a callback for input events (key up, key down, mouse wheel) on a given Elementary widget.

Parameters

  obj | The widget to add an event callback on
  func | The callback function to be executed when the event happens
  data | Data to pass in to `func`

Every widget in an Elementary interface set to receive focus, with elm_object_focus_allow_set(), will propagate all of its key up, key down and mouse wheel input events up to its parent object, and so on. All of the focusable ones in this chain which had an event callback set, with this call, will be able to treat those events. There are two ways of making the propagation of these event upwards in the tree of widgets to cease:

- Just return `EINA_TRUE` on `func`. `EINA_FALSE` will mean the event was not processed, so the propagation will go on.
- The `event_info` pointer passed to `func` will contain the event's structure and, if you OR its `event_flags` inner value to `EVAS_EVENT_FLAG_ON_HOLD`, you're telling Elementary one has already handled it, thus killing the event's propagation, too.

Note
  Your event callback will be issued on those events taking place only if no other child widget of `obj` has consumed the event already.
  Not to be confused with `evas_object_event_callback_add()`, which will add event callbacks per type on general Evas objects (no event propagation infrastructure taken in account).
  Not to be confused with `elm_object_signal_callback_add()`, which will add callbacks to signals coming from a widget's theme, not input events.
  Not to be confused with `edje_object_signal_callback_add()`, which does the same as elm_object_signal_callback_add(), but directly on an Edje object.
  Not to be confused with `evas_object_smart_callback_add()`, which adds callbacks to smart objects' smart events, and not input events.

See also
  elm_object_event_callback_del()

References EINA_SAFETY_ON_NULL_RETURN.

## ◆ elm_object_event_callback_del()

void* elm_object_event_callback_del | ( | Evas_Object * | obj,
|  | Elm_Event_Cb | func,
|  | const void * | data
| ) |  |

Remove an event callback from a widget.

This function removes a callback, previously attached to event emission by the `obj`. The parameters func and data must match exactly those passed to a previous call to elm_object_event_callback_add(). The data pointer that was passed to this call will be returned.

Parameters

  obj | The object
  func | The callback function to be executed when the event is emitted.
  data | Data to pass in to the callback function.

Returns
  The data pointer

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## ◆ elm_object_orientation_mode_disabled_set()

void elm_object_orientation_mode_disabled_set | ( | Evas_Object * | obj,
|  | Eina_Bool | disabled
| ) |  |

Disable the orientation mode of a given widget.

Orientation Mode is used for widgets to change it's styles or to send signals whenever it's window degree is changed. If the orientation mode is enabled and the widget has different looks and styles for the window degree(0, 90, 180, 270), it will apply a style that is readied for the current degree, otherwise, it will send signals to it's own edje to change it's states if the style doesn't be readied.

Parameters

  obj | The Elementary object to operate on orientation mode.
  disabled | The state to put in in: `EINA_TRUE` for disabled, `EINA_FALSE` for enabled.

Since
  1.8

## ◆ elm_object_orientation_mode_disabled_get()

Eina_Bool elm_object_orientation_mode_disabled_get | ( | const Evas_Object * | obj | ) |

Get the orientation mode of a given widget.

Parameters

  obj | The Elementary widget to query for its orientation mode.

Returns
  `EINA_TRUE`, if the orientation mode is disabled, `EINA_FALSE` if the orientation mode is enabled (or on errors)

See also
  elm_object_orientation_mode_disabled_set()

Since
  1.8

References EINA_FALSE, and EINA_TRUE.

## ◆ elm_object_item_data_get()

void* elm_object_item_data_get | ( | const Elm_Object_Item * | it | ) |

Get the data associated with an object item.

Parameters

  it | The Elementary object item

Returns
  The data associated with `it`

Note
  Every elm_object_item supports this API

## ◆ elm_object_item_data_set()

void elm_object_item_data_set | ( | Elm_Object_Item * | it,
|  | void * | data
| ) |  |

Set the data associated with an object item.

Parameters

  it | The Elementary object item
  data | The data to be associated with `it`

Note
  Every elm_object_item supports this API

## ◆ elm_object_item_tooltip_window_mode_set()

Eina_Bool elm_object_item_tooltip_window_mode_set | ( | Elm_Widget_Item * | obj,
|  | Eina_Bool | disable
| ) |  |

Control size restriction state of an object's tooltip.

This function returns whether a tooltip is allowed to expand beyond its parent window's canvas. It will instead be limited only by the size of the display.

Parameters

  [in] | obj | The object.
  [in] | disable | If `true`, size restrictions are disabled

Returns
  `false` on failure, `true` on success

## ◆ elm_object_item_tooltip_window_mode_get()

Eina_Bool elm_object_item_tooltip_window_mode_get | ( | const Elm_Widget_Item * | obj | ) |

Control size restriction state of an object's tooltip.

This function returns whether a tooltip is allowed to expand beyond its parent window's canvas. It will instead be limited only by the size of the display.

Parameters

  [in] | obj | The object.

Returns
  If `true`, size restrictions are disabled

## ◆ elm_object_item_tooltip_style_set()

void elm_object_item_tooltip_style_set | ( | Elm_Widget_Item * | obj,
|  | const char * | style
| ) |  |

Control a different style for this item tooltip.

Note
  before you set a style you should define a tooltip with elm_object_item_tooltip_content_cb_set or elm_object_item_tooltip_text_set

See: elm_object_tooltip_style_set() for more details.

Parameters

  [in] | obj | The object.
  [in] | style | The theme style used/to use (default, transparent, ...)

## ◆ elm_object_item_tooltip_style_get()

const char* elm_object_item_tooltip_style_get | ( | const Elm_Widget_Item * | obj | ) |

Control a different style for this item tooltip.

Note
  before you set a style you should define a tooltip with elm_object_item_tooltip_content_cb_set or elm_object_item_tooltip_text_set

See: elm_object_tooltip_style_set() for more details.

Parameters

  [in] | obj | The object.

Returns
  The theme style used/to use (default, transparent, ...)

## ◆ elm_object_item_cursor_set()

void elm_object_item_cursor_set | ( | Elm_Widget_Item * | obj,
|  | const char * | cursor
| ) |  |

Control the type of mouse pointer/cursor decoration to be shown, when the mouse pointer is over the given item.

This function works analogously as elm_object_cursor_set(), but here the cursor's changing area is restricted to the item's area, and not the whole widget's. Note that that item cursors have precedence over widget cursors, so that a mouse over an item with custom cursor set will always show that cursor.

If this function is called twice for an object, a previously set cursor will be unset on the second call.

Parameters

  [in] | obj | The object.
  [in] | cursor | The cursor type's name

## ◆ elm_object_item_cursor_get()

const char* elm_object_item_cursor_get | ( | const Elm_Widget_Item * | obj | ) |

Control the type of mouse pointer/cursor decoration to be shown, when the mouse pointer is over the given item.

This function works analogously as elm_object_cursor_set(), but here the cursor's changing area is restricted to the item's area, and not the whole widget's. Note that that item cursors have precedence over widget cursors, so that a mouse over an item with custom cursor set will always show that cursor.

If this function is called twice for an object, a previously set cursor will be unset on the second call.

Parameters

  [in] | obj | The object.

Returns
  The cursor type's name

## ◆ elm_object_item_cursor_style_set()

void elm_object_item_cursor_style_set | ( | Elm_Widget_Item * | obj,
|  | const char * | style
| ) |  |

Control a different `style` for a given custom cursor set for an item.

This function only makes sense when one is using custom mouse cursor decorations defined in a theme file, which can have, given a cursor name/type, alternate styles on it. It works analogously as elm_object_cursor_style_set(), but here applies only to item objects.

Warning
  Before you set a cursor style you should have defined a custom cursor previously on the item, with elm_object_item_cursor_set

Parameters

  [in] | obj | The object.
  [in] | style | The theme style to use/in use (e.g. $"default", $"transparent", etc)

## ◆ elm_object_item_cursor_style_get()

const char* elm_object_item_cursor_style_get | ( | const Elm_Widget_Item * | obj | ) |

Control a different `style` for a given custom cursor set for an item.

This function only makes sense when one is using custom mouse cursor decorations defined in a theme file, which can have, given a cursor name/type, alternate styles on it. It works analogously as elm_object_cursor_style_set(), but here applies only to item objects.

Warning
  Before you set a cursor style you should have defined a custom cursor previously on the item, with elm_object_item_cursor_set

Parameters

  [in] | obj | The object.

Returns
  The theme style to use/in use (e.g. $"default", $"transparent", etc)

## ◆ elm_object_item_cursor_engine_only_set()

void elm_object_item_cursor_engine_only_set | ( | Elm_Widget_Item * | obj,
|  | Eina_Bool | engine_only
| ) |  |

Control if the (custom)cursor for a given item should be searched in its theme, also, or should only rely on the rendering engine.

Note
  This call is of use only if you've set a custom cursor for items, with elm_object_item_cursor_set.
  By default, cursors will only be looked for between those provided by the rendering engine.

Parameters

  [in] | obj | The object.
  [in] | engine_only | Use `true` to have cursors looked for only on those provided by the rendering engine, `false` to have them searched on the widget's theme, as well.

## ◆ elm_object_item_cursor_engine_only_get()

Eina_Bool elm_object_item_cursor_engine_only_get | ( | const Elm_Widget_Item * | obj | ) |

Control if the (custom)cursor for a given item should be searched in its theme, also, or should only rely on the rendering engine.

Note
  This call is of use only if you've set a custom cursor for items, with elm_object_item_cursor_set.
  By default, cursors will only be looked for between those provided by the rendering engine.

Parameters

  [in] | obj | The object.

Returns
  Use `true` to have cursors looked for only on those provided by the rendering engine, `false` to have them searched on the widget's theme, as well.

## ◆ elm_object_item_part_content_set()

void elm_object_item_part_content_set | ( | Elm_Widget_Item * | obj,
|  | const char * | part,
|  | Efl_Canvas_Object * | content
| ) |  |

Control a content of an object item.

This sets a new object to an item as a content object. If any object was already set as a content object in the same part, previous object will be deleted automatically.

Parameters

  [in] | obj | The object.
  [in] | part | The content part name (NULL for the default content)
  [in] | content | The content of the object item

## ◆ elm_object_item_part_content_get()

Efl_Canvas_Object* elm_object_item_part_content_get | ( | const Elm_Widget_Item * | obj,
|  | const char * | part
| ) |  |

Control a content of an object item.

This sets a new object to an item as a content object. If any object was already set as a content object in the same part, previous object will be deleted automatically.

Parameters

  [in] | obj | The object.
  [in] | part | The content part name (NULL for the default content)

Returns
  The content of the object item

## ◆ elm_object_item_part_text_set()

void elm_object_item_part_text_set | ( | Elm_Widget_Item * | obj,
|  | const char * | part,
|  | const char * | label
| ) |  |

Control a label of an object item.

Note
  Elementary object items may have many labels

Parameters

  [in] | obj | The object.
  [in] | part | The text part name (NULL for the default label)
  [in] | label | Text of the label

## ◆ elm_object_item_part_text_get()

const char* elm_object_item_part_text_get | ( | const Elm_Widget_Item * | obj,
|  | const char * | part
| ) |  |

Control a label of an object item.

Note
  Elementary object items may have many labels

Parameters

  [in] | obj | The object.
  [in] | part | The text part name (NULL for the default label)

Returns
  Text of the label

## ◆ elm_object_item_focus_set()

void elm_object_item_focus_set | ( | Elm_Widget_Item * | obj,
|  | Eina_Bool | focused
| ) |  |

Control the object item focused.

Parameters

  [in] | obj | The object.
  [in] | focused | The focused state

Since
  1.10

## ◆ elm_object_item_focus_get()

Eina_Bool elm_object_item_focus_get | ( | const Elm_Widget_Item * | obj | ) |

Control the object item focused.

Parameters

  [in] | obj | The object.

Returns
  The focused state

Since
  1.10

## ◆ elm_object_item_style_set()

void elm_object_item_style_set | ( | Elm_Widget_Item * | obj,
|  | const char * | style
| ) |  |

Control the style of an object item.

Parameters

  [in] | obj | The object.
  [in] | style | The style of object item

Since
  1.9

## ◆ elm_object_item_style_get()

const char* elm_object_item_style_get | ( | const Elm_Widget_Item * | obj | ) |

Control the style of an object item.

Parameters

  [in] | obj | The object.

Returns
  The style of object item

Since
  1.9

## ◆ elm_object_item_disabled_set()

void elm_object_item_disabled_set | ( | Elm_Widget_Item * | obj,
|  | Eina_Bool | disable
| ) |  |

Control the disabled state of a widget item.

Elementary object item can be disabled, in which state they won't receive input and, in general, will be themed differently from their normal state, usually greyed out. Useful for contexts where you don't want your users to interact with some of the parts of you interface.

This sets the state for the widget item, either disabling it or enabling it back.

Parameters

  [in] | obj | The object.
  [in] | disable | `true`, if the widget item is disabled, `false` if it's enabled (or on errors)

## ◆ elm_object_item_disabled_get()

Eina_Bool elm_object_item_disabled_get | ( | const Elm_Widget_Item * | obj | ) |

Control the disabled state of a widget item.

Elementary object item can be disabled, in which state they won't receive input and, in general, will be themed differently from their normal state, usually greyed out. Useful for contexts where you don't want your users to interact with some of the parts of you interface.

This sets the state for the widget item, either disabling it or enabling it back.

Parameters

  [in] | obj | The object.

Returns
  `true`, if the widget item is disabled, `false` if it's enabled (or on errors)

## ◆ elm_object_item_access_order_get()

const Eina_List* elm_object_item_access_order_get | ( | Elm_Widget_Item * | obj | ) |

Get highlight order.

Parameters

  [in] | obj | The object.

Returns
  List of evas canvas objects

Since
  1.8

## ◆ elm_object_item_access_order_set()

void elm_object_item_access_order_set | ( | Elm_Widget_Item * | obj,
|  | Eina_List * | objs
| ) |  |

Set highlight order.

Parameters

  [in] | obj | The object.
  [in] | objs | Order of objects to pass highlight

Since
  1.8

## ◆ elm_object_item_widget_get()

Efl_Canvas_Object* elm_object_item_widget_get | ( | const Elm_Widget_Item * | obj | ) |

Get the widget object's handle which contains a given item.

Note
  This returns the widget object itself that an item belongs to. Note: Every elm_object_item supports this API

Parameters

  [in] | obj | The object.

Returns
  The widget object

## ◆ elm_object_item_tooltip_text_set()

void elm_object_item_tooltip_text_set | ( | Elm_Widget_Item * | obj,
|  | const char * | text
| ) |  |

Set the text to be shown in a given object item's tooltips.

Setup the text as tooltip to object. The item can have only one tooltip, so any previous tooltip data - set with this function or elm_object_item_tooltip_content_cb_set - is removed.

See: elm_object_tooltip_text_set() for more details.

Parameters

  [in] | obj | The object.
  [in] | text | The text to set in the content.

## ◆ elm_object_item_tooltip_unset()

void elm_object_item_tooltip_unset | ( | Elm_Widget_Item * | obj | ) |

Unset tooltip from item.

Remove tooltip from item. The callback provided as del_cb to elm_object_item_tooltip_content_cb_set will be called to notify it is not used anymore.

See: elm_object_tooltip_unset() for more details. See: elm_object_item_tooltip_content_cb_set

Parameters

  [in] | obj | The object.

## ◆ elm_object_item_cursor_unset()

void elm_object_item_cursor_unset | ( | Elm_Widget_Item * | obj | ) |

Unset any custom mouse pointer/cursor decoration set to be shown, when the mouse pointer is over the given item, thus making it show the default cursor again.

Use this call to undo any custom settings on this item's cursor decoration, bringing it back to defaults (no custom style set).

See: elm_object_cursor_unset() See: elm_object_item_cursor_set

Parameters

  [in] | obj | The object.

## ◆ elm_object_item_part_content_unset()

Efl_Canvas_Object* elm_object_item_part_content_unset | ( | Elm_Widget_Item * | obj,
|  | const char * | part
| ) |  |

Unset a content of an object item.

Note
  Elementary object items may have many contents

Parameters

  [in] | obj | The object.
  [in] | part | The content part name to unset (NULL for the default content)

Returns
  Content object

## ◆ elm_object_item_signal_callback_add()

void elm_object_item_signal_callback_add | ( | Elm_Widget_Item * | obj,
|  | const char * | emission,
|  | const char * | source,
|  | Elm_Object_Item_Signal_Cb | func,
|  | void * | data
| ) |  |

Add a callback for a signal emitted by object item edje.

This function connects a callback function to a signal emitted by the edje object of the object item. Globs can occur in either the emission or source name.

Parameters

  [in] | obj | The object.
  [in] | emission | The signal's name.
  [in] | source | The signal's source.
  [in] | func | The callback function to be executed when the signal is emitted.
  [in] | data | A pointer to data to pass to the callback function.

Since
  1.8

## ◆ elm_object_item_signal_callback_del()

void* elm_object_item_signal_callback_del | ( | Elm_Widget_Item * | obj,
|  | const char * | emission,
|  | const char * | source,
|  | Elm_Object_Item_Signal_Cb | func
| ) |  |

Remove a signal-triggered callback from a object item edje object.

This function removes the last callback, previously attached to a signal emitted by an underlying Edje object of `it`, whose parameters `emission`, `source` and `func` match exactly with those passed to a previous call to elm_object_item_signal_callback_add. The data pointer that was passed to this call will be returned.

See: elm_object_item_signal_callback_add

Parameters

  [in] | obj | The object.
  [in] | emission | The signal's name.
  [in] | source | The signal's source.
  [in] | func | The callback function to be executed when the signal is emitted.

Returns
  The data pointer of the signal callback or `NULL`, on errors.

Since
  1.8

## ◆ elm_object_item_signal_emit()

void elm_object_item_signal_emit | ( | Elm_Widget_Item * | obj,
|  | const char * | emission,
|  | const char * | source
| ) |  |

Send a signal to the edje object of the widget item.

This function sends a signal to the edje object of the obj item. An edje program can respond to a signal by specifying matching 'signal' and 'source' fields. Don't use this unless you want to also handle resetting of part states to default on every unrealize in case of genlist/gengrid.

Parameters

  [in] | obj | The object.
  [in] | emission | The signal's name.
  [in] | source | The signal's source.

## ◆ elm_object_item_access_info_set()

void elm_object_item_access_info_set | ( | Elm_Widget_Item * | obj,
|  | const char * | txt
| ) |  |

Set the text to read out when in accessibility mode.

Parameters

  [in] | obj | The object.
  [in] | txt | The text that describes the widget to people with poor or no vision

## ◆ elm_object_item_access_object_get()

Efl_Canvas_Object* elm_object_item_access_object_get | ( | const Elm_Widget_Item * | obj | ) |

Get an accessible object of the object item.

Parameters

  [in] | obj | The object.

Returns
  Accessible object of the object item or NULL for any error

Since
  1.8

## ◆ elm_object_item_domain_translatable_part_text_set()

void elm_object_item_domain_translatable_part_text_set | ( | Elm_Widget_Item * | obj,
|  | const char * | part,
|  | const char * | domain,
|  | const char * | label
| ) |  |

Set the text for an object item's part, marking it as translatable.

The string to set as `text` must be the original one. Do not pass the return of `gettext()` here. Elementary will translate the string internally and set it on the object item using elm_object_item_part_text_set, also storing the original string so that it can be automatically translated when the language is changed with elm_language_set(). The `domain` will be stored along to find the translation in the correct catalog. It can be NULL, in which case it will use whatever domain was set by the application with `textdomain()`. This is useful in case you are building a library on top of Elementary that will have its own translatable strings, that should not be mixed with those of programs using the library.

Parameters

  [in] | obj | The object.
  [in] | part | The name of the part to set
  [in] | domain | The translation domain to use
  [in] | label | The original, non-translated text to set

Since
  1.8

## ◆ elm_object_item_translatable_part_text_get()

const char* elm_object_item_translatable_part_text_get | ( | const Elm_Widget_Item * | obj,
|  | const char * | part
| ) |  |

Get the original string set as translatable for an object item.

When setting translated strings, the function elm_object_item_part_text_get will return the translation returned by `gettext()`. To get the original string use this function.

Parameters

  [in] | obj | The object.
  [in] | part | The name of the part that was set

Returns
  The original, untranslated string

Since
  1.8

## ◆ elm_object_item_domain_part_text_translatable_set()

void elm_object_item_domain_part_text_translatable_set | ( | Elm_Widget_Item * | obj,
|  | const char * | part,
|  | const char * | domain,
|  | Eina_Bool | translatable
| ) |  |

Mark the part text to be translatable or not.

Once you mark the part text to be translatable, the text will be translated internally regardless of elm_object_item_part_text_set and elm_object_item_domain_translatable_part_text_set. In other case, if you set the Elementary policy that all text will be translatable in default, you can set the part text to not be translated by calling this API.

See: elm_object_item_domain_translatable_part_text_set See: elm_object_item_part_text_set See: elm_policy()

Parameters

  [in] | obj | The object.
  [in] | part | The part name of the translatable text
  [in] | domain | The translation domain to use
  [in] | translatable | `true`, the part text will be translated internally. `false`, otherwise.

Since
  1.8

## ◆ elm_object_item_track()

Efl_Canvas_Object* elm_object_item_track | ( | Elm_Widget_Item * | obj | ) |

This returns track object of the item.

Note
  This gets a rectangle object that represents the object item's internal object. If you want to check the geometry, visibility of the item, you can call the evas apis such as evas_object_geometry_get(), evas_object_visible_get() to the track object. Note that all of the widget items may/may not have the internal object so this api may return `NULL` if the widget item doesn't have it. Additionally, the widget item is managed/controlled by the widget, the widget item could be changed(moved, resized even deleted) anytime by it's own widget's decision. So please don't change the track object as well as don't keep the track object in your side as possible but get the track object at the moment you need to refer. Otherwise, you need to add some callbacks to the track object to track it's attributes changes.

Warning
  After use the track object, please call the elm_object_item_untrack() paired to elm_object_item_track definitely to free the track object properly. Don't delete the track object.

See: elm_object_item_untrack See: elm_object_item_track_get

Parameters

  [in] | obj | The object.

Returns
  The track object

Since
  1.8

## ◆ elm_object_item_untrack()

void elm_object_item_untrack | ( | Elm_Widget_Item * | obj | ) |

This retrieve the track object of the item.

Note
  This retrieves the track object that was returned from elm_object_item_track.

See: elm_object_item_track See: elm_object_item_track_get

Parameters

  [in] | obj | The object.

Since
  1.8

## ◆ elm_object_item_track_get()

int elm_object_item_track_get | ( | const Elm_Widget_Item * | obj | ) |

Get the track object reference count.

Note
  This gets the reference count for the track object. Whenever you call the elm_object_item_track, the reference count will be increased by one. Likely the reference count will be decreased again when you call the elm_object_item_untrack. Unless the reference count reaches to zero, the track object won't be deleted. So please be sure to call elm_object_item_untrack() paired to the elm_object_item_track call count.

See: elm_object_item_track See: elm_object_item_track_get

Parameters

  [in] | obj | The object.

Returns
  Track object reference count

Since
  1.8

## ◆ elm_object_item_del_cb_set()

void elm_object_item_del_cb_set | ( | Elm_Widget_Item * | obj,
|  | Evas_Smart_Cb | del_cb
| ) |  |

Set the function to be called when an item from the widget is freed.

Note
  Every elm_object_item supports this API

Parameters

  [in] | obj | The object.
  [in] | del_cb | The function called

## ◆ elm_object_item_tooltip_content_cb_set()

void elm_object_item_tooltip_content_cb_set | ( | Elm_Widget_Item * | obj,
|  | Elm_Tooltip_Item_Content_Cb | func,
|  | const void * | data,
|  | Evas_Smart_Cb | del_cb
| ) |  |

Set the content to be shown in the tooltip item.

Setup the tooltip to item. The item can have only one tooltip, so any previous tooltip data is removed. `func`(with `data`) will be called every time that need show the tooltip and it should return a valid Evas_Object. This object is then managed fully by tooltip system and is deleted when the tooltip is gone.

See: elm_object_tooltip_content_cb_set() for more details.

Parameters

  [in] | obj | The object.
  [in] | func | The function used to create the tooltip contents.
  [in] | data | What to provide to `func` as callback data/context.
  [in] | del_cb | Called when data is not needed anymore, either when another callback replaces `func`, the tooltip is unset with elm_object_item_tooltip_unset or the owner `item` dies. This callback receives as the first parameter the given `data`, and `event_info` is the item.

## ◆ elm_object_item_access_register()

Efl_Canvas_Object* elm_object_item_access_register | ( | Elm_Widget_Item * | obj | ) |

Register object item as an accessible object.

Parameters

  [in] | obj | The object.

Returns
  Accessible object of the object item or NULL for any error

Since
  1.8

## ◆ elm_object_item_access_unregister()

void elm_object_item_access_unregister | ( | Elm_Widget_Item * | obj | ) |

Unregister accessible object of the object item.

Since
  1.8

## ◆ elm_object_item_access_order_unset()

void elm_object_item_access_order_unset | ( | Elm_Widget_Item * | obj | ) |

Unset highlight order.

Since
  1.8

## ◆ elm_object_item_focus_next_object_get()

Efl_Canvas_Object* elm_object_item_focus_next_object_get | ( | const Elm_Widget_Item * | obj,
|  | Elm_Focus_Direction | dir
| ) |  |

Get the next object with specific focus direction.

Parameters

  [in] | obj | The object.
  [in] | dir | Focus direction

Returns
  Focus next object

Since
  1.16

## ◆ elm_object_item_focus_next_object_set()

void elm_object_item_focus_next_object_set | ( | Elm_Widget_Item * | obj,
|  | Efl_Canvas_Object * | next,
|  | Elm_Focus_Direction | dir
| ) |  |

Set the next object with specific focus direction.

Parameters

  [in] | obj | The object.
  [in] | next | Focus next object
  [in] | dir | Focus direction

Since
  1.16

## ◆ elm_object_item_focus_next_item_get()

Elm_Widget_Item* elm_object_item_focus_next_item_get | ( | const Elm_Widget_Item * | obj,
|  | Elm_Focus_Direction | dir
| ) |  |

Get the next object item with specific focus direction.

Parameters

  [in] | obj | The object.
  [in] | dir | Focus direction

Returns
  Focus next object item

Since
  1.16

## ◆ elm_object_item_focus_next_item_set()

void elm_object_item_focus_next_item_set | ( | Elm_Widget_Item * | obj,
|  | Elm_Widget_Item * | next_item,
|  | Elm_Focus_Direction | dir
| ) |  |

Set the next object item with specific focus direction.

Parameters

  [in] | obj | The object.
  [in] | next_item | Focus next object item
  [in] | dir | Focus direction

Since
  1.16

## Variable Documentation

## ◆ ELM_EVENT_PROCESS_BACKGROUND

int ELM_EVENT_PROCESS_BACKGROUND
| extern

Emitted when nothing is visible and the process as a whole should go into a background state.

Since
  1.12

Referenced by elm_quicklaunch_init(), and elm_quicklaunch_shutdown().

## ◆ ELM_EVENT_PROCESS_FOREGROUND

int ELM_EVENT_PROCESS_FOREGROUND
| extern

Emitted when going from nothing being visible to at least one window being visible.

Since
  1.12

Referenced by elm_quicklaunch_init(), and elm_quicklaunch_shutdown().

## ◆ ELM_EVENT_ATSPI_BRIDGE_STATE_CHANGED

int ELM_EVENT_ATSPI_BRIDGE_STATE_CHANGED
| extern

Emitted when atspi bridge state is changed.

Since
  1.26

Referenced by elm_init().