General Elementary API. 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 | 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 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 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... | |
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... | |
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 | 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... | |
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. | |
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... | |
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 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.
it | The Elementary object item. |
label | The new text of the label. |
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 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.
enum Elm_Object_Layer |
Defines couple of standard Evas_Object layers to be used with evas_object_layer_set().
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().
References elm_policy_get().
int elm_init | ( | int | argc, |
char ** | argv | ||
) |
Initialize Elementary.
[in] | argc | System's argument count value |
[in] | argv | System's pointer to array of argument strings |
This function initializes Elementary and increments a counter of the number of calls to it. It returns the new counter's value.
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:
See the full example.
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_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.
lang | Language to set, must be the full name of the locale |
const char* elm_object_access_info_get | ( | Evas_Object * | obj | ) |
Get the text to read out when in accessibility mode.
obj | The object which is to be described |
void elm_object_access_info_set | ( | Evas_Object * | obj, |
const char * | txt | ||
) |
Set the text to read out when in accessibility mode.
obj | The object which is to be described |
txt | The text that describes the widget to people with poor or no vision |
Eina_Bool elm_object_disabled_get | ( | const Evas_Object * | obj | ) |
Get the disabled state of an Elementary object.
obj | The Elementary object to operate on |
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.
void elm_object_disabled_set | ( | Evas_Object * | obj, |
Eina_Bool | disabled | ||
) |
Set the disabled state of an Elementary object.
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.
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.
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. |
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.
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 |
Referenced by 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.
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 |
References elm_object_domain_translatable_part_text_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.
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:
EINA_TRUE
on func
. EINA_FALSE
will mean the event was not processed, so the propagation will go on.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.obj
has consumed the event already.evas_object_event_callback_add()
, which will add event callbacks per type on general Evas objects (no event propagation infrastructure taken in account).elm_object_signal_callback_add()
, which will add callbacks to signals coming from a widget's theme, not input events.edje_object_signal_callback_add()
, which does the same as elm_object_signal_callback_add(), but directly on an Edje object.evas_object_smart_callback_add()
, which adds callbacks to smart objects' smart events, and not input events.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.
obj | The object |
func | The callback function to be executed when the event is emitted. |
data | Data to pass in to the callback function. |
void* elm_object_item_data_get | ( | const Elm_Object_Item * | it | ) |
Get the data associated with an object item.
it | The Elementary object item |
it
void elm_object_item_data_set | ( | Elm_Object_Item * | it, |
void * | data | ||
) |
Set the data associated with an object item.
it | The Elementary object item |
data | The data to be associated with it |
Evas_Object* elm_object_name_find | ( | const Evas_Object * | obj, |
const char * | name, | ||
int | recurse | ||
) |
Get a named object from the children.
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.) |
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.
Eina_Bool elm_object_orientation_mode_disabled_get | ( | const Evas_Object * | obj | ) |
Get the orientation mode of a given widget.
obj | The Elementary widget to query for its orientation mode. |
EINA_TRUE
, if the orientation mode is disabled, EINA_FALSE
if the orientation mode is enabled (or on errors) 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.
obj | The Elementary object to operate on orientation mode. |
disabled | The state to put in in: EINA_TRUE for disabled, EINA_FALSE for enabled. |
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.
obj | The Elementary container widget |
part | The container's part name to get (some might accept NULL for the default part) |
NULL
, on errorsvoid elm_object_part_content_set | ( | Evas_Object * | obj, |
const char * | part, | ||
Evas_Object * | content | ||
) |
Set the content on part of a given container widget.
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.
Referenced by elm_color_class_editor_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.
obj | The Elementary container widget |
part | The container's part name to unset (some might accept NULL for the default part) |
NULL
, on errorsconst char* elm_object_part_text_get | ( | const Evas_Object * | obj, |
const char * | part | ||
) |
Get a text of an object.
obj | The Elementary object |
part | The text part name to get (NULL for the default part) |
void elm_object_part_text_set | ( | Evas_Object * | obj, |
const char * | part, | ||
const char * | text | ||
) |
Set a text of an object.
obj | The Elementary object |
part | The text part name to set (NULL for the default part) |
text | The new text of the part |
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.
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. |
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.
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. |
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.
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.
obj | The object |
emission | The signal's name. |
source | The signal's source. |
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.
obj | The object |
part | The name of the part that was set |
Referenced by 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.
obj | The object |
part | The name of the part that was set |
References elm_object_translatable_part_text_get().
int elm_policy_get | ( | unsigned int | policy | ) |
Get the policy value for given policy identifier.
policy | policy identifier, as in #Elm_Policy. |
0
if policy
passed is invalid. Referenced by elm_exit().
Eina_Bool elm_policy_set | ( | unsigned int | policy, |
int | value | ||
) |
Set a new policy's value (for a given policy group/identifier).
policy | policy identifier, as in Elm_Policy. |
value | policy value, which depends on the identifier |
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.
References _Elm_Event_Policy_Changed::new_value, and _Elm_Event_Policy_Changed::old_value.
Elm_Process_State elm_process_state_get | ( | void | ) |
The state of the process as a whole.
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.
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.
int elm_shutdown | ( | void | ) |
Shut down Elementary.
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.
References elm_quicklaunch_shutdown(), and elm_quicklaunch_sub_shutdown().
int ELM_EVENT_PROCESS_BACKGROUND |
Emitted when nothing is visible and the process as a whole should go into a background state.
int ELM_EVENT_PROCESS_FOREGROUND |
Emitted when going from nothing being visible to at least one window being visible.