forked from enlightenment/efl
Separtor: use orientation APIs
Summary: Use orientation APIs instead of horizontal get/set apis. Test Plan: elementary_test -to separator Reviewers: jpeg, cedric, Hermet, raster, singh.amitesh Reviewed By: singh.amitesh Differential Revision: https://phab.enlightenment.org/D3984
This commit is contained in:
parent
058f07e759
commit
f043c3be61
|
@ -28,7 +28,7 @@ test_separator(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
|
|||
evas_object_show(bt);
|
||||
|
||||
sp = elm_separator_add(win);
|
||||
elm_separator_horizontal_set(sp, EINA_TRUE); // by default, separator is vertical, we must set it horizontal
|
||||
efl_orientation_set(sp, EFL_ORIENT_HORIZONTAL);
|
||||
elm_box_pack_end(bx, sp);
|
||||
evas_object_show(sp);
|
||||
|
||||
|
@ -54,7 +54,7 @@ test_separator(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event
|
|||
evas_object_show(bt);
|
||||
|
||||
sp = elm_separator_add(win);
|
||||
elm_separator_horizontal_set(sp, EINA_TRUE);
|
||||
efl_orientation_set(sp, EFL_ORIENT_HORIZONTAL);
|
||||
elm_box_pack_end(bx, sp);
|
||||
evas_object_show(sp);
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ _elm_separator_elm_widget_theme_apply(Eo *obj, Elm_Separator_Data *sd EINA_UNUSE
|
|||
Eina_Bool int_ret = EINA_FALSE;
|
||||
ELM_LAYOUT_DATA_GET(obj, ld);
|
||||
|
||||
if (sd->horizontal)
|
||||
if (sd->orientation == EFL_ORIENT_HORIZONTAL)
|
||||
eina_stringshare_replace(&ld->group, "horizontal");
|
||||
else
|
||||
eina_stringshare_replace(&ld->group, "vertical");
|
||||
|
@ -51,6 +51,8 @@ _elm_separator_evas_object_smart_add(Eo *obj, Elm_Separator_Data *sd EINA_UNUSED
|
|||
elm_widget_sub_object_parent_add(obj);
|
||||
elm_widget_can_focus_set(obj, EINA_FALSE);
|
||||
|
||||
sd->orientation = EFL_ORIENT_VERTICAL;
|
||||
|
||||
if (!elm_layout_theme_set
|
||||
(obj, "separator", "vertical", elm_widget_style_get(obj)))
|
||||
CRI("Failed to set layout!");
|
||||
|
@ -66,6 +68,32 @@ elm_separator_add(Evas_Object *parent)
|
|||
return obj;
|
||||
}
|
||||
|
||||
EAPI void
|
||||
elm_separator_horizontal_set(Evas_Object *obj, Eina_Bool horizontal)
|
||||
{
|
||||
Efl_Orient orient;
|
||||
|
||||
if (horizontal)
|
||||
orient = EFL_ORIENT_HORIZONTAL;
|
||||
else
|
||||
orient = EFL_ORIENT_VERTICAL;
|
||||
|
||||
if (orient == efl_orientation_get(obj)) return;
|
||||
|
||||
efl_orientation_set(obj, orient);
|
||||
}
|
||||
|
||||
EAPI Eina_Bool
|
||||
elm_separator_horizontal_get(const Evas_Object *obj)
|
||||
{
|
||||
ELM_SEPARATOR_DATA_GET_OR_RETURN_VAL(obj, sd, EINA_FALSE);
|
||||
|
||||
if (sd->orientation == EFL_ORIENT_VERTICAL)
|
||||
return EINA_FALSE;
|
||||
else
|
||||
return EINA_TRUE;
|
||||
}
|
||||
|
||||
EOLIAN static Eo *
|
||||
_elm_separator_eo_base_constructor(Eo *obj, Elm_Separator_Data *sd EINA_UNUSED)
|
||||
{
|
||||
|
@ -77,20 +105,23 @@ _elm_separator_eo_base_constructor(Eo *obj, Elm_Separator_Data *sd EINA_UNUSED)
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_elm_separator_horizontal_set(Eo *obj, Elm_Separator_Data *sd, Eina_Bool horizontal)
|
||||
_elm_separator_efl_orientation_orientation_set(Eo *obj, Elm_Separator_Data *sd, Efl_Orient dir)
|
||||
{
|
||||
horizontal = !!horizontal;
|
||||
if (sd->horizontal == horizontal) return;
|
||||
if (dir != EFL_ORIENT_VERTICAL &&
|
||||
dir != EFL_ORIENT_HORIZONTAL)
|
||||
return;
|
||||
|
||||
sd->horizontal = horizontal;
|
||||
if (sd->orientation == dir) return;
|
||||
|
||||
sd->orientation = dir;
|
||||
|
||||
elm_obj_widget_theme_apply(obj);
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
_elm_separator_horizontal_get(Eo *obj EINA_UNUSED, Elm_Separator_Data *sd)
|
||||
EOLIAN static Efl_Orient
|
||||
_elm_separator_efl_orientation_orientation_get(Eo *obj EINA_UNUSED, Elm_Separator_Data *sd)
|
||||
{
|
||||
return sd->horizontal;
|
||||
return sd->orientation;
|
||||
}
|
||||
|
||||
EOLIAN static Eina_Bool
|
||||
|
|
|
@ -1,20 +1,7 @@
|
|||
class Elm.Separator (Elm.Layout)
|
||||
class Elm.Separator (Elm.Layout, Efl.Orientation)
|
||||
{
|
||||
legacy_prefix: elm_separator;
|
||||
eo_prefix: elm_obj_separator;
|
||||
methods {
|
||||
@property horizontal {
|
||||
set {
|
||||
[[Set the horizontal mode of a separator object]]
|
||||
}
|
||||
get {
|
||||
[[Get the horizontal mode of a separator object]]
|
||||
}
|
||||
values {
|
||||
horizontal: bool; [[If true, the separator is horizontal]]
|
||||
}
|
||||
}
|
||||
}
|
||||
implements {
|
||||
class.constructor;
|
||||
Eo.Base.constructor;
|
||||
|
@ -22,6 +9,7 @@ class Elm.Separator (Elm.Layout)
|
|||
Elm.Widget.focus_next_manager_is;
|
||||
Elm.Widget.focus_direction_manager_is;
|
||||
Elm.Widget.theme_apply;
|
||||
Efl.Orientation.orientation;
|
||||
Elm.Layout.sizing_eval;
|
||||
}
|
||||
|
||||
|
|
|
@ -9,4 +9,22 @@
|
|||
*/
|
||||
EAPI Evas_Object *elm_separator_add(Evas_Object *parent);
|
||||
|
||||
#include "elm_separator.eo.legacy.h"
|
||||
/**
|
||||
* @brief Set the horizontal mode of a separator object
|
||||
*
|
||||
* @param[in] horizontal If true, the separator is horizontal
|
||||
*
|
||||
* @ingroup Elm_Separator
|
||||
*/
|
||||
EAPI void elm_separator_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
|
||||
|
||||
/**
|
||||
* @brief Get the horizontal mode of a separator object
|
||||
*
|
||||
* @return If true, the separator is horizontal
|
||||
*
|
||||
* @ingroup Elm_Separator
|
||||
*/
|
||||
EAPI Eina_Bool elm_separator_horizontal_get(const Evas_Object *obj);
|
||||
|
||||
#include "elm_separator.eo.legacy.h"
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
typedef struct _Elm_Separator_Data Elm_Separator_Data;
|
||||
struct _Elm_Separator_Data
|
||||
{
|
||||
Eina_Bool horizontal : 1;
|
||||
Efl_Orient orientation;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue