edje: Remove message_handler_set from EO
It is used to receive messages with a payload from embryo to C. This API has a function pointer, which means it would have to be manually bound, or transformed (eg. eo event). Also, prepare the change for message_send to use Eina_Value and no explicit type. This feature seems rarely used. But note that handler_set is in fact used in terminology, rage and luncher. So, if the need arises, it will have to be transformed in a proper EO way.
This commit is contained in:
parent
6058401590
commit
df4e8653c7
|
@ -97,6 +97,45 @@ EAPI void *edje_object_signal_callback_del (Evas_Object *obj, const char
|
|||
*/
|
||||
EAPI void *edje_object_signal_callback_del_full(Evas_Object *obj, const char *emission, const char *source, Edje_Signal_Cb func, void *data);
|
||||
|
||||
/**
|
||||
* @brief Sets an Edje message handler function for a given Edje object.
|
||||
*
|
||||
* 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 @ref
|
||||
* edcref "the syntax" for EDC files).
|
||||
*
|
||||
* This function associates a message handler function and the attached data
|
||||
* pointer to the object obj.
|
||||
*
|
||||
* See also @ref edje_object_message_send()
|
||||
*
|
||||
* @param[in] func The function to handle messages coming from obj
|
||||
* @param[in] data Auxiliary data to be passed to func
|
||||
*/
|
||||
EAPI void edje_object_message_handler_set(Edje_Object *obj, Edje_Message_Handler_Cb func, void *data);
|
||||
|
||||
/**
|
||||
* @brief Sends an (Edje) message to a given Edje object
|
||||
*
|
||||
* 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 @ref edcref "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().
|
||||
*
|
||||
* @param[in] type The type of message to send to obj
|
||||
* @param[in] id A identification number for the message to be sent
|
||||
* @param[in] msg The message's body, a struct depending on type
|
||||
*/
|
||||
EAPI void edje_object_message_send(Edje_Object *obj, Edje_Message_Type type, int id, void *msg);
|
||||
|
||||
/**
|
||||
* @deprecated use evas_object_size_hint_min_set() instead.
|
||||
* @brief Sets the object minimum size.
|
||||
|
|
|
@ -32,15 +32,9 @@ _edje_object_message_popornot_send(Evas_Object *obj, Edje_Message_Type type, int
|
|||
}
|
||||
|
||||
EOLIAN void
|
||||
_edje_object_message_send(Eo *obj, Edje *_pd EINA_UNUSED, Edje_Message_Type type, int id, void *msg)
|
||||
_edje_object_message_send(Eo *obj, Edje *pd EINA_UNUSED, int id, const Eina_Value *val)
|
||||
{
|
||||
_edje_object_message_popornot_send(obj, type, id, msg, EINA_FALSE);
|
||||
}
|
||||
|
||||
EOLIAN void
|
||||
_edje_object_message_handler_set(Eo *obj EINA_UNUSED, Edje *ed, Edje_Message_Handler_Cb func, void *data)
|
||||
{
|
||||
_edje_message_cb_set(ed, func, data);
|
||||
/* TODO */
|
||||
}
|
||||
|
||||
EOLIAN void
|
||||
|
@ -129,12 +123,6 @@ end:
|
|||
tmp_msgq_restart = 1;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
edje_message_signal_process(void)
|
||||
{
|
||||
_edje_message_queue_process();
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
_edje_dummy_timer(void *data EINA_UNUSED)
|
||||
{
|
||||
|
@ -887,3 +875,26 @@ _edje_message_del(Edje *ed)
|
|||
}
|
||||
}
|
||||
|
||||
/* Legacy EAPI */
|
||||
|
||||
EAPI void
|
||||
edje_object_message_send(Eo *obj, Edje_Message_Type type, int id, void *msg)
|
||||
{
|
||||
_edje_object_message_popornot_send(obj, type, id, msg, EINA_FALSE);
|
||||
}
|
||||
|
||||
EAPI void
|
||||
edje_message_signal_process(void)
|
||||
{
|
||||
_edje_message_queue_process();
|
||||
}
|
||||
|
||||
EAPI void
|
||||
edje_object_message_handler_set(Eo *obj, Edje_Message_Handler_Cb func, void *data)
|
||||
{
|
||||
Edje *ed;
|
||||
|
||||
ed = _edje_fetch(obj);
|
||||
if (!ed) return;
|
||||
_edje_message_cb_set(ed, func, data);
|
||||
}
|
||||
|
|
|
@ -461,25 +461,6 @@ class Edje.Object (Efl.Canvas.Group.Clipped, Efl.File, Efl.Container, Efl.Part,
|
|||
key: string; [[The data field's key string]]
|
||||
}
|
||||
}
|
||||
@property message_handler {
|
||||
set {
|
||||
[[Sets an Edje message handler function for a given Edje object.
|
||||
|
||||
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 \@ref edcref "the syntax" for EDC files).
|
||||
|
||||
This function associates a message handler function and the
|
||||
attached data pointer to the object obj.
|
||||
|
||||
See also @.message_send()]]
|
||||
}
|
||||
values {
|
||||
func: Edje.Message_Handler_Cb; [[The function to handle messages coming from obj]]
|
||||
data: void_ptr; [[Auxiliary data to be passed to func]]
|
||||
}
|
||||
}
|
||||
message_send {
|
||||
[[Sends an (Edje) message to a given Edje object
|
||||
|
||||
|
@ -498,10 +479,10 @@ class Edje.Object (Efl.Canvas.Group.Clipped, Efl.File, Efl.Container, Efl.Part,
|
|||
edje_object_message_handler_set().]]
|
||||
|
||||
params {
|
||||
@in type: Edje.Message_Type; [[The type of message to send to obj]]
|
||||
@in id: int; [[A identification number for the message to be sent]]
|
||||
@in msg: void_ptr; [[The message's body, a struct depending on type]]
|
||||
@in msg: const(generic_value); [[The message's payload]]
|
||||
}
|
||||
legacy: null;
|
||||
}
|
||||
signal_callback_add {
|
||||
[[Adds a callback for an arriving Edje signal, emitted by
|
||||
|
|
Loading…
Reference in New Issue