General Elementary API. More...

Data Structures

struct  _Elm_Event_Policy_Changed
 Data on the event when an Elementary policy has changed. More...

Defines

#define ELM_MAIN()   int main(int argc, char **argv) {elm_init(argc, argv); return elm_main(argc, argv); }
 macro to be used after the elm_main() function
#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.

Typedefs

typedef struct
_Elm_Event_Policy_Changed 
Elm_Event_Policy_Changed
 Data on the event when an Elementary policy has changed.
typedef struct _Elm_Object_Item Elm_Object_Item
 An Elementary Object item handle.
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.

Enumerations

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_Policy { ELM_POLICY_QUIT }
 Policy identifiers. More...
enum  Elm_Policy_Quit {
  ELM_POLICY_QUIT_NONE = 0,
  ELM_POLICY_QUIT_LAST_WINDOW_CLOSED
}
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
}

Functions

int elm_init (int argc, char **argv)
 Initialize Elementary.
int elm_shutdown (void)
 Shut down Elementary.
void elm_run (void)
 Run Elementary's main loop.
void elm_exit (void)
 Ask to exit Elementary's main loop.
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)
 Exposed symbol used only by macros and should not be used by apps.
Eina_Bool 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)
 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).
int elm_policy_get (unsigned int policy)
 Gets the policy value for given policy identifier.
void elm_language_set (const char *lang)
 Change the language of the current application.
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 objects' part, marking it as translatable.
const char * elm_object_translatable_text_part_get (const Evas_Object *obj, const char *part)
 Gets the original string set as translatable for an object.
void elm_object_part_text_set (Evas_Object *obj, const char *part, const char *text)
 Set a text of an object.
const char * elm_object_part_text_get (const Evas_Object *obj, const char *part)
 Get a text of an object.
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.
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.
Evas_Object * elm_object_part_content_unset (Evas_Object *obj, const char *part)
 Unset the content on a part of a given container widget.
void elm_object_access_info_set (Evas_Object *obj, const char *txt)
 Set the text to read out when in accessibility mode.
Evas_Object * elm_object_name_find (const Evas_Object *obj, const char *name, int recurse)
 Get a named object from the children.
void elm_object_signal_emit (Evas_Object *obj, const char *emission, const char *source)
 Send a signal to the widget edje object.
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.
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.
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.
void * elm_object_event_callback_del (Evas_Object *obj, Elm_Event_Cb func, const void *data)
 Remove an event callback from a widget.
Evas_Object * elm_object_item_widget_get (const Elm_Object_Item *it)
 Get the widget object's handle which contains a given item.
void elm_object_item_part_content_set (Elm_Object_Item *it, const char *part, Evas_Object *content)
 Set a content of an object item.
Evas_Object * elm_object_item_part_content_get (const Elm_Object_Item *it, const char *part)
 Get a content of an object item.
Evas_Object * elm_object_item_part_content_unset (Elm_Object_Item *it, const char *part)
 Unset a content of an object item.
void elm_object_item_part_text_set (Elm_Object_Item *it, const char *part, const char *label)
 Set a label of an object item.
const char * elm_object_item_part_text_get (const Elm_Object_Item *it, const char *part)
 Get a label of an object item.
void elm_object_item_access_info_set (Elm_Object_Item *it, const char *txt)
 Set the text to read out when in accessibility mode.
void * elm_object_item_data_get (const Elm_Object_Item *it)
 Get the data associated with an object item.
void elm_object_item_data_set (Elm_Object_Item *it, void *data)
 Set the data associated with an object item.
void elm_object_item_signal_emit (Elm_Object_Item *it, const char *emission, const char *source)
 Send a signal to the edje object of the widget item.
void elm_object_item_del_cb_set (Elm_Object_Item *it, Evas_Smart_Cb del_cb)
 Set the function to be called when an item from the widget is freed.
void elm_object_item_del (Elm_Object_Item *it)
 Delete the given item.
void elm_object_item_tooltip_text_set (Elm_Object_Item *it, const char *text)
 Set the text to be shown in a given object item's tooltips.
void elm_object_item_tooltip_content_cb_set (Elm_Object_Item *it, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb)
 Set the content to be shown in the tooltip item.
void elm_object_item_tooltip_unset (Elm_Object_Item *it)
 Unset tooltip from item.
void elm_object_item_tooltip_style_set (Elm_Object_Item *it, const char *style)
 Sets a different style for this item tooltip.
const char * elm_object_item_tooltip_style_get (const Elm_Object_Item *it)
 Get the style for this item tooltip.
void elm_object_item_cursor_set (Elm_Object_Item *it, const char *cursor)
 Set the type of mouse pointer/cursor decoration to be shown, when the mouse pointer is over the given item.
void elm_object_item_cursor_unset (Elm_Object_Item *it)
 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.
