forked from enlightenment/efl
elementary/widget - added widget orientation mode infra and 2 apis elm_object_orientation_mode_disabled_set(0, elm_object_orientation_mode_disabled_get()
Orientation Mode is used for widgets to change it's styles or to send signals whenever it's window degree is changed. If the orientation mode is enabled and the widget has different looks and styles for the window degree(0, 90, 180, 270), it will apply a style that is readied for the current degree, otherwise, it will send signals to it's own edje to change it's any states if the style doesn't be readied. SVN revision: 83880
This commit is contained in:
parent
132df3ba04
commit
afa738e3e6
|
@ -1005,3 +1005,7 @@
|
||||||
2013-02-12 ChunEon Park (Hermet)
|
2013-02-12 ChunEon Park (Hermet)
|
||||||
|
|
||||||
* replace elm_object_domain_translatable_text_part_set(), elm_object_translatable_text_part_get() with elm_object_domain)translatable_part_text_set(), elm_object_translatable_part_text_get().
|
* replace elm_object_domain_translatable_text_part_set(), elm_object_translatable_text_part_get() with elm_object_domain)translatable_part_text_set(), elm_object_translatable_part_text_get().
|
||||||
|
|
||||||
|
2013-02-14 ChunEon Park (Hermet)
|
||||||
|
|
||||||
|
* added 2 APIs elm_object_orientation_mode_disabled_set(), elm_object_orientation_mode_disabled_get()
|
||||||
|
|
|
@ -36,6 +36,7 @@ Additions:
|
||||||
* Add elm_glview, elm_gengrid smart callback - "language,changed".
|
* Add elm_glview, elm_gengrid smart callback - "language,changed".
|
||||||
* Add APIs - elm_object_item_domain_translatable_part_text_set(), elm_object_item_translatable_part_text_get().
|
* Add APIs - elm_object_item_domain_translatable_part_text_set(), elm_object_item_translatable_part_text_get().
|
||||||
* Add APIs - elm_object_domain_translatable_part_text_set(), elm_object_translatable_part_text_get().
|
* Add APIs - elm_object_domain_translatable_part_text_set(), elm_object_translatable_part_text_get().
|
||||||
|
* Add APIs - elm_object_orientation_mode_disabled_set(), elm_object_orientation_mode_disabled_get().
|
||||||
|
|
||||||
|
|
||||||
Improvements:
|
Improvements:
|
||||||
|
|
|
@ -1540,7 +1540,6 @@ elm_object_item_translatable_part_text_get(const Elm_Object_Item *it, const char
|
||||||
return _elm_widget_item_translatable_part_text_get((Elm_Widget_Item *)it, part);
|
return _elm_widget_item_translatable_part_text_get((Elm_Widget_Item *)it, part);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
elm_object_access_info_set(Evas_Object *obj, const char *txt)
|
elm_object_access_info_set(Evas_Object *obj, const char *txt)
|
||||||
{
|
{
|
||||||
|
@ -1553,6 +1552,18 @@ elm_object_name_find(const Evas_Object *obj, const char *name, int recurse)
|
||||||
return elm_widget_name_find(obj, name, recurse);
|
return elm_widget_name_find(obj, name, recurse);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
elm_object_orientation_mode_disabled_set(Evas_Object *obj, Eina_Bool disabled)
|
||||||
|
{
|
||||||
|
elm_widget_orientation_mode_disabled_set(obj, disabled);
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI Eina_Bool
|
||||||
|
elm_object_orientation_mode_disabled_get(const Evas_Object *obj)
|
||||||
|
{
|
||||||
|
return elm_widget_orientation_mode_disabled_get(obj);
|
||||||
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
elm_object_item_access_info_set(Elm_Object_Item *it, const char *txt)
|
elm_object_item_access_info_set(Elm_Object_Item *it, const char *txt)
|
||||||
{
|
{
|
||||||
|
|
|
@ -437,3 +437,39 @@ EAPI void elm_object_event_callback_add(Evas_Object *obj, Elm_Event_Cb f
|
||||||
* @ingroup General
|
* @ingroup General
|
||||||
*/
|
*/
|
||||||
EAPI void *elm_object_event_callback_del(Evas_Object *obj, Elm_Event_Cb func, const void *data);
|
EAPI void *elm_object_event_callback_del(Evas_Object *obj, Elm_Event_Cb func, const void *data);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Disable the orientation mode of a given widget.
|
||||||
|
*
|
||||||
|
* Orientation Mode is used for widgets to change it's styles or to send signals
|
||||||
|
* whenever it's window degree is changed. If the orientation mode is enabled
|
||||||
|
* and the widget has different looks and styles for the window degree(0, 90,
|
||||||
|
* 180, 270), it will apply a style that is readied for the current degree,
|
||||||
|
* otherwise, it will send signals to it's own edje to change it's states if
|
||||||
|
* the style doesn't be readied.
|
||||||
|
*
|
||||||
|
* @param obj The Elementary object to operate on orientation mode.
|
||||||
|
* @param disabled The state to put in in: @c EINA_TRUE for disabled,
|
||||||
|
* @c EINA_FALSE for enabled.
|
||||||
|
*
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* @ingroup General
|
||||||
|
*/
|
||||||
|
EAPI void elm_object_orientation_mode_disabled_set(Evas_Object *obj, Eina_Bool disabled);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the orientation mode of a give widget.
|
||||||
|
*
|
||||||
|
* @param obj The Elementary widget to query for its style
|
||||||
|
* @return @c EINA_TRUE, if the widget orientation mode is disabled,
|
||||||
|
* @c EINA_FALSE if the orientation mode is enabled (or on errors)
|
||||||
|
*
|
||||||
|
* @see elm_object_orientation_mode_disabled_set()
|
||||||
|
*
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* @ingroup General
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_object_orientation_mode_disabled_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
|
|
@ -4427,7 +4427,7 @@ EAPI void
|
||||||
elm_widget_display_mode_set(Evas_Object *obj, Evas_Display_Mode dispmode)
|
elm_widget_display_mode_set(Evas_Object *obj, Evas_Display_Mode dispmode)
|
||||||
{
|
{
|
||||||
ELM_WIDGET_CHECK(obj);
|
ELM_WIDGET_CHECK(obj);
|
||||||
eo_do(obj, elm_wdg_display_mode_set(dispmode));
|
eo_do((Eo *) obj, elm_wdg_display_mode_set(dispmode));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -4456,6 +4456,66 @@ _elm_widget_display_mode_set(Eo *obj, void *_pd, va_list *list)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
elm_widget_orientation_mode_disabled_set(Evas_Object *obj, Eina_Bool disabled)
|
||||||
|
{
|
||||||
|
ELM_WIDGET_CHECK(obj);
|
||||||
|
eo_do((Eo *) obj, elm_wdg_orientation_mode_disabled_set(disabled));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_elm_widget_orientation_mode_disabled_set(Eo *obj __UNUSED__, void *_pd, va_list *list)
|
||||||
|
{
|
||||||
|
Eina_Bool disabled = va_arg(*list, int);
|
||||||
|
Elm_Widget_Smart_Data *sd = _pd;
|
||||||
|
disabled = !!disabled;
|
||||||
|
sd->orientation_disabled = disabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI Eina_Bool
|
||||||
|
elm_widget_orientation_mode_disabled_get(const Evas_Object *obj)
|
||||||
|
{
|
||||||
|
ELM_WIDGET_CHECK(obj) EINA_FALSE;
|
||||||
|
Eina_Bool ret;
|
||||||
|
eo_do((Eo *) obj, elm_wdg_orientation_mode_disabled_get(&ret));
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_elm_widget_orientation_mode_disabled_get(Eo *obj __UNUSED__, void *_pd, va_list *list)
|
||||||
|
{
|
||||||
|
Eina_Bool *ret = (Eina_Bool *)va_arg(*list, int);
|
||||||
|
Elm_Widget_Smart_Data *sd = _pd;
|
||||||
|
*ret = sd->orientation_disabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
elm_widget_orientation_set(Evas_Object *obj, int rotation)
|
||||||
|
{
|
||||||
|
ELM_WIDGET_CHECK(obj);
|
||||||
|
eo_do((Eo *) obj, elm_wdg_orientation_set(rotation));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_elm_widget_orientation_set(Eo *obj __UNUSED__, void *_pd, va_list *list)
|
||||||
|
{
|
||||||
|
Evas_Object *child;
|
||||||
|
Eina_List *l;
|
||||||
|
int rotation = va_arg(*list, int);
|
||||||
|
Elm_Widget_Smart_Data *sd = _pd;
|
||||||
|
if (sd->orientation_disabled) return;
|
||||||
|
|
||||||
|
if (sd->resize_obj && _elm_widget_is(sd->resize_obj))
|
||||||
|
elm_widget_orientation_set(sd->resize_obj, rotation);
|
||||||
|
if (sd->hover_obj && _elm_widget_is(sd->hover_obj))
|
||||||
|
elm_widget_orientation_set(sd->hover_obj, rotation);
|
||||||
|
|
||||||
|
EINA_LIST_FOREACH (sd->subobjs, l, child)
|
||||||
|
elm_widget_orientation_set(child, rotation);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @internal
|
* @internal
|
||||||
*
|
*
|
||||||
|
@ -5526,6 +5586,10 @@ _class_constructor(Eo_Class *klass)
|
||||||
|
|
||||||
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_THEME_OBJECT_SET), _elm_widget_theme_object_set),
|
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_THEME_OBJECT_SET), _elm_widget_theme_object_set),
|
||||||
|
|
||||||
|
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_ORIENTATION_SET), _elm_widget_orientation_set),
|
||||||
|
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_ORIENTATION_MODE_DISABLED_SET), _elm_widget_orientation_mode_disabled_set),
|
||||||
|
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_ORIENTATION_MODE_DISABLED_GET), _elm_widget_orientation_mode_disabled_get),
|
||||||
|
|
||||||
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_CUSTOM_CHAIN_SET), _elm_widget_focus_custom_chain_set),
|
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_CUSTOM_CHAIN_SET), _elm_widget_focus_custom_chain_set),
|
||||||
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_CUSTOM_CHAIN_GET), _elm_widget_focus_custom_chain_get),
|
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_CUSTOM_CHAIN_GET), _elm_widget_focus_custom_chain_get),
|
||||||
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_CUSTOM_CHAIN_UNSET), _elm_widget_focus_custom_chain_unset),
|
EO_OP_FUNC(ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_FOCUS_CUSTOM_CHAIN_UNSET), _elm_widget_focus_custom_chain_unset),
|
||||||
|
@ -5662,6 +5726,9 @@ static const Eo_Op_Description op_desc[] = {
|
||||||
EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_FOCUS_REGION_GET, "Get the focus region of the given widget."),
|
EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_FOCUS_REGION_GET, "Get the focus region of the given widget."),
|
||||||
|
|
||||||
EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_THEME_OBJECT_SET, "description here"),
|
EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_THEME_OBJECT_SET, "description here"),
|
||||||
|
EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_ORIENTATION_SET, "description here"),
|
||||||
|
EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_ORIENTATION_MODE_DISABLED_SET, "description here"),
|
||||||
|
EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_ORIENTATION_MODE_DISABLED_GET, "description here"),
|
||||||
|
|
||||||
EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_FOCUS_CUSTOM_CHAIN_SET, "Set custom focus chain."),
|
EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_FOCUS_CUSTOM_CHAIN_SET, "Set custom focus chain."),
|
||||||
EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_FOCUS_CUSTOM_CHAIN_GET, "Get custom focus chain."),
|
EO_OP_DESCRIPTION(ELM_WIDGET_SUB_ID_FOCUS_CUSTOM_CHAIN_GET, "Get custom focus chain."),
|
||||||
|
|
|
@ -430,6 +430,7 @@ typedef struct _Elm_Widget_Smart_Data
|
||||||
Eina_Bool still_in : 1;
|
Eina_Bool still_in : 1;
|
||||||
Eina_Bool can_access : 1;
|
Eina_Bool can_access : 1;
|
||||||
Eina_Bool highlighted : 1;
|
Eina_Bool highlighted : 1;
|
||||||
|
Eina_Bool orientation_disabled : 1;
|
||||||
} Elm_Widget_Smart_Data;
|
} Elm_Widget_Smart_Data;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -691,6 +692,9 @@ EAPI Evas_Object *elm_widget_content_part_get(const Evas_Object *obj, const
|
||||||
EAPI Evas_Object *elm_widget_content_part_unset(Evas_Object *obj, const char *part);
|
EAPI Evas_Object *elm_widget_content_part_unset(Evas_Object *obj, const char *part);
|
||||||
EAPI void elm_widget_access_info_set(Evas_Object *obj, const char *txt);
|
EAPI void elm_widget_access_info_set(Evas_Object *obj, const char *txt);
|
||||||
EAPI const char *elm_widget_access_info_get(const Evas_Object *obj);
|
EAPI const char *elm_widget_access_info_get(const Evas_Object *obj);
|
||||||
|
EAPI void elm_widget_orientation_set(Evas_Object *obj, int rotation);
|
||||||
|
EAPI void elm_widget_orientation_mode_disabled_set(Evas_Object *obj, Eina_Bool disabled);
|
||||||
|
EAPI Eina_Bool elm_widget_orientation_mode_disabled_get(const Evas_Object *obj);
|
||||||
EAPI Elm_Widget_Item *_elm_widget_item_new(Evas_Object *parent, size_t alloc_size);
|
EAPI Elm_Widget_Item *_elm_widget_item_new(Evas_Object *parent, size_t alloc_size);
|
||||||
EAPI void _elm_widget_item_free(Elm_Widget_Item *item);
|
EAPI void _elm_widget_item_free(Elm_Widget_Item *item);
|
||||||
EAPI Evas_Object *_elm_widget_item_widget_get(const Elm_Widget_Item *item);
|
EAPI Evas_Object *_elm_widget_item_widget_get(const Elm_Widget_Item *item);
|
||||||
|
@ -1121,6 +1125,10 @@ enum
|
||||||
ELM_WIDGET_SUB_ID_FOCUS_REGION_GET,
|
ELM_WIDGET_SUB_ID_FOCUS_REGION_GET,
|
||||||
|
|
||||||
ELM_WIDGET_SUB_ID_THEME_OBJECT_SET,
|
ELM_WIDGET_SUB_ID_THEME_OBJECT_SET,
|
||||||
|
ELM_WIDGET_SUB_ID_ORIENTATION_SET,
|
||||||
|
ELM_WIDGET_SUB_ID_ORIENTATION_MODE_DISABLED_SET,
|
||||||
|
ELM_WIDGET_SUB_ID_ORIENTATION_MODE_DISABLED_GET,
|
||||||
|
|
||||||
/* internal */
|
/* internal */
|
||||||
ELM_WIDGET_SUB_ID_FOCUS_CUSTOM_CHAIN_SET,
|
ELM_WIDGET_SUB_ID_FOCUS_CUSTOM_CHAIN_SET,
|
||||||
ELM_WIDGET_SUB_ID_FOCUS_CUSTOM_CHAIN_GET,
|
ELM_WIDGET_SUB_ID_FOCUS_CUSTOM_CHAIN_GET,
|
||||||
|
@ -2387,5 +2395,38 @@ typedef void * (*list_data_get_func_type)(const Eina_List * l);
|
||||||
*/
|
*/
|
||||||
#define elm_wdg_can_focus_child_list_get(ret) ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_CAN_FOCUS_CHILD_LIST_GET), EO_TYPECHECK(Eina_List **, ret)
|
#define elm_wdg_can_focus_child_list_get(ret) ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_CAN_FOCUS_CHILD_LIST_GET), EO_TYPECHECK(Eina_List **, ret)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_wdg_orientation_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* No description supplied by the EAPI.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define elm_wdg_orientation_set(rotation) ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_ORIENTATION_SET), EO_TYPECHECK(int, rotation)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_wdg_orientation_mode_disabled_set
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* No description supplied by the EAPI.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define elm_wdg_orientation_mode_disabled_set(disabled) ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_ORIENTATION_MODE_DISABLED_SET), EO_TYPECHECK(Eina_Bool, disabled)
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @def elm_wdg_orientation_mode_disabled_get
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* No description supplied by the EAPI.
|
||||||
|
*
|
||||||
|
* @param[out] ret
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
#define elm_wdg_orientation_mode_disabled_get(ret) ELM_WIDGET_ID(ELM_WIDGET_SUB_ID_ORIENTATION_MODE_DISABLED_GET), EO_TYPECHECK(Eina_Bool *, ret)
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -4232,6 +4232,7 @@ _win_rotate(Evas_Object *obj, Elm_Win_Smart_Data *sd, int rotation, Eina_Bool re
|
||||||
#ifdef HAVE_ELEMENTARY_X
|
#ifdef HAVE_ELEMENTARY_X
|
||||||
_elm_win_xwin_update(sd);
|
_elm_win_xwin_update(sd);
|
||||||
#endif
|
#endif
|
||||||
|
elm_widget_orientation_set(obj, rotation);
|
||||||
evas_object_smart_callback_call(obj, SIG_ROTATION_CHANGED, NULL);
|
evas_object_smart_callback_call(obj, SIG_ROTATION_CHANGED, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue