lib/elementary/efl_ui_animation_view.eo \
lib/elementary/efl_ui_clock_legacy.eo \
lib/elementary/elm_interface_fileselector.eo \
- lib/elementary/elm_hover.eo \
lib/elementary/elm_index.eo \
lib/elementary/elm_label.eo \
lib/elementary/elm_list.eo \
lib/elementary/elm_glview_eo.c \
lib/elementary/elm_grid_eo.legacy.c \
lib/elementary/elm_grid_eo.c \
+lib/elementary/elm_hover_eo.legacy.c \
+lib/elementary/elm_hover_eo.c \
lib/elementary/elm_hoversel_eo.c \
lib/elementary/elm_hoversel_item_eo.c \
lib/elementary/elm_hoversel_item_eo.legacy.c
lib/elementary/elm_glview_eo.legacy.h \
lib/elementary/elm_grid_eo.h \
lib/elementary/elm_grid_eo.legacy.h \
+lib/elementary/elm_hover_eo.h \
+lib/elementary/elm_hover_eo.legacy.h \
lib/elementary/elm_hoversel_eo.h \
lib/elementary/elm_hoversel_eo.legacy.h \
lib/elementary/elm_hoversel_item_eo.h \
#include "elm_widget_combobox.h"
#include "elm_entry_eo.h"
#include "elm_genlist_eo.h"
-#include "elm_hover.eo.h"
+#include "elm_hover_eo.h"
EOAPI void elm_obj_combobox_hover_begin(Eo *obj);
EOAPI void elm_obj_combobox_hover_end(Eo *obj);
ELM_LAYOUT_SIZING_EVAL_OPS(elm_hover), \
_ELM_LAYOUT_ALIASES_OPS(elm_hover, content)
-#include "elm_hover.eo.c"
+#include "elm_hover_eo.c"
+++ /dev/null
-enum Elm.Hover.Axis
-{
- [[The orientation axis for the hover object]]
- none, [[ELM_HOVER_AXIS_NONE -- no preferred orientation.]]
- horizontal, [[ELM_HOVER_AXIS_HORIZONTAL -- horizontal.]]
- vertical, [[ELM_HOVER_AXIS_VERTICAL -- vertical.]]
- both [[ELM_HOVER_AXIS_BOTH -- both.]]
-}
-
-class Elm.Hover extends Efl.Ui.Layout_Base implements Efl.Ui.Focus.Layer, Efl.Ui.Clickable,
- Efl.Access.Widget.Action, Efl.Ui.Legacy
-{
- [[Elementary hover class]]
- legacy_prefix: elm_hover;
- eo_prefix: elm_obj_hover;
- event_prefix: elm_hover;
- methods {
- @property target {
- set {
- [[Sets the target object for the hover.
-
- This function will cause the hover to be centered on the
- target object.
- ]]
- }
- get {
- [[Get the target object for the hover.]]
- }
- values {
- target: Efl.Canvas.Object; [[The target object.]]
- }
- }
- best_content_location_get @const {
- [[Returns the best swallow location for content in the hover.
-
- Best is defined here as the location at which there is the most
- available space.
-
- $pref_axis may be either #ELM_HOVER_AXIS_NONE (for no preferred
- orientation), #ELM_HOVER_AXIS_HORIZONTAL, #ELM_HOVER_AXIS_VERTICAL
- or #ELM_HOVER_AXIS_BOTH.
-
- If #ELM_HOVER_AXIS_HORIZONTAL is chosen the returned position
- will necessarily be along the horizontal axis("left" or "right").
- If #ELM_HOVER_AXIS_VERTICAL is chosen the returned position will
- necessarily be along the vertical axis("top" or "bottom").
- Choosing #ELM_HOVER_AXIS_BOTH or #ELM_HOVER_AXIS_NONE has the
- same effect and the returned position may be in either axis.
-
- See also \@ref elm_object_part_content_set.
- ]]
- return: string; [[Swallow location]]
- params {
- @in pref_axis: Elm.Hover.Axis; [[The preferred orientation axis
- for the hover object to use]]
- }
- }
- dismiss {
- [[Dismiss a hover object]]
- }
- }
- implements {
- class.constructor;
- Efl.Object.constructor;
- Efl.Gfx.Entity.visible { set; }
- Efl.Gfx.Entity.position { set; }
- Efl.Gfx.Entity.size { set; }
- Efl.Ui.Widget.theme_apply;
- Efl.Ui.Widget.widget_sub_object_add;
- Efl.Ui.Widget.widget_parent { get; set; }
- Efl.Ui.Widget.widget_sub_object_del;
- Efl.Access.Widget.Action.elm_actions { get; }
- Efl.Access.Object.state_set { get; }
- Efl.Part.part_get;
-
- Efl.Access.Component.highlight_grab;
- Efl.Access.Component.highlight_clear;
- //TIZEN_ONLY(20180607): Restore legacy focus
- Efl.Ui.Widget.focus_direction_manager_is;
- Efl.Ui.Widget.focus_next_manager_is;
- //
- }
- events {
- smart,changed: string; [[Called when hover changed]]
- dismissed: void; [[Called when hover was dismissed]]
- }
-}
--- /dev/null
+EWAPI const Efl_Event_Description _ELM_HOVER_EVENT_SMART_CHANGED =
+ EFL_EVENT_DESCRIPTION("smart,changed");
+EWAPI const Efl_Event_Description _ELM_HOVER_EVENT_DISMISSED =
+ EFL_EVENT_DESCRIPTION("dismissed");
+
+void _elm_hover_target_set(Eo *obj, Elm_Hover_Data *pd, Efl_Canvas_Object *target);
+
+EOAPI EFL_VOID_FUNC_BODYV(elm_obj_hover_target_set, EFL_FUNC_CALL(target), Efl_Canvas_Object *target);
+
+Efl_Canvas_Object *_elm_hover_target_get(const Eo *obj, Elm_Hover_Data *pd);
+
+EOAPI EFL_FUNC_BODY_CONST(elm_obj_hover_target_get, Efl_Canvas_Object *, NULL);
+
+const char *_elm_hover_best_content_location_get(const Eo *obj, Elm_Hover_Data *pd, Elm_Hover_Axis pref_axis);
+
+EOAPI EFL_FUNC_BODYV_CONST(elm_obj_hover_best_content_location_get, const char *, NULL, EFL_FUNC_CALL(pref_axis), Elm_Hover_Axis pref_axis);
+
+void _elm_hover_dismiss(Eo *obj, Elm_Hover_Data *pd);
+
+EOAPI EFL_VOID_FUNC_BODY(elm_obj_hover_dismiss);
+
+Efl_Object *_elm_hover_efl_object_constructor(Eo *obj, Elm_Hover_Data *pd);
+
+
+void _elm_hover_efl_gfx_entity_visible_set(Eo *obj, Elm_Hover_Data *pd, Eina_Bool v);
+
+
+void _elm_hover_efl_gfx_entity_position_set(Eo *obj, Elm_Hover_Data *pd, Eina_Position2D pos);
+
+
+void _elm_hover_efl_gfx_entity_size_set(Eo *obj, Elm_Hover_Data *pd, Eina_Size2D size);
+
+
+Eina_Error _elm_hover_efl_ui_widget_theme_apply(Eo *obj, Elm_Hover_Data *pd);
+
+
+Eina_Bool _elm_hover_efl_ui_widget_widget_sub_object_add(Eo *obj, Elm_Hover_Data *pd, Efl_Canvas_Object *sub_obj);
+
+
+void _elm_hover_efl_ui_widget_widget_parent_set(Eo *obj, Elm_Hover_Data *pd, Efl_Ui_Widget *parent);
+
+
+Efl_Ui_Widget *_elm_hover_efl_ui_widget_widget_parent_get(const Eo *obj, Elm_Hover_Data *pd);
+
+
+Eina_Bool _elm_hover_efl_ui_widget_widget_sub_object_del(Eo *obj, Elm_Hover_Data *pd, Efl_Canvas_Object *sub_obj);
+
+
+const Efl_Access_Action_Data *_elm_hover_efl_access_widget_action_elm_actions_get(const Eo *obj, Elm_Hover_Data *pd);
+
+
+Efl_Access_State_Set _elm_hover_efl_access_object_state_set_get(const Eo *obj, Elm_Hover_Data *pd);
+
+
+Efl_Object *_elm_hover_efl_part_part_get(const Eo *obj, Elm_Hover_Data *pd, const char *name);
+
+
+static Eina_Bool
+_elm_hover_class_initializer(Efl_Class *klass)
+{
+ const Efl_Object_Ops *opsp = NULL;
+
+ const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
+
+#ifndef ELM_HOVER_EXTRA_OPS
+#define ELM_HOVER_EXTRA_OPS
+#endif
+
+ EFL_OPS_DEFINE(ops,
+ EFL_OBJECT_OP_FUNC(elm_obj_hover_target_set, _elm_hover_target_set),
+ EFL_OBJECT_OP_FUNC(elm_obj_hover_target_get, _elm_hover_target_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_hover_best_content_location_get, _elm_hover_best_content_location_get),
+ EFL_OBJECT_OP_FUNC(elm_obj_hover_dismiss, _elm_hover_dismiss),
+ EFL_OBJECT_OP_FUNC(efl_constructor, _elm_hover_efl_object_constructor),
+ EFL_OBJECT_OP_FUNC(efl_gfx_entity_visible_set, _elm_hover_efl_gfx_entity_visible_set),
+ EFL_OBJECT_OP_FUNC(efl_gfx_entity_position_set, _elm_hover_efl_gfx_entity_position_set),
+ EFL_OBJECT_OP_FUNC(efl_gfx_entity_size_set, _elm_hover_efl_gfx_entity_size_set),
+ EFL_OBJECT_OP_FUNC(efl_ui_widget_theme_apply, _elm_hover_efl_ui_widget_theme_apply),
+ EFL_OBJECT_OP_FUNC(efl_ui_widget_sub_object_add, _elm_hover_efl_ui_widget_widget_sub_object_add),
+ EFL_OBJECT_OP_FUNC(efl_ui_widget_parent_set, _elm_hover_efl_ui_widget_widget_parent_set),
+ EFL_OBJECT_OP_FUNC(efl_ui_widget_parent_get, _elm_hover_efl_ui_widget_widget_parent_get),
+ EFL_OBJECT_OP_FUNC(efl_ui_widget_sub_object_del, _elm_hover_efl_ui_widget_widget_sub_object_del),
+ EFL_OBJECT_OP_FUNC(efl_access_widget_action_elm_actions_get, _elm_hover_efl_access_widget_action_elm_actions_get),
+ EFL_OBJECT_OP_FUNC(efl_access_object_state_set_get, _elm_hover_efl_access_object_state_set_get),
+ EFL_OBJECT_OP_FUNC(efl_part_get, _elm_hover_efl_part_part_get),
+ ELM_HOVER_EXTRA_OPS
+ );
+ opsp = &ops;
+
+ return efl_class_functions_set(klass, opsp, ropsp);
+}
+
+static const Efl_Class_Description _elm_hover_class_desc = {
+ EO_VERSION,
+ "Elm.Hover",
+ EFL_CLASS_TYPE_REGULAR,
+ sizeof(Elm_Hover_Data),
+ _elm_hover_class_initializer,
+ _elm_hover_class_constructor,
+ NULL
+};
+
+EFL_DEFINE_CLASS(elm_hover_class_get, &_elm_hover_class_desc, EFL_UI_LAYOUT_BASE_CLASS, EFL_UI_FOCUS_LAYER_MIXIN, EFL_UI_CLICKABLE_INTERFACE, EFL_ACCESS_WIDGET_ACTION_MIXIN, EFL_UI_LEGACY_INTERFACE, NULL);
+
+#include "elm_hover_eo.legacy.c"
--- /dev/null
+#ifndef _ELM_HOVER_EO_H_
+#define _ELM_HOVER_EO_H_
+
+#ifndef _ELM_HOVER_EO_CLASS_TYPE
+#define _ELM_HOVER_EO_CLASS_TYPE
+
+typedef Eo Elm_Hover;
+
+#endif
+
+#ifndef _ELM_HOVER_EO_TYPES
+#define _ELM_HOVER_EO_TYPES
+
+/** The orientation axis for the hover object
+ *
+ * @ingroup Elm_Hover
+ */
+typedef enum
+{
+ ELM_HOVER_AXIS_NONE = 0, /**< ELM_HOVER_AXIS_NONE -- no preferred orientation.
+ */
+ ELM_HOVER_AXIS_HORIZONTAL, /**< ELM_HOVER_AXIS_HORIZONTAL -- horizontal. */
+ ELM_HOVER_AXIS_VERTICAL, /**< ELM_HOVER_AXIS_VERTICAL -- vertical. */
+ ELM_HOVER_AXIS_BOTH /**< ELM_HOVER_AXIS_BOTH -- both. */
+} Elm_Hover_Axis;
+
+
+#endif
+/** Elementary hover class
+ *
+ * @ingroup Elm_Hover
+ */
+#define ELM_HOVER_CLASS elm_hover_class_get()
+
+EWAPI const Efl_Class *elm_hover_class_get(void);
+
+/**
+ * @brief Sets the target object for the hover.
+ *
+ * This function will cause the hover to be centered on the target object.
+ *
+ * @param[in] obj The object.
+ * @param[in] target The target object.
+ *
+ * @ingroup Elm_Hover
+ */
+EOAPI void elm_obj_hover_target_set(Eo *obj, Efl_Canvas_Object *target);
+
+/**
+ * @brief Get the target object for the hover.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The target object.
+ *
+ * @ingroup Elm_Hover
+ */
+EOAPI Efl_Canvas_Object *elm_obj_hover_target_get(const Eo *obj);
+
+/**
+ * @brief Returns the best swallow location for content in the hover.
+ *
+ * Best is defined here as the location at which there is the most available
+ * space.
+ *
+ * @c pref_axis may be either #ELM_HOVER_AXIS_NONE (for no preferred
+ * orientation), #ELM_HOVER_AXIS_HORIZONTAL, #ELM_HOVER_AXIS_VERTICAL or
+ * #ELM_HOVER_AXIS_BOTH.
+ *
+ * If #ELM_HOVER_AXIS_HORIZONTAL is chosen the returned position will
+ * necessarily be along the horizontal axis("left" or "right"). If
+ * #ELM_HOVER_AXIS_VERTICAL is chosen the returned position will necessarily be
+ * along the vertical axis("top" or "bottom"). Choosing #ELM_HOVER_AXIS_BOTH or
+ * #ELM_HOVER_AXIS_NONE has the same effect and the returned position may be in
+ * either axis.
+ *
+ * See also @ref elm_object_part_content_set.
+ *
+ * @param[in] obj The object.
+ * @param[in] pref_axis The preferred orientation axis for the hover object to
+ * use
+ *
+ * @return Swallow location
+ *
+ * @ingroup Elm_Hover
+ */
+EOAPI const char *elm_obj_hover_best_content_location_get(const Eo *obj, Elm_Hover_Axis pref_axis);
+
+/** Dismiss a hover object
+ *
+ * @ingroup Elm_Hover
+ */
+EOAPI void elm_obj_hover_dismiss(Eo *obj);
+
+EWAPI extern const Efl_Event_Description _ELM_HOVER_EVENT_SMART_CHANGED;
+
+/** Called when hover changed
+ * @return const char *
+ *
+ * @ingroup Elm_Hover
+ */
+#define ELM_HOVER_EVENT_SMART_CHANGED (&(_ELM_HOVER_EVENT_SMART_CHANGED))
+
+EWAPI extern const Efl_Event_Description _ELM_HOVER_EVENT_DISMISSED;
+
+/** Called when hover was dismissed
+ *
+ * @ingroup Elm_Hover
+ */
+#define ELM_HOVER_EVENT_DISMISSED (&(_ELM_HOVER_EVENT_DISMISSED))
+
+#endif
--- /dev/null
+
+EAPI void
+elm_hover_target_set(Elm_Hover *obj, Efl_Canvas_Object *target)
+{
+ elm_obj_hover_target_set(obj, target);
+}
+
+EAPI Efl_Canvas_Object *
+elm_hover_target_get(const Elm_Hover *obj)
+{
+ return elm_obj_hover_target_get(obj);
+}
+
+EAPI const char *
+elm_hover_best_content_location_get(const Elm_Hover *obj, Elm_Hover_Axis pref_axis)
+{
+ return elm_obj_hover_best_content_location_get(obj, pref_axis);
+}
+
+EAPI void
+elm_hover_dismiss(Elm_Hover *obj)
+{
+ elm_obj_hover_dismiss(obj);
+}
--- /dev/null
+#ifndef _ELM_HOVER_EO_LEGACY_H_
+#define _ELM_HOVER_EO_LEGACY_H_
+
+#ifndef _ELM_HOVER_EO_CLASS_TYPE
+#define _ELM_HOVER_EO_CLASS_TYPE
+
+typedef Eo Elm_Hover;
+
+#endif
+
+#ifndef _ELM_HOVER_EO_TYPES
+#define _ELM_HOVER_EO_TYPES
+
+/** The orientation axis for the hover object
+ *
+ * @ingroup Elm_Hover
+ */
+typedef enum
+{
+ ELM_HOVER_AXIS_NONE = 0, /**< ELM_HOVER_AXIS_NONE -- no preferred orientation.
+ */
+ ELM_HOVER_AXIS_HORIZONTAL, /**< ELM_HOVER_AXIS_HORIZONTAL -- horizontal. */
+ ELM_HOVER_AXIS_VERTICAL, /**< ELM_HOVER_AXIS_VERTICAL -- vertical. */
+ ELM_HOVER_AXIS_BOTH /**< ELM_HOVER_AXIS_BOTH -- both. */
+} Elm_Hover_Axis;
+
+
+#endif
+
+/**
+ * @brief Sets the target object for the hover.
+ *
+ * This function will cause the hover to be centered on the target object.
+ *
+ * @param[in] obj The object.
+ * @param[in] target The target object.
+ *
+ * @ingroup Elm_Hover_Group
+ */
+EAPI void elm_hover_target_set(Elm_Hover *obj, Efl_Canvas_Object *target);
+
+/**
+ * @brief Get the target object for the hover.
+ *
+ * @param[in] obj The object.
+ *
+ * @return The target object.
+ *
+ * @ingroup Elm_Hover_Group
+ */
+EAPI Efl_Canvas_Object *elm_hover_target_get(const Elm_Hover *obj);
+
+/**
+ * @brief Returns the best swallow location for content in the hover.
+ *
+ * Best is defined here as the location at which there is the most available
+ * space.
+ *
+ * @c pref_axis may be either #ELM_HOVER_AXIS_NONE (for no preferred
+ * orientation), #ELM_HOVER_AXIS_HORIZONTAL, #ELM_HOVER_AXIS_VERTICAL or
+ * #ELM_HOVER_AXIS_BOTH.
+ *
+ * If #ELM_HOVER_AXIS_HORIZONTAL is chosen the returned position will
+ * necessarily be along the horizontal axis("left" or "right"). If
+ * #ELM_HOVER_AXIS_VERTICAL is chosen the returned position will necessarily be
+ * along the vertical axis("top" or "bottom"). Choosing #ELM_HOVER_AXIS_BOTH or
+ * #ELM_HOVER_AXIS_NONE has the same effect and the returned position may be in
+ * either axis.
+ *
+ * See also @ref elm_object_part_content_set.
+ *
+ * @param[in] obj The object.
+ * @param[in] pref_axis The preferred orientation axis for the hover object to
+ * use
+ *
+ * @return Swallow location
+ *
+ * @ingroup Elm_Hover_Group
+ */
+EAPI const char *elm_hover_best_content_location_get(const Elm_Hover *obj, Elm_Hover_Axis pref_axis);
+
+/** Dismiss a hover object
+ *
+ * @ingroup Elm_Hover_Group
+ */
+EAPI void elm_hover_dismiss(Elm_Hover *obj);
+
+#endif
*/
EAPI Evas_Object *elm_hover_parent_get(const Evas_Object *obj);
-#include "elm_hover.eo.legacy.h"
\ No newline at end of file
+#include "elm_hover_eo.legacy.h"
\ No newline at end of file
#include "Elementary.h"
#include "elm_widget_layout.h"
-#include "elm_hover.eo.h"
+#include "elm_hover_eo.h"
/* DO NOT USE THIS HEADER UNLESS YOU ARE PREPARED FOR BREAKING OF YOUR
* CODE. THIS IS ELEMENTARY'S INTERNAL WIDGET API (for now) AND IS NOT
#include "elm_menu.eo.h"
#include "elm_menu_item.eo.h"
-#include "elm_hover.eo.h"
+#include "elm_hover_eo.h"
/* DO NOT USE THIS HEADER UNLESS YOU ARE PREPARED FOR BREAKING OF YOUR
* CODE. THIS IS ELEMENTARY'S INTERNAL WIDGET API (for now) AND IS NOT
pub_legacy_eo_files = [
'efl_ui_clock_legacy.eo',
'elm_interface_fileselector.eo',
- 'elm_hover.eo',
'elm_index.eo',
'elm_label.eo',
'elm_list.eo',
'elm_glview_eo.legacy.h',
'elm_grid_eo.h',
'elm_grid_eo.legacy.h',
+ 'elm_hover_eo.h',
+ 'elm_hover_eo.legacy.h',
'elm_hoversel_eo.h',
'elm_hoversel_eo.legacy.h',
'elm_hoversel_item_eo.h',