void elm_object_item_cursor_style_set (Elm_Object_Item *it, const char *style)
 Set a different style for a given custom cursor set for an item.
const char * elm_object_item_cursor_style_get (const Elm_Object_Item *it)
 Get the current style set for a given item's custom cursor.
void elm_object_item_cursor_engine_only_set (Elm_Object_Item *it, Eina_Bool engine_only)
 Set if the (custom)cursor for a given item should be searched in its theme, also, or should only rely on the rendering engine.
Eina_Bool elm_object_item_cursor_engine_only_get (const Elm_Object_Item *it)
 Get if the (custom) cursor for a given item is being searched in its theme, also, or is only relying on the rendering engine.

Variables

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.

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.


Define Documentation

#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:
itThe Elementary object item.
labelThe 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.

Referenced by elm_menu_item_add().


Typedef Documentation

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.

Examples:
flipselector_example.c.

Enumeration Type Documentation

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

Enumerator:
ELM_OBJECT_SELECT_MODE_DEFAULT 

default select mode

ELM_OBJECT_SELECT_MODE_ALWAYS 

always select mode

ELM_OBJECT_SELECT_MODE_NONE 

no select mode

ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY 

no select mode with no finger size rule

enum Elm_Policy

Policy identifiers.

Enumerator:
ELM_POLICY_QUIT 

under which circumstances the application should quit automatically.

See also:
Elm_Policy_Quit.
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


Function Documentation

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:
actionslider_example_01.c, bg_example_01.c, bg_example_02.c, bg_example_03.c, button_example_00.c, clock_example.c, datetime_example.c, dayselector_example.c, diskselector_example_01.c, diskselector_example_02.c, entry_example.c, fileselector_button_example.c, fileselector_entry_example.c, fileselector_example.c, flipselector_example.c, gengrid_example.c, index_example_01.c, index_example_02.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, panes_example.c, progressbar_example.c, segment_control_example.c, slider_example.c, slideshow_example.c, spinner_example.c, toolbar_example_01.c, toolbar_example_02.c, toolbar_example_03.c, transit_example_01.c, and win_example.c.
int elm_init ( int  argc,
char **  argv 
)

Initialize Elementary.

Parameters:
[in]argcSystem's argument count value
[in]argvSystem'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:

static void
on_done(void *data, Evas_Object *obj, void *event_info)
{
   /* quit the mainloop (elm_run) */
   elm_exit();
}

EAPI_MAIN int
elm_main(int argc, char **argv)
{
   Evas_Object *win, *bg;

   win = elm_win_add(NULL, "bg-plain", ELM_WIN_BASIC);
   elm_win_title_set(win, "Bg Plain");
   evas_object_smart_callback_add(win, "delete,request", on_done, NULL);
   elm_win_autodel_set(win, EINA_TRUE);

   bg = elm_bg_add(win);
   /* allow bg to expand in x & y */
   evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
   elm_win_resize_object_add(win, bg);
   evas_object_show(bg);

   /* and now just resize the window to a size you want. normally widgets
    * will determine the initial size though */
   evas_object_resize(win, 320, 320);
   /* and show the window */
   evas_object_show(win);

   elm_run(); /* and run the program now, starting to handle all
               * events, etc. */
   elm_shutdown(); /* clean up and shut down */

   /* exit code */
   return 0;
}
ELM_MAIN()

See the full example.

See also:
elm_shutdown().

References elm_quicklaunch_init(), and elm_quicklaunch_sub_init().

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_text_part_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 to manually translate the text.

Parameters:
langLanguage to set, must be the full name of the locale
void elm_object_access_info_set ( Evas_Object *  obj,
const char *  txt 
)

Set the text to read out when in accessibility mode.

Parameters:
objThe object which is to be described
txtThe text that describes the widget to people with poor or no vision
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 objects' 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:
objThe object containing the text part
partThe name of the part to set
domainThe translation domain to use
textThe original, non-translated text to set
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:
objThe widget to add an event callback on
funcThe callback function to be executed when the event happens
dataData 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()
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:
objThe object
funcThe callback function to be executed when the event is emitted.
dataData to pass in to the callback function.
Returns:
The data pointer
void elm_object_item_access_info_set ( Elm_Object_Item it,
const char *  txt 
)

Set the text to read out when in accessibility mode.

Parameters:
itThe object item which is to be described
txtThe text that describes the widget to people with poor or no vision
Eina_Bool elm_object_item_cursor_engine_only_get ( const Elm_Object_Item it)

Get if the (custom) cursor for a given item is being searched in its theme, also, or is only relying on the rendering engine.

Parameters:
itan object item
Returns:
EINA_TRUE, if cursors are being looked for only on those provided by the rendering engine, EINA_FALSE if they are being searched on the widget's theme, as well.
See also:
elm_object_item_cursor_engine_only_set(), for more details
void elm_object_item_cursor_engine_only_set ( Elm_Object_Item it,
Eina_Bool  engine_only 
)

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

