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);
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);
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");
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!");
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)
{
}
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;
+
+ if (sd->orientation == dir) return;
- sd->horizontal = horizontal;
+ 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
-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;
Elm.Widget.focus_next_manager_is;
Elm.Widget.focus_direction_manager_is;
Elm.Widget.theme_apply;
+ Efl.Orientation.orientation;
Elm.Layout.sizing_eval;
}
*/
EAPI Evas_Object *elm_separator_add(Evas_Object *parent);
-#include "elm_separator.eo.legacy.h"
\ No newline at end of file
+/**
+ * @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"