summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2019-02-27 14:01:05 -0500
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2019-02-27 20:19:29 +0100
commit0aaae8208e458a7946376e4dcddf03e071021722 (patch)
treecaf271c0b271147c2b070a8cb2373e46408ea57a
parent29e6d1d364856be926e285e53155c49d4b57bd7b (diff)
downloadefl-0aaae8208e458a7946376e4dcddf03e071021722.tar.gz
efl_ui_widget: make interest_region_mode legacy
summary_: interest_region_mode makes it possible, that interest_region_get either returns WIDGET or ITEM coordinates. However, efl-api does not have items. That means, this can be legacy. ref T7553 Depends on D8026 Reviewers: woohyun, cedric, Jaehyun_Cho, zmike, segfaultxavi Reviewed By: segfaultxavi Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T7553 Reviewed-by: Xavi Artigas <xavierartigas@yahoo.es> Differential Revision: https://phab.enlightenment.org/D8027
-rw-r--r--src/lib/elementary/efl_ui.eot7
-rw-r--r--src/lib/elementary/efl_ui_widget.c12
-rw-r--r--src/lib/elementary/efl_ui_widget.eo20
-rw-r--r--src/lib/elementary/elm_general.h9
-rw-r--r--src/lib/elementary/elm_main.c14
-rw-r--r--src/lib/elementary/elm_widget_gengrid.h2
6 files changed, 20 insertions, 44 deletions
diff --git a/src/lib/elementary/efl_ui.eot b/src/lib/elementary/efl_ui.eot
index ce17980e56..ea61daf86c 100644
--- a/src/lib/elementary/efl_ui.eot
+++ b/src/lib/elementary/efl_ui.eot
@@ -23,13 +23,6 @@ enum Efl.Ui.Focus.Direction
last = 6 [[ last direction ]]
}
-enum Efl.Ui.Interest_Region_Mode
-{
- [[Focus region show mode.]]
- widget, [[As a widget.]]
- item, [[As an item.]]
-}
-
enum Efl.Ui.Focus.Move_Policy
{
[[Focus Movement Policy.
diff --git a/src/lib/elementary/efl_ui_widget.c b/src/lib/elementary/efl_ui_widget.c
index 614b4219b6..f8ead14608 100644
--- a/src/lib/elementary/efl_ui_widget.c
+++ b/src/lib/elementary/efl_ui_widget.c
@@ -3342,18 +3342,6 @@ _efl_ui_widget_focus_highlight_geometry_get(const Eo *obj, Elm_Widget_Smart_Data
return r;
}
-EOLIAN static void
-_efl_ui_widget_interest_region_mode_set(Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *_pd, Elm_Focus_Region_Show_Mode mode)
-{
- _pd->focus_region_show_mode = mode;
-}
-
-EOLIAN static Elm_Focus_Region_Show_Mode
-_efl_ui_widget_interest_region_mode_get(const Eo *obj EINA_UNUSED, Elm_Widget_Smart_Data *_pd)
-{
- return _pd->focus_region_show_mode;
-}
-
EAPI void
elm_widget_activate(Evas_Object *obj, Efl_Ui_Activate act)
{
diff --git a/src/lib/elementary/efl_ui_widget.eo b/src/lib/elementary/efl_ui_widget.eo
index 2e1e82ff26..619a9dd863 100644
--- a/src/lib/elementary/efl_ui_widget.eo
+++ b/src/lib/elementary/efl_ui_widget.eo
@@ -360,8 +360,6 @@ abstract @beta Efl.Ui.Widget extends Efl.Canvas.Group implements Efl.Access.Obje
i.e. X,Y start from 0,0 to indicate the top-left corner of the
widget. W,H must be greater or equal to 1 for this region to be
taken into account, otherwise it is ignored.
-
- See also @.interest_region_mode
]]
get {
legacy: elm_widget_focus_region_get;
@@ -372,24 +370,6 @@ abstract @beta Efl.Ui.Widget extends Efl.Canvas.Group implements Efl.Access.Obje
will be ignored, and no action will be taken.]]
}
}
- @property interest_region_mode {
- [[Defines how @.interest_region should be calculated.
-
- It is up to the implementation of @.interest_region.get to take this
- value into account (or ignore it).
- ]]
- get {
- legacy: elm_widget_focus_region_show_mode_get;
- }
- set {
- legacy: elm_widget_focus_region_show_mode_set;
- }
- values {
- mode: Efl.Ui.Interest_Region_Mode;
- [[Whether to show a specific item or the widget as a whole.]]
- }
- }
-
/* Focus highlight (visual focus rectangle) properties */
@property focus_highlight_geometry @protected {
[[The rectangle region to be highlighted on focus.
diff --git a/src/lib/elementary/elm_general.h b/src/lib/elementary/elm_general.h
index a8b63d7494..4e7a235a9c 100644
--- a/src/lib/elementary/elm_general.h
+++ b/src/lib/elementary/elm_general.h
@@ -50,9 +50,12 @@ typedef enum
} Elm_Object_Layer;
/** How the focus region should be calculated (not related to input focus). */
-typedef Efl_Ui_Interest_Region_Mode Elm_Focus_Region_Show_Mode;
-#define ELM_FOCUS_REGION_SHOW_WIDGET EFL_UI_INTEREST_REGION_MODE_WIDGET
-#define ELM_FOCUS_REGION_SHOW_ITEM EFL_UI_INTEREST_REGION_MODE_ITEM
+typedef enum
+{
+ ELM_FOCUS_REGION_SHOW_WIDGET = 0, /**< As a widget. */
+ ELM_FOCUS_REGION_SHOW_ITEM /**< As an item. */
+} Elm_Focus_Region_Show_Mode;
+
/**************************************************************************/
EAPI extern int ELM_ECORE_EVENT_ETHUMB_CONNECT;
diff --git a/src/lib/elementary/elm_main.c b/src/lib/elementary/elm_main.c
index c9e48ff8fb..e29f5139e5 100644
--- a/src/lib/elementary/elm_main.c
+++ b/src/lib/elementary/elm_main.c
@@ -27,6 +27,7 @@
//we need those for legacy compatible code
#include "elm_genlist.eo.h"
#include "elm_gengrid.eo.h"
+#include "elm_widget_gengrid.h"
#define SEMI_BROKEN_QUICKLAUNCH 1
@@ -1965,13 +1966,22 @@ elm_object_focused_item_get(const Evas_Object *obj)
EAPI void
elm_object_focus_region_show_mode_set(Evas_Object *obj, Elm_Focus_Region_Show_Mode mode)
{
- elm_widget_focus_region_show_mode_set(obj, mode);
+ if (efl_isa(obj, ELM_GENGRID_CLASS))
+ {
+ Elm_Gengrid_Data *pd = efl_data_scope_get(obj, ELM_GENGRID_CLASS);
+ pd->mode = mode;
+ }
}
EAPI Elm_Focus_Region_Show_Mode
elm_object_focus_region_show_mode_get(const Evas_Object *obj)
{
- return elm_widget_focus_region_show_mode_get(obj);
+ if (efl_isa(obj, ELM_GENGRID_CLASS))
+ {
+ Elm_Gengrid_Data *pd = efl_data_scope_get(obj, ELM_GENGRID_CLASS);
+ return pd->mode;
+ }
+ return ELM_FOCUS_REGION_SHOW_WIDGET;
}
static void
diff --git a/src/lib/elementary/elm_widget_gengrid.h b/src/lib/elementary/elm_widget_gengrid.h
index b995ed07ea..f17b75e8ab 100644
--- a/src/lib/elementary/elm_widget_gengrid.h
+++ b/src/lib/elementary/elm_widget_gengrid.h
@@ -94,6 +94,8 @@ struct _Elm_Gengrid_Data
Elm_Gengrid_Reorder_Type type; /**< Reorder type */
Eina_Bool running : 1; /**< animation is happening */
} reorder;
+ Elm_Focus_Region_Show_Mode mode; /**< the mode which describes which rectangle should be returned in the interest region getter*/
+
Eina_Bool reorder_item_changed : 1;
Eina_Bool move_effect_enabled : 1;