Parameters:
ititem with custom (custom) cursor already set on
engine_onlyUse EINA_TRUE to have cursors looked for only on those provided by the rendering engine, EINA_FALSE to have them searched on the widget's theme, as well.
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.
void elm_object_item_cursor_set ( Elm_Object_Item it,
const char *  cursor 
)

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

Parameters:
ititem to customize cursor on
cursorthe cursor type's name

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.

See also:
elm_object_cursor_set()
elm_object_item_cursor_get()
elm_object_item_cursor_unset()
const char* elm_object_item_cursor_style_get ( const Elm_Object_Item it)

Get the current style set for a given item's custom cursor.

Parameters:
ititem with custom cursor set.
Returns:
style the cursor style in use. If the object does not have a cursor set, then NULL is returned.
See also:
elm_object_item_cursor_style_set() for more details
void elm_object_item_cursor_style_set ( Elm_Object_Item it,
const char *  style 
)

Set a different style for a given custom cursor set for an item.

Parameters:
ititem with custom cursor set
stylethe theme style to use (e.g. "default", "transparent", etc)

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()
See also:
elm_object_item_cursor_engine_only_set()
elm_object_item_cursor_style_get()
void elm_object_item_cursor_unset ( Elm_Object_Item it)

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.

Parameters:
itthe item

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

See also:
elm_object_cursor_unset()
elm_object_item_cursor_set()
void* elm_object_item_data_get ( const Elm_Object_Item it)

Get the data associated with an object item.

Parameters:
itThe Elementary object item
Returns:
The data associated with it
Note:
Every elm_object_item supports this API

Referenced by elm_fileselector_selected_get().

void elm_object_item_data_set ( Elm_Object_Item it,
void *  data 
)

Set the data associated with an object item.

Parameters:
itThe Elementary object item
dataThe data to be associated with it
Note:
Every elm_object_item supports this API
void elm_object_item_del ( Elm_Object_Item it)

Delete the given item.

Parameters:
itThe item to be deleted.

Referenced by elm_segment_control_item_del_at().

void elm_object_item_del_cb_set ( Elm_Object_Item it,
Evas_Smart_Cb  del_cb 
)

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

Parameters:
itThe item to set the callback on
del_cbThe function called

That function will receive these parameters:

  • void * item data
  • Evas_Object * widget object
  • Elm_Object_Item * widget item
Note:
Every elm_object_item supports this API
See also:
elm_object_item_del()
Evas_Object* elm_object_item_part_content_get ( const Elm_Object_Item it,
const char *  part 
)

Get a content of an object item.

Parameters:
itThe Elementary object item
partThe content part name to unset (NULL for the default content)
Returns:
content of the object item or NULL for any error
Note:
Elementary object items may have many contents
void elm_object_item_part_content_set ( Elm_Object_Item it,
const char *  part,
Evas_Object *  content 
)

Set a content of an object item.

Parameters:
itThe Elementary object item
partThe content part name to set (NULL for the default content)
contentThe new content of the 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.

Note:
Elementary object items may have many contents
Evas_Object* elm_object_item_part_content_unset ( Elm_Object_Item it,
const char *  part 
)

Unset a content of an object item.

Parameters:
itThe Elementary object item
partThe content part name to unset (NULL for the default content)
Note:
Elementary object items may have many contents
const char* elm_object_item_part_text_get ( const Elm_Object_Item it,
const char *  part 
)

Get a label of an object item.

Parameters:
itThe Elementary object item
partThe text part name to get (NULL for the default label)
Returns:
text of the label or NULL for any error
Note:
Elementary object items may have many labels
void elm_object_item_part_text_set ( Elm_Object_Item it,
const char *  part,
const char *  label 
)

Set a label of an object item.

