forked from enlightenment/efl
efl_ui_text: migrate to efl_ui_clickable
Summary: This now uses the efl_ui_clickable mixin. It is impossible right now to test this in the test suite, as every single configuration of the efl.ui.text object is ending up in an error. Which is not allowed in the test suite. Additionally, simulating clicks on the objects gets it into some sort of inifinite recursion when asking for cursor positions. Depends on D8823 Reviewers: zmike, segfaultxavi, cedric Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8824
This commit is contained in:
parent
8429ffba9c
commit
59dab13bfa
|
@ -7,6 +7,7 @@
|
||||||
#define EFL_ACCESS_EDITABLE_TEXT_PROTECTED
|
#define EFL_ACCESS_EDITABLE_TEXT_PROTECTED
|
||||||
#define ELM_LAYOUT_PROTECTED
|
#define ELM_LAYOUT_PROTECTED
|
||||||
#define EFL_PART_PROTECTED
|
#define EFL_PART_PROTECTED
|
||||||
|
#define EFL_UI_CLICKABLE_PROTECTED
|
||||||
|
|
||||||
#include <Elementary.h>
|
#include <Elementary.h>
|
||||||
#include <Elementary_Cursor.h>
|
#include <Elementary_Cursor.h>
|
||||||
|
@ -1412,8 +1413,8 @@ _menu_call(Evas_Object *obj)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static Eina_Bool
|
static void
|
||||||
_long_press_cb(void *data)
|
_long_press_cb(void *data, const Efl_Event *ev EINA_UNUSED)
|
||||||
{
|
{
|
||||||
EFL_UI_TEXT_DATA_GET(data, sd);
|
EFL_UI_TEXT_DATA_GET(data, sd);
|
||||||
|
|
||||||
|
@ -1427,8 +1428,6 @@ _long_press_cb(void *data)
|
||||||
|
|
||||||
sd->longpress_timer = NULL;
|
sd->longpress_timer = NULL;
|
||||||
efl_event_callback_call(data, EFL_UI_EVENT_LONGPRESSED, NULL);
|
efl_event_callback_call(data, EFL_UI_EVENT_LONGPRESSED, NULL);
|
||||||
|
|
||||||
return ECORE_CALLBACK_CANCEL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -1495,15 +1494,9 @@ _mouse_down_cb(void *data,
|
||||||
sd->downy = ev->canvas.y;
|
sd->downy = ev->canvas.y;
|
||||||
sd->long_pressed = EINA_FALSE;
|
sd->long_pressed = EINA_FALSE;
|
||||||
|
|
||||||
if (ev->button == 1)
|
|
||||||
{
|
|
||||||
ELM_SAFE_FREE(sd->longpress_timer, ecore_timer_del);
|
|
||||||
sd->longpress_timer = ecore_timer_add
|
|
||||||
(_elm_config->longpress_timeout, _long_press_cb, data);
|
|
||||||
}
|
|
||||||
/* If right button is pressed and context menu disabled is true,
|
/* If right button is pressed and context menu disabled is true,
|
||||||
* then only context menu will appear */
|
* then only context menu will appear */
|
||||||
else if (ev->button == 3 && (!_elm_config->context_menu_disabled))
|
if (ev->button == 3 && (!_elm_config->context_menu_disabled))
|
||||||
{
|
{
|
||||||
if (_elm_config->desktop_entry)
|
if (_elm_config->desktop_entry)
|
||||||
{
|
{
|
||||||
|
@ -2126,6 +2119,7 @@ _efl_ui_text_efl_object_constructor(Eo *obj, Efl_Ui_Text_Data *sd)
|
||||||
if (!elm_widget_theme_klass_get(obj))
|
if (!elm_widget_theme_klass_get(obj))
|
||||||
elm_widget_theme_klass_set(obj, "text");
|
elm_widget_theme_klass_set(obj, "text");
|
||||||
obj = efl_constructor(efl_super(obj, MY_CLASS));
|
obj = efl_constructor(efl_super(obj, MY_CLASS));
|
||||||
|
efl_event_callback_add(obj, EFL_UI_EVENT_LONGPRESSED, _long_press_cb, obj);
|
||||||
|
|
||||||
text_obj = efl_add(EFL_UI_INTERNAL_TEXT_INTERACTIVE_CLASS, obj);
|
text_obj = efl_add(EFL_UI_INTERNAL_TEXT_INTERACTIVE_CLASS, obj);
|
||||||
efl_event_callback_forwarder_add(text_obj, EFL_UI_TEXT_EVENT_CHANGED_USER, obj);
|
efl_event_callback_forwarder_add(text_obj, EFL_UI_TEXT_EVENT_CHANGED_USER, obj);
|
||||||
|
@ -2215,6 +2209,7 @@ _efl_ui_text_efl_object_finalize(Eo *obj,
|
||||||
(sd->entry_edje, EVAS_CALLBACK_MOUSE_UP, _mouse_up_cb, obj);
|
(sd->entry_edje, EVAS_CALLBACK_MOUSE_UP, _mouse_up_cb, obj);
|
||||||
evas_object_event_callback_add
|
evas_object_event_callback_add
|
||||||
(sd->entry_edje, EVAS_CALLBACK_MOUSE_MOVE, _mouse_move_cb, obj);
|
(sd->entry_edje, EVAS_CALLBACK_MOUSE_MOVE, _mouse_move_cb, obj);
|
||||||
|
efl_ui_clickable_util_bind_to_object(sd->entry_edje, obj);
|
||||||
|
|
||||||
efl_event_callback_add(obj, EFL_GFX_ENTITY_EVENT_SIZE_CHANGED,
|
efl_event_callback_add(obj, EFL_GFX_ENTITY_EVENT_SIZE_CHANGED,
|
||||||
_text_size_changed_cb, obj);
|
_text_size_changed_cb, obj);
|
||||||
|
|
Loading…
Reference in New Issue