forked from enlightenment/enlightenment
Delete event callbacks when e_entry is deleted.
Allow apps/modules to trap a "key_down" event for e_widget_entry. SVN revision: 31311
This commit is contained in:
parent
26478b961c
commit
bd2cf1848b
|
@ -188,8 +188,8 @@ e_entry_min_size_get(Evas_Object *entry, Evas_Coord *minw, Evas_Coord *minh)
|
||||||
if ((!entry) || (!(sd = evas_object_smart_data_get(entry))))
|
if ((!entry) || (!(sd = evas_object_smart_data_get(entry))))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (minw) *minw = sd->min_width;
|
if (minw) *minw = sd->min_width;
|
||||||
if (minh) *minh = sd->height;
|
if (minh) *minh = sd->height;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -928,6 +928,15 @@ _e_entry_smart_del(Evas_Object *object)
|
||||||
|
|
||||||
if ((!object) || !(sd = evas_object_smart_data_get(object)))
|
if ((!object) || !(sd = evas_object_smart_data_get(object)))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
evas_object_event_callback_del(object, EVAS_CALLBACK_KEY_DOWN,
|
||||||
|
_e_entry_key_down_cb);
|
||||||
|
evas_object_event_callback_del(object, EVAS_CALLBACK_MOUSE_DOWN,
|
||||||
|
_e_entry_mouse_down_cb);
|
||||||
|
evas_object_event_callback_del(object, EVAS_CALLBACK_MOUSE_UP,
|
||||||
|
_e_entry_mouse_up_cb);
|
||||||
|
evas_object_event_callback_del(object, EVAS_CALLBACK_MOUSE_MOVE,
|
||||||
|
_e_entry_mouse_move_cb);
|
||||||
|
|
||||||
ecore_event_handler_del(sd->selection_handler);
|
ecore_event_handler_del(sd->selection_handler);
|
||||||
evas_object_del(sd->editable_object);
|
evas_object_del(sd->editable_object);
|
||||||
|
|
|
@ -18,7 +18,8 @@ static void _e_wid_focus_steal(void *data, Evas *e, Evas_Object *obj, void *even
|
||||||
static void _e_wid_in(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
static void _e_wid_in(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
||||||
static void _e_wid_out(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
static void _e_wid_out(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
||||||
static void _e_wid_changed_cb(void *data, Evas_Object *obj, void *event_info);
|
static void _e_wid_changed_cb(void *data, Evas_Object *obj, void *event_info);
|
||||||
|
static void _e_wid_key_down_cb(void *data, Evas_Object *obj, void *event_info);
|
||||||
|
static void _e_wid_keydown(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
||||||
|
|
||||||
/* externally accessible functions */
|
/* externally accessible functions */
|
||||||
|
|
||||||
|
@ -55,7 +56,8 @@ e_widget_entry_add(Evas *evas, char **text_location)
|
||||||
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _e_wid_focus_steal, obj);
|
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_DOWN, _e_wid_focus_steal, obj);
|
||||||
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_IN, _e_wid_in, obj);
|
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_IN, _e_wid_in, obj);
|
||||||
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_OUT, _e_wid_out, obj);
|
evas_object_event_callback_add(o, EVAS_CALLBACK_MOUSE_OUT, _e_wid_out, obj);
|
||||||
|
evas_object_event_callback_add(o, EVAS_CALLBACK_KEY_DOWN, _e_wid_keydown, obj);
|
||||||
|
|
||||||
if ((text_location) && (*text_location))
|
if ((text_location) && (*text_location))
|
||||||
e_entry_text_set(o, *text_location);
|
e_entry_text_set(o, *text_location);
|
||||||
|
|
||||||
|
@ -63,7 +65,7 @@ e_widget_entry_add(Evas *evas, char **text_location)
|
||||||
e_widget_min_size_set(obj, minw, minh);
|
e_widget_min_size_set(obj, minw, minh);
|
||||||
|
|
||||||
evas_object_smart_callback_add(o, "changed", _e_wid_changed_cb, obj);
|
evas_object_smart_callback_add(o, "changed", _e_wid_changed_cb, obj);
|
||||||
|
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -254,3 +256,9 @@ _e_wid_changed_cb(void *data, Evas_Object *obj, void *event_info)
|
||||||
|
|
||||||
e_widget_change(data);
|
e_widget_change(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_e_wid_keydown(void *data, Evas *e, Evas_Object *obj, void *event_info)
|
||||||
|
{
|
||||||
|
evas_object_smart_callback_call(data, "key_down", event_info);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue