elm_hover: remove all legacy usage from eo files

this takes the current generated output from eolian for legacy code in
efl and adds it to the tree, then removes legacy references from the
corresponding eo files. in the case where the entire eo file was for
a legacy object, that eo file has been removed from the tree

ref T7724

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8175
This commit is contained in:
Mike Blumenkrantz 2019-03-05 17:00:37 -05:00 committed by Cedric BAIL
parent 641de5be24
commit 3c997ee451
12 changed files with 340 additions and 87 deletions

View File

@ -187,7 +187,6 @@ elm_private_eolian_files = \
elm_legacy_eolian_files = \
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 \
@ -356,6 +355,8 @@ lib/elementary/elm_glview_eo.legacy.c \
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
@ -471,6 +472,8 @@ lib/elementary/elm_glview_eo.h \
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 \

View File

@ -12,7 +12,7 @@
#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);

View File

@ -883,4 +883,4 @@ ELM_PART_OVERRIDE_CONTENT_UNSET(elm_hover, ELM_HOVER, Elm_Hover_Data)
ELM_LAYOUT_SIZING_EVAL_OPS(elm_hover), \
_ELM_LAYOUT_ALIASES_OPS(elm_hover, content)
#include "elm_hover.eo.c"
#include "elm_hover_eo.c"

View File

@ -1,80 +0,0 @@
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;
}
events {
smart,changed: string; [[Called when hover changed]]
dismissed: void; [[Called when hover was dismissed]]
}
}

View File

@ -0,0 +1,105 @@
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"

View File

@ -0,0 +1,112 @@
#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

View File

@ -0,0 +1,24 @@
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);
}

View File

@ -0,0 +1,88 @@
#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

View File

@ -33,4 +33,4 @@ EAPI void elm_hover_parent_set(Evas_Object *obj, Evas_Object *parent);
*/
EAPI Evas_Object *elm_hover_parent_get(const Evas_Object *obj);
#include "elm_hover.eo.legacy.h"
#include "elm_hover_eo.legacy.h"

View File

@ -3,7 +3,7 @@
#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

View File

@ -5,7 +5,7 @@
#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

View File

@ -1,7 +1,6 @@
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',
@ -755,6 +754,8 @@ elementary_pub_headers = [
'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',