elc_fileselector_entry, elm_bubble: porting evas smart callbacks to eo
This commit is contained in:
parent
10045491aa
commit
ca37a84db0
|
@ -43,28 +43,31 @@ static const Evas_Smart_Cb_Description _smart_callbacks[] =
|
|||
};
|
||||
#undef ELM_PRIV_FILESELECTOR_ENTRY_SIGNALS
|
||||
|
||||
#define SIG_FWD(name) \
|
||||
static void \
|
||||
_##name##_fwd(void *data, Evas_Object * obj EINA_UNUSED, void *event_info) \
|
||||
#define SIG_FWD(name, event) \
|
||||
static Eina_Bool \
|
||||
_##name##_fwd(void *data, \
|
||||
Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED, void *event_info EINA_UNUSED)\
|
||||
{ \
|
||||
evas_object_smart_callback_call(data, SIG_##name, event_info); \
|
||||
eo_do(data, eo_event_callback_call(event, event_info)); \
|
||||
\
|
||||
return EINA_TRUE; \
|
||||
}
|
||||
SIG_FWD(CHANGED)
|
||||
SIG_FWD(PRESS)
|
||||
SIG_FWD(LONGPRESSED)
|
||||
SIG_FWD(CLICKED)
|
||||
SIG_FWD(CLICKED_DOUBLE)
|
||||
SIG_FWD(FOCUSED)
|
||||
SIG_FWD(UNFOCUSED)
|
||||
SIG_FWD(SELECTION_PASTE)
|
||||
SIG_FWD(SELECTION_COPY)
|
||||
SIG_FWD(SELECTION_CUT)
|
||||
SIG_FWD(UNPRESSED)
|
||||
SIG_FWD(CHANGED, ELM_FILESELECTOR_ENTRY_EVENT_CHANGED)
|
||||
SIG_FWD(PRESS, ELM_FILESELECTOR_ENTRY_EVENT_PRESS)
|
||||
SIG_FWD(LONGPRESSED, EVAS_CLICKABLE_INTERFACE_EVENT_LONGPRESSED)
|
||||
SIG_FWD(CLICKED, EVAS_CLICKABLE_INTERFACE_EVENT_CLICKED)
|
||||
SIG_FWD(CLICKED_DOUBLE, EVAS_CLICKABLE_INTERFACE_EVENT_CLICKED_DOUBLE)
|
||||
SIG_FWD(FOCUSED, ELM_LAYOUT_EVENT_FOCUSED)
|
||||
SIG_FWD(UNFOCUSED, ELM_LAYOUT_EVENT_UNFOCUSED)
|
||||
SIG_FWD(SELECTION_PASTE, EVAS_SELECTABLE_INTERFACE_EVENT_SELECTION_PASTE)
|
||||
SIG_FWD(SELECTION_COPY, EVAS_SELECTABLE_INTERFACE_EVENT_SELECTION_COPY)
|
||||
SIG_FWD(SELECTION_CUT, EVAS_SELECTABLE_INTERFACE_EVENT_SELECTION_CUT)
|
||||
SIG_FWD(UNPRESSED, EVAS_CLICKABLE_INTERFACE_EVENT_UNPRESSED)
|
||||
#undef SIG_FWD
|
||||
|
||||
static void
|
||||
static Eina_Bool
|
||||
_FILE_CHOSEN_fwd(void *data,
|
||||
Evas_Object *obj EINA_UNUSED,
|
||||
Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED,
|
||||
void *event_info)
|
||||
{
|
||||
const char *file = event_info;
|
||||
|
@ -73,15 +76,18 @@ _FILE_CHOSEN_fwd(void *data,
|
|||
ELM_FILESELECTOR_ENTRY_DATA_GET(data, sd);
|
||||
|
||||
s = elm_entry_utf8_to_markup(file);
|
||||
if (!s) return;
|
||||
if (!s) return EINA_TRUE;
|
||||
elm_object_text_set(sd->entry, s);
|
||||
free(s);
|
||||
evas_object_smart_callback_call(data, SIG_FILE_CHOSEN, event_info);
|
||||
eo_do(data, eo_event_callback_call
|
||||
(ELM_FILESELECTOR_ENTRY_EVENT_FILE_CHOSEN, event_info));
|
||||
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
static Eina_Bool
|
||||
_ACTIVATED_fwd(void *data,
|
||||
Evas_Object *obj EINA_UNUSED,
|
||||
Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED,
|
||||
void *event_info)
|
||||
{
|
||||
const char *file;
|
||||
|
@ -90,7 +96,10 @@ _ACTIVATED_fwd(void *data,
|
|||
|
||||
file = elm_object_text_get(sd->entry);
|
||||
elm_fileselector_path_set(sd->button, file);
|
||||
evas_object_smart_callback_call(data, SIG_ACTIVATED, event_info);
|
||||
eo_do(data, eo_event_callback_call
|
||||
(ELM_FILESELECTOR_ENTRY_EVENT_ACTIVATED, event_info));
|
||||
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
|
@ -284,11 +293,11 @@ _elm_fileselector_entry_evas_object_smart_add(Eo *obj, Elm_Fileselector_Entry_Da
|
|||
elm_fileselector_expandable_set
|
||||
(priv->button, _elm_config->fileselector_expand_enable);
|
||||
|
||||
#define SIG_FWD(name) \
|
||||
evas_object_smart_callback_add(priv->button, SIG_##name, _##name##_fwd, obj)
|
||||
SIG_FWD(CLICKED);
|
||||
SIG_FWD(UNPRESSED);
|
||||
SIG_FWD(FILE_CHOSEN);
|
||||
#define SIG_FWD(name, event) \
|
||||
eo_do(priv->button, eo_event_callback_add(event, _##name##_fwd, obj))
|
||||
SIG_FWD(CLICKED, EVAS_CLICKABLE_INTERFACE_EVENT_CLICKED);
|
||||
SIG_FWD(UNPRESSED, EVAS_CLICKABLE_INTERFACE_EVENT_UNPRESSED);
|
||||
SIG_FWD(FILE_CHOSEN, ELM_FILESELECTOR_ENTRY_EVENT_FILE_CHOSEN);
|
||||
#undef SIG_FWD
|
||||
|
||||
priv->entry = elm_entry_add(obj);
|
||||
|
@ -298,19 +307,19 @@ _elm_fileselector_entry_evas_object_smart_add(Eo *obj, Elm_Fileselector_Entry_Da
|
|||
elm_entry_single_line_set(priv->entry, EINA_TRUE);
|
||||
elm_entry_editable_set(priv->entry, EINA_TRUE);
|
||||
|
||||
#define SIG_FWD(name) \
|
||||
evas_object_smart_callback_add(priv->entry, SIG_##name, _##name##_fwd, obj)
|
||||
SIG_FWD(CHANGED);
|
||||
SIG_FWD(ACTIVATED);
|
||||
SIG_FWD(PRESS);
|
||||
SIG_FWD(LONGPRESSED);
|
||||
SIG_FWD(CLICKED);
|
||||
SIG_FWD(CLICKED_DOUBLE);
|
||||
SIG_FWD(FOCUSED);
|
||||
SIG_FWD(UNFOCUSED);
|
||||
SIG_FWD(SELECTION_PASTE);
|
||||
SIG_FWD(SELECTION_COPY);
|
||||
SIG_FWD(SELECTION_CUT);
|
||||
#define SIG_FWD(name, event) \
|
||||
eo_do(priv->entry, eo_event_callback_add(event, _##name##_fwd, obj))
|
||||
SIG_FWD(CHANGED, ELM_FILESELECTOR_ENTRY_EVENT_CHANGED);
|
||||
SIG_FWD(ACTIVATED, ELM_FILESELECTOR_ENTRY_EVENT_ACTIVATED);
|
||||
SIG_FWD(PRESS, ELM_FILESELECTOR_ENTRY_EVENT_PRESS);
|
||||
SIG_FWD(LONGPRESSED, EVAS_CLICKABLE_INTERFACE_EVENT_LONGPRESSED);
|
||||
SIG_FWD(CLICKED, EVAS_CLICKABLE_INTERFACE_EVENT_CLICKED);
|
||||
SIG_FWD(CLICKED_DOUBLE, EVAS_CLICKABLE_INTERFACE_EVENT_CLICKED_DOUBLE);
|
||||
SIG_FWD(FOCUSED, ELM_LAYOUT_EVENT_FOCUSED);
|
||||
SIG_FWD(UNFOCUSED, ELM_LAYOUT_EVENT_UNFOCUSED);
|
||||
SIG_FWD(SELECTION_PASTE, EVAS_SELECTABLE_INTERFACE_EVENT_SELECTION_PASTE);
|
||||
SIG_FWD(SELECTION_COPY, EVAS_SELECTABLE_INTERFACE_EVENT_SELECTION_COPY);
|
||||
SIG_FWD(SELECTION_CUT, EVAS_SELECTABLE_INTERFACE_EVENT_SELECTION_CUT);
|
||||
#undef SIG_FWD
|
||||
|
||||
if (!elm_layout_theme_set
|
||||
|
|
|
@ -70,7 +70,7 @@ _on_mouse_up(void *data,
|
|||
if (ev->event_flags & EVAS_EVENT_FLAG_ON_HOLD)
|
||||
return;
|
||||
|
||||
evas_object_smart_callback_call(data, SIG_CLICKED, NULL);
|
||||
eo_do(data, eo_event_callback_call(EVAS_CLICKABLE_INTERFACE_EVENT_CLICKED, NULL));
|
||||
}
|
||||
|
||||
/* overriding layout's focus_next() in order to just cycle through the
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
class Elm.Fileselector_Entry (Elm.Layout, Elm_Interface_Fileselector)
|
||||
class Elm.Fileselector_Entry (Elm.Layout, Elm_Interface_Fileselector,
|
||||
Evas.Clickable_Interface, Evas.Selectable_Interface)
|
||||
{
|
||||
eo_prefix: elm_obj_fileselector_entry;
|
||||
methods {
|
||||
|
@ -122,6 +123,9 @@ class Elm.Fileselector_Entry (Elm.Layout, Elm_Interface_Fileselector)
|
|||
language,changed;
|
||||
access,changed;
|
||||
changed;
|
||||
activated;
|
||||
file,chosen;
|
||||
press;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -3731,15 +3731,15 @@ _elm_scroll_pan_resized_cb(void *data,
|
|||
}
|
||||
|
||||
/* even external pan objects get this */
|
||||
static void
|
||||
static Eina_Bool
|
||||
_elm_scroll_pan_changed_cb(void *data,
|
||||
Evas_Object *obj EINA_UNUSED,
|
||||
Eo *obj EINA_UNUSED, const Eo_Event_Description *desc EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
Evas_Coord w = 0, h = 0;
|
||||
Elm_Scrollable_Smart_Interface_Data *sid = data;
|
||||
|
||||
if (!sid->pan_obj) return;
|
||||
if (!sid->pan_obj) return EINA_TRUE;
|
||||
|
||||
eo_do(sid->pan_obj, elm_obj_pan_content_size_get(&w, &h));
|
||||
if ((w != sid->content_info.w) || (h != sid->content_info.h))
|
||||
|
@ -3753,6 +3753,8 @@ _elm_scroll_pan_changed_cb(void *data,
|
|||
sid->content_info.resized = EINA_TRUE;
|
||||
_elm_scroll_wanted_region_set(sid->obj);
|
||||
}
|
||||
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
static void
|
||||
|
@ -3794,8 +3796,8 @@ _elm_interface_scrollable_content_set(Eo *obj, Elm_Scrollable_Smart_Interface_Da
|
|||
{
|
||||
o = _elm_pan_add(evas_object_evas_get(obj));
|
||||
sid->pan_obj = o;
|
||||
evas_object_smart_callback_add
|
||||
(o, SIG_CHANGED, _elm_scroll_pan_changed_cb, sid);
|
||||
eo_do(o, eo_event_callback_add
|
||||
(ELM_PAN_EVENT_CHANGED, _elm_scroll_pan_changed_cb, sid));
|
||||
evas_object_event_callback_add(o, EVAS_CALLBACK_RESIZE,
|
||||
_elm_scroll_pan_resized_cb, sid);
|
||||
edje_object_part_swallow(sid->edje_obj, "elm.swallow.content", o);
|
||||
|
@ -3822,8 +3824,8 @@ _elm_interface_scrollable_extern_pan_set(Eo *obj, Elm_Scrollable_Smart_Interface
|
|||
|
||||
if (sid->pan_obj)
|
||||
{
|
||||
evas_object_smart_callback_del
|
||||
(sid->pan_obj, SIG_CHANGED, _elm_scroll_pan_changed_cb);
|
||||
eo_do(sid->pan_obj, eo_event_callback_del(
|
||||
ELM_PAN_EVENT_CHANGED, _elm_scroll_pan_changed_cb, sid));
|
||||
evas_object_event_callback_del(sid->pan_obj, EVAS_CALLBACK_RESIZE,
|
||||
_elm_scroll_pan_resized_cb);
|
||||
}
|
||||
|
@ -3850,8 +3852,8 @@ _elm_interface_scrollable_extern_pan_set(Eo *obj, Elm_Scrollable_Smart_Interface
|
|||
sid->pan_obj = pan;
|
||||
|
||||
sid->extern_pan = EINA_TRUE;
|
||||
evas_object_smart_callback_add
|
||||
(sid->pan_obj, SIG_CHANGED, _elm_scroll_pan_changed_cb, sid);
|
||||
eo_do(sid->pan_obj, eo_event_callback_add
|
||||
(ELM_PAN_EVENT_CHANGED, _elm_scroll_pan_changed_cb, sid));
|
||||
evas_object_event_callback_add(sid->pan_obj, EVAS_CALLBACK_RESIZE,
|
||||
_elm_scroll_pan_resized_cb, sid);
|
||||
edje_object_part_swallow
|
||||
|
|
Loading…
Reference in New Issue