Parameters:
itThe Elementary object item
partThe text part name to set (NULL for the default label)
labelThe new text of the label
Note:
Elementary object items may have many labels
void elm_object_item_signal_emit ( Elm_Object_Item it,
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.

Parameters:
itThe Elementary object item
emissionThe signal's name.
sourceThe signal's source.
void elm_object_item_tooltip_content_cb_set ( Elm_Object_Item it,
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.

Parameters:
itthe object item being attached a tooltip.
functhe function used to create the tooltip contents.
datawhat to provide to func as callback data/context.
del_cbcalled 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.
See also:
elm_object_tooltip_content_cb_set() for more details.
const char* elm_object_item_tooltip_style_get ( const Elm_Object_Item it)

Get the style for this item tooltip.

Parameters:
itobject item with tooltip already set.
Returns:
style the theme style in use, defaults to "default". If the object does not have a tooltip set, then NULL is returned.
See also:
elm_object_tooltip_style_get() for more details.
elm_object_item_tooltip_style_set()

Referenced by elm_genlist_item_tooltip_style_get().

void elm_object_item_tooltip_style_set ( Elm_Object_Item it,
const char *  style 
)

Sets 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()
Parameters:
itobject item with tooltip already set.
stylethe theme style to use (default, transparent, ...)
See also:
elm_object_tooltip_style_set() for more details.
void elm_object_item_tooltip_text_set ( Elm_Object_Item it,
const char *  text 
)

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

Parameters:
itTarget item.
textThe text to set in the content.

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 also:
elm_object_tooltip_text_set() for more details.
void elm_object_item_tooltip_unset ( Elm_Object_Item it)

Unset tooltip from item.

Parameters:
itobject item to remove previously set tooltip.

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 also:
elm_object_tooltip_unset() for more details.
elm_object_item_tooltip_content_cb_set()
Evas_Object* elm_object_item_widget_get ( const Elm_Object_Item it)

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

Parameters:
itThe Elementary object item
Returns:
The widget object
Note:
This returns the widget object itself that an item belongs to.
Every elm_object_item supports this API
Evas_Object* elm_object_name_find ( const Evas_Object *  obj,
const char *  name,
int  recurse 
)

Get a named object from the children.

Parameters:
objThe parent object whose children to look at
nameThe name of the child to find
recurseSet 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.

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:
objThe Elementary container widget
partThe 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

Referenced by elm_popup_content_text_wrap_type_set(), and elm_popup_item_append().

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:
objThe Elementary container widget
partThe container's part name to set (some might accept NULL for the default part)
contentThe 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 you wish to preserve it, issue elm_object_part_content_unset() on it first.

See also:
elm_object_part_content_set()

Referenced by elm_toolbar_add().

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:
objThe Elementary container widget
partThe 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
const char* elm_object_part_text_get ( const Evas_Object *  obj,
const char *  part 
)

Get a text of an object.

Parameters:
objThe Elementary object
partThe 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)
void elm_object_part_text_set ( Evas_Object *  obj,
const char *  part,
const char *  text 
)

Set a text of an object.

Parameters:
objThe Elementary object
partThe text part name to set (NULL for the default part)
textThe new text of the part
Note:
Elementary objects may have many text parts (e.g. Action Slider)
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:
objThe object
emissionThe signal's name.
sourceThe signal's source.
funcThe callback function to be executed when the signal is emitted.
dataA pointer to data to pass in to the callback function.

Referenced by elm_popup_add().

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:
objThe object handle
emissionThe signal's name.
sourceThe signal's source.
funcThe 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 undelying 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.

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:
objThe object
emissionThe signal's name.
sourceThe signal's source.
const char* elm_object_translatable_text_part_get ( const Evas_Object *  obj,
const char *  part 
)

Gets 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:
objThe object
partThe name of the part that was set
Returns:
The original, untranslated string
int elm_policy_get ( unsigned int  policy)

Gets the policy value for given policy identifier.

Parameters:
policypolicy identifier, as in Elm_Policy.
Returns:
The currently set policy value, for that identifier. Will be 0 if policy passed is invalid.
Eina_Bool elm_policy_set ( unsigned int  policy,
int  value 
)

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

Parameters:
policypolicy identifier, as in Elm_Policy.
valuepolicy 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:
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, colorselector_example_01.c, conformant_example_01.c, ctxpopup_example_01.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, flip_example_01.c, frame_example_01.c, general_funcs_example.c, genlist_example_01.c, genlist_example_02.c, genlist_example_03.c, genlist_example_04.c, genlist_example_05.c, hover_example_01.c, hoversel_example_01.c, icon_example_01.c, image_example_01.c, inwin_example.c, label_example_01.c, layout_example_01.c, layout_example_02.c, layout_example_03.c, menu_example_01.c, notify_example_01.c, panel_example_01.c, photocam_example_01.c, popup_example_01.c, popup_example_02.c, popup_example_03.c, radio_example_01.c, scroller_example_01.c, separator_example_01.c, slideshow_example.c, table_example_01.c, table_example_02.c, theme_example_01.c, theme_example_02.c, thumb_example_01.c, transit_example_01.c, transit_example_02.c, and web_example_02.c.

References _Elm_Event_Policy_Changed::new_value, _Elm_Event_Policy_Changed::old_value, and _Elm_Event_Policy_Changed::policy.

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.

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, colorselector_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, 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, 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, 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, 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, transit_example_01.c, transit_example_02.c, web_example_02.c, and win_example.c.
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:
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, colorselector_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, 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, 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, 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, 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, transit_example_01.c, transit_example_02.c, web_example_02.c, and win_example.c.

References elm_quicklaunch_shutdown(), and elm_quicklaunch_sub_shutdown().