Message_Queue
These functions provide an abstraction layer between the application code and the interface, while allowing extremely flexible dynamic layouts and animations. More...
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_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. | |
EAPI void | edje_object_message_handler_set (Evas_Object *obj, Edje_Message_Handler_Cb func, void *data) |
Set the message handler function for this an object. | |
EAPI void | edje_object_message_send (Evas_Object *obj, Edje_Message_Type type, int id, void *msg) |
Send message to object. | |
EAPI void | edje_object_message_signal_process (Evas_Object *obj) |
Process an object's message queue. |
Detailed Description
These functions provide an abstraction layer between the application code and the interface, while allowing extremely flexible dynamic layouts and animations.
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_PART_TYPE_GROUP, _Edje::func, _Edje::message, _Edje_Real_Part::part, _Edje_Real_Part::swallowed_object, _Edje::table_parts, _Edje::table_parts_size, and _Edje_Part::type.
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_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_Signal::sig, _Edje_Message_Signal::src, _Edje_Message_String_Set::str, _Edje_Message_String_Int_Set::str, _Edje_Message_String_Float_Set::str, _Edje_Message_String_Int::str, _Edje_Message_String_Float::str, _Edje_Message_String::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, and _Edje_Message::type.
Referenced by _edje_message_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::queue, _Edje_Part_Collection::script, and _Edje_Message::type.
Referenced by _edje_message_queue_process(), and edje_object_message_signal_process().
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_new(), _Edje_Message_String_Float_Set::count, _Edje_Message_String_Int_Set::count, _Edje_Message_Float_Set::count, _Edje_Message_Int_Set::count, _Edje_Message_String_Set::count, 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_Signal::sig, _Edje_Message_Signal::src, _Edje_Message_String_Float_Set::str, _Edje_Message_String_Int_Set::str, _Edje_Message_String_Float::str, _Edje_Message_String_Int::str, _Edje_Message_String_Set::str, _Edje_Message_String::str, _Edje_Message::type, _Edje_Message_String_Float_Set::val, _Edje_Message_String_Int_Set::val, _Edje_Message_String_Float::val, _Edje_Message_String_Int::val, _Edje_Message_Float_Set::val, _Edje_Message_Int_Set::val, _Edje_Message_Float::val, and _Edje_Message_Int::val.
Referenced by _edje_emit(), and edje_object_message_send().
void _edje_message_shutdown | ( | void | ) |
References _edje_message_queue_clear().
Referenced by edje_init(), and edje_shutdown().
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 the message handler function for this an object.
- Parameters:
-
obj The edje object reference. func The function to handle messages. data The data to be associated to the message handler.
This function associates a message handler function and data to the edje object.
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 message to object.
- Parameters:
-
obj The edje object reference. type The type of message to send. id A identification number for the message. msg The message to be send.
This function sends messages to this object and to all of its child objects, if applicable. The function that handles messages arriving at this edje object is is set with edje_object_message_handler_set().
- See also:
- edje_object_message_handler_set()
References _edje_fetch(), _edje_message_send(), edje_object_message_send(), EDJE_PART_TYPE_GROUP, EDJE_QUEUE_SCRIPT, _Edje_Real_Part::part, _Edje_Real_Part::swallowed_object, _Edje::table_parts, _Edje::table_parts_size, and _Edje_Part::type.
Referenced by edje_object_message_send().
EAPI void edje_object_message_signal_process | ( | Evas_Object * | obj | ) |
Process an object's message queue.
- Parameters:
-
obj The edje object reference.
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::processing_messages, and WRN.