forked from enlightenment/enventor
auto_comp: optimize code.
use callback data rather than global variable.
This commit is contained in:
parent
e86b8256b6
commit
c301fab3cd
|
@ -363,11 +363,11 @@ entry_anchor_off(autocomp_data *ad)
|
|||
}
|
||||
|
||||
static void
|
||||
anchor_unfocused_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||
anchor_unfocused_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
autocomp_data *ad = g_ad;
|
||||
if (!g_ad) return;
|
||||
autocomp_data *ad = data;
|
||||
if (!ad) return;
|
||||
entry_anchor_off(ad);
|
||||
}
|
||||
|
||||
|
@ -581,11 +581,11 @@ candidate_list_show(autocomp_data *ad)
|
|||
}
|
||||
|
||||
static void
|
||||
entry_changed_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||
entry_changed_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info)
|
||||
{
|
||||
autocomp_data *ad = g_ad;
|
||||
if ((!g_ad) || (!ad->enabled)) return;
|
||||
autocomp_data *ad = data;
|
||||
if ((!ad) || (!ad->enabled)) return;
|
||||
|
||||
Elm_Entry_Change_Info *info = event_info;
|
||||
|
||||
|
@ -620,21 +620,21 @@ entry_changed_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
|||
}
|
||||
|
||||
static void
|
||||
entry_cursor_changed_manual_cb(void *data EINA_UNUSED,
|
||||
entry_cursor_changed_manual_cb(void *data,
|
||||
Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
autocomp_data *ad = g_ad;
|
||||
if (!g_ad) return;
|
||||
autocomp_data *ad = data;
|
||||
if (!ad) return;
|
||||
if (ad->anchor_visible) entry_anchor_off(ad);
|
||||
}
|
||||
|
||||
static void
|
||||
entry_cursor_changed_cb(void *data EINA_UNUSED, Evas_Object *obj,
|
||||
entry_cursor_changed_cb(void *data, Evas_Object *obj,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
autocomp_data *ad = g_ad;
|
||||
if (!g_ad) return;
|
||||
autocomp_data *ad = data;
|
||||
if (!ad) return;
|
||||
|
||||
//Update anchor position
|
||||
Evas_Coord x, y, cx, cy, cw, ch;
|
||||
|
@ -646,20 +646,20 @@ entry_cursor_changed_cb(void *data EINA_UNUSED, Evas_Object *obj,
|
|||
}
|
||||
|
||||
static void
|
||||
entry_press_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
|
||||
entry_press_cb(void *data, Evas_Object *obj EINA_UNUSED,
|
||||
void *event_info EINA_UNUSED)
|
||||
{
|
||||
autocomp_data *ad = g_ad;
|
||||
if (!g_ad) return;
|
||||
autocomp_data *ad = data;
|
||||
if (!ad) return;
|
||||
if (ad->anchor_visible) entry_anchor_off(ad);
|
||||
}
|
||||
|
||||
static void
|
||||
entry_move_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED,
|
||||
entry_move_cb(void *data, Evas *e EINA_UNUSED,
|
||||
Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
autocomp_data *ad = g_ad;
|
||||
if (!g_ad) return;
|
||||
autocomp_data *ad = data;
|
||||
if (!ad) return;
|
||||
if (ad->anchor_visible) entry_anchor_off(ad);
|
||||
}
|
||||
|
||||
|
@ -676,7 +676,7 @@ list_item_move(autocomp_data *ad, Eina_Bool up)
|
|||
if (it) elm_list_item_selected_set(it, EINA_TRUE);
|
||||
|
||||
evas_object_smart_callback_add(entry, "unfocused", anchor_unfocused_cb,
|
||||
NULL);
|
||||
ad);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -723,17 +723,14 @@ autocomp_target_set(edit_data *ed)
|
|||
if (!ed) return;
|
||||
|
||||
entry = edit_entry_get(ed);
|
||||
evas_object_smart_callback_add(entry, "changed,user", entry_changed_cb,
|
||||
NULL);
|
||||
evas_object_smart_callback_add(entry, "changed,user", entry_changed_cb, ad);
|
||||
evas_object_smart_callback_add(entry, "cursor,changed,manual",
|
||||
entry_cursor_changed_manual_cb, NULL);
|
||||
entry_cursor_changed_manual_cb, ad);
|
||||
evas_object_smart_callback_add(entry, "cursor,changed",
|
||||
entry_cursor_changed_cb, NULL);
|
||||
evas_object_smart_callback_add(entry, "unfocused", anchor_unfocused_cb,
|
||||
NULL);
|
||||
evas_object_smart_callback_add(entry, "press", entry_press_cb, NULL);
|
||||
evas_object_event_callback_add(entry, EVAS_CALLBACK_MOVE,
|
||||
entry_move_cb, NULL);
|
||||
entry_cursor_changed_cb, ad);
|
||||
evas_object_smart_callback_add(entry, "unfocused", anchor_unfocused_cb, ad);
|
||||
evas_object_smart_callback_add(entry, "press", entry_press_cb, ad);
|
||||
evas_object_event_callback_add(entry, EVAS_CALLBACK_MOVE, entry_move_cb, ad);
|
||||
|
||||
ad->anchor = elm_button_add(edit_obj_get(ed));
|
||||
ad->ed = ed;
|
||||
|
|
Loading…
Reference in New Issue