Functions | |
void | _edje_message_cb_set (Edje *ed, void(*func)(void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg), void *data) |
void | _edje_message_del (Edje *ed) |
void | _edje_message_free (Edje_Message *em) |
void | _edje_message_init (void) |
Edje_Message * | _edje_message_new (Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id) |
void | _edje_message_parameters_push (Edje_Message *em) |
void | _edje_message_process (Edje_Message *em) |
void | _edje_message_propornot_send (Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id, void *emsg, Eina_Bool prop) |
void | _edje_message_queue_clear (void) |
void | _edje_message_queue_process (void) |
void | _edje_message_send (Edje *ed, Edje_Queue queue, Edje_Message_Type type, int id, void *emsg) |
void | _edje_message_shutdown (void) |
EAPI void | edje_message_signal_process (void) |
Process all queued up edje messages. More... | |
EAPI void | edje_object_message_handler_set (Evas_Object *obj, Edje_Message_Handler_Cb func, void *data) |
Set an Edje message handler function for a given Edje object. More... | |
EAPI void | edje_object_message_send (Evas_Object *obj, Edje_Message_Type type, int id, void *msg) |
Send an (Edje) message to a given Edje object. More... | |
EAPI void | edje_object_message_signal_process (Evas_Object *obj) |
Process an object's message queue. More... | |
Function Documentation
void _edje_message_cb_set | ( | Edje * | ed, |
void(*)(void *data, Evas_Object *obj, Edje_Message_Type type, int id, void *msg) | func, | ||
void * | data | ||
) |
References _edje_fetch(), _edje_message_cb_set(), _Edje::data, _Edje::func, _Edje::message, and _Edje::subobjs.
Referenced by _edje_message_cb_set(), and edje_object_message_handler_set().
void _edje_message_del | ( | Edje * | ed) |
References _edje_message_free(), _Edje_Message::edje, _Edje::message, and _Edje::num.
Referenced by _edje_del(), and _edje_file_del().
void _edje_message_free | ( | Edje_Message * | em) |
References _Edje_Message_String_Set::count, _Edje_Message_Signal_Data::data, _Edje_Message_Signal::data, EDJE_MESSAGE_FLOAT, EDJE_MESSAGE_FLOAT_SET, EDJE_MESSAGE_INT, EDJE_MESSAGE_INT_SET, EDJE_MESSAGE_NONE, EDJE_MESSAGE_SIGNAL, EDJE_MESSAGE_STRING, EDJE_MESSAGE_STRING_FLOAT, EDJE_MESSAGE_STRING_FLOAT_SET, EDJE_MESSAGE_STRING_INT, EDJE_MESSAGE_STRING_INT_SET, EDJE_MESSAGE_STRING_SET, _Edje_Message_Signal_Data::free_func, _Edje_Message::msg, _Edje_Message_Signal_Data::ref, _Edje_Message_Signal::sig, _Edje_Message_Signal::src, _Edje_Message_String::str, _Edje_Message_String_Set::str, _Edje_Message_String_Int::str, _Edje_Message_String_Float::str, _Edje_Message_String_Int_Set::str, _Edje_Message_String_Float_Set::str, and _Edje_Message::type.
Referenced by _edje_message_del(), _edje_message_queue_clear(), _edje_message_queue_process(), and edje_object_message_signal_process().
void _edje_message_init | ( | void | ) |
Referenced by edje_init().
Edje_Message* _edje_message_new | ( | Edje * | ed, |
Edje_Queue | queue, | ||
Edje_Message_Type | type, | ||
int | id | ||
) |
References _Edje_Message::edje, _Edje_Message::id, _Edje::message, _Edje::num, _Edje_Message::queue, type, and _Edje_Message::type.
Referenced by _edje_message_propornot_send().
void _edje_message_parameters_push | ( | Edje_Message * | em) |
References _Edje::collection, _Edje_Message::edje, EDJE_MESSAGE_FLOAT, EDJE_MESSAGE_FLOAT_SET, EDJE_MESSAGE_INT, EDJE_MESSAGE_INT_SET, EDJE_MESSAGE_NONE, EDJE_MESSAGE_STRING, EDJE_MESSAGE_STRING_FLOAT, EDJE_MESSAGE_STRING_FLOAT_SET, EDJE_MESSAGE_STRING_INT, EDJE_MESSAGE_STRING_INT_SET, EDJE_MESSAGE_STRING_SET, _Edje_Message::id, _Edje_Message::msg, _Edje_Part_Collection::script, and _Edje_Message::type.
Referenced by _edje_message_process(), and _edje_script_only_message().
void _edje_message_process | ( | Edje_Message * | em) |
References _edje_embryo_globals_init(), _edje_embryo_script_reset(), _edje_emit_handle(), _edje_lua_script_only_message(), _edje_message_parameters_push(), _edje_script_only(), _edje_script_only_message(), _Edje::collection, _Edje::data, _Edje_Message::edje, EDJE_MESSAGE_SIGNAL, EDJE_QUEUE_APP, ERR, _Edje::file, _Edje::func, _Edje_Message::id, _Edje::L, _Edje::message, _Edje_Message::msg, _Edje::obj, _Edje_Part_Collection::part, _Edje_File::path, _Edje_Message::propagated, _Edje_Message::queue, _Edje_Part_Collection::script, and _Edje_Message::type.
Referenced by _edje_message_queue_process(), and edje_object_message_signal_process().
void _edje_message_propornot_send | ( | Edje * | ed, |
Edje_Queue | queue, | ||
Edje_Message_Type | type, | ||
int | id, | ||
void * | emsg, | ||
Eina_Bool | prop | ||
) |
References _edje_message_new(), _Edje_Message_String_Set::count, _Edje_Message_Int_Set::count, _Edje_Message_Float_Set::count, _Edje_Message_String_Int_Set::count, _Edje_Message_String_Float_Set::count, _Edje_Message_Signal::data, EDJE_MESSAGE_FLOAT, EDJE_MESSAGE_FLOAT_SET, EDJE_MESSAGE_INT, EDJE_MESSAGE_INT_SET, EDJE_MESSAGE_NONE, EDJE_MESSAGE_SIGNAL, EDJE_MESSAGE_STRING, EDJE_MESSAGE_STRING_FLOAT, EDJE_MESSAGE_STRING_FLOAT_SET, EDJE_MESSAGE_STRING_INT, EDJE_MESSAGE_STRING_INT_SET, EDJE_MESSAGE_STRING_SET, _Edje_Message::msg, _Edje_Message::propagated, _Edje_Message_Signal_Data::ref, _Edje_Message_Signal::sig, _Edje_Message_Signal::src, _Edje_Message_String::str, _Edje_Message_String_Set::str, _Edje_Message_String_Int::str, _Edje_Message_String_Float::str, _Edje_Message_String_Int_Set::str, _Edje_Message_String_Float_Set::str, _Edje_Message::type, _Edje_Message_Int::val, _Edje_Message_Float::val, _Edje_Message_Int_Set::val, _Edje_Message_Float_Set::val, _Edje_Message_String_Int::val, _Edje_Message_String_Float::val, _Edje_Message_String_Int_Set::val, and _Edje_Message_String_Float_Set::val.
Referenced by _edje_message_send().
void _edje_message_queue_clear | ( | void | ) |
References _edje_message_free(), _Edje_Message::edje, _Edje::message, and _Edje::num.
Referenced by _edje_message_shutdown().
void _edje_message_queue_process | ( | void | ) |
References _edje_del(), _edje_message_free(), _edje_message_process(), _Edje::delete_me, _Edje_Message::edje, _Edje::message, _Edje::num, _Edje::processing_messages, and WRN.
Referenced by edje_message_signal_process().
void _edje_message_send | ( | Edje * | ed, |
Edje_Queue | queue, | ||
Edje_Message_Type | type, | ||
int | id, | ||
void * | emsg | ||
) |
References _edje_message_propornot_send().
Referenced by _edje_emit_full().
void _edje_message_shutdown | ( | void | ) |
References _edje_message_queue_clear().
Referenced by edje_init().
EAPI void edje_message_signal_process | ( | void | ) |
Process all queued up edje messages.
This function triggers the processing of messages addressed to any (alive) edje objects.
References _edje_message_queue_process().
EAPI void edje_object_message_handler_set | ( | Evas_Object * | obj, |
Edje_Message_Handler_Cb | func, | ||
void * | data | ||
) |
Set an Edje message handler function for a given Edje object.
- Parameters
-
obj A handle to an Edje object func The function to handle messages coming from obj
data Auxiliary data to be passed to func
Edje messages are one of the communication interfaces between code and a given Edje object's theme. With messages, one can communicate values beyond strings (which are the subject of Edje signals – see edje_object_signal_emit()), like float and integer numbers. Moreover, messages can be identified by integer numbers. See Edje_Message_Type for the full list of message types.
For scriptable programs on an Edje object's defining EDC file which send messages with the send_message()
primitive, one can attach handler functions, to be called in the code which creates that object (see the syntax for EDC files).
This function associates a message handler function and the attached data pointer to the object obj
.
- See Also
- edje_object_message_send()
References _edje_fetch(), and _edje_message_cb_set().
EAPI void edje_object_message_send | ( | Evas_Object * | obj, |
Edje_Message_Type | type, | ||
int | id, | ||
void * | msg | ||
) |
Send an (Edje) message to a given Edje object.
- Parameters
-
obj A handle to an Edje object type The type of message to send to obj
id A identification number for the message to be sent msg The message's body, a struct depending on type
This function sends an Edje message to obj
and to all of its child objects, if it has any (swallowed objects are one kind of child object). type
and msg
must be matched accordingly, as documented in Edje_Message_Type.
The id
argument as a form of code and theme defining a common interface on message communication. One should define the same IDs on both code and EDC declaration (see the syntax for EDC files), to individualize messages (binding them to a given context).
The function to handle messages arriving from obj is set with edje_object_message_handler_set().
Referenced by _edje_emit_full().
EAPI void edje_object_message_signal_process | ( | Evas_Object * | obj) |
Process an object's message queue.
- Parameters
-
obj A handle to an Edje object.
This function goes through the object message queue processing the pending messages for this specific Edje object. Normally they'd be processed only at idle time.
References _edje_del(), _edje_fetch(), _edje_message_free(), _edje_message_process(), _Edje::delete_me, _Edje_Message::edje, _Edje::groups, _Edje::processing_messages, and WRN.