forked from enlightenment/efl
Add the toolbar API which expand the transverse length
SVN revision: 77107
This commit is contained in:
parent
33b0007e16
commit
052588f9d7
|
@ -537,4 +537,8 @@
|
||||||
|
|
||||||
2012-09-25 Cedric Bail
|
2012-09-25 Cedric Bail
|
||||||
|
|
||||||
* Escape theme filename correctly.
|
* Escape theme filename correctly.
|
||||||
|
|
||||||
|
2012-09-27 Jaehwan Kim
|
||||||
|
|
||||||
|
* Add the toolbar API which expand the transverse length
|
||||||
|
|
|
@ -7,6 +7,7 @@ Additions:
|
||||||
* Add elementary_codegen
|
* Add elementary_codegen
|
||||||
* Add window floating mode api's
|
* Add window floating mode api's
|
||||||
* Add reorder mode set/get API in Toolbar.
|
* Add reorder mode set/get API in Toolbar.
|
||||||
|
* Add the toolbar API which expand the transverse length.
|
||||||
|
|
||||||
Improvements:
|
Improvements:
|
||||||
|
|
||||||
|
|
|
@ -831,6 +831,7 @@ test_toolbar8(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_in
|
||||||
tb = elm_toolbar_add(win);
|
tb = elm_toolbar_add(win);
|
||||||
elm_toolbar_homogeneous_set(tb, EINA_FALSE);
|
elm_toolbar_homogeneous_set(tb, EINA_FALSE);
|
||||||
elm_toolbar_shrink_mode_set(tb, ELM_TOOLBAR_SHRINK_EXPAND);
|
elm_toolbar_shrink_mode_set(tb, ELM_TOOLBAR_SHRINK_EXPAND);
|
||||||
|
elm_toolbar_transverse_expanded_set(tb, EINA_TRUE);
|
||||||
elm_toolbar_standard_priority_set(tb, 0);
|
elm_toolbar_standard_priority_set(tb, 0);
|
||||||
evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
||||||
evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
||||||
|
|
|
@ -236,12 +236,12 @@ _resize_job(void *data)
|
||||||
|
|
||||||
if (sd->vertical)
|
if (sd->vertical)
|
||||||
{
|
{
|
||||||
evas_object_resize(sd->bx, w, vh);
|
h = vh;
|
||||||
_items_visibility_fix(sd, &ih, vh, &more);
|
_items_visibility_fix(sd, &ih, vh, &more);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
evas_object_resize(sd->bx, vw, h);
|
w = vw;
|
||||||
_items_visibility_fix(sd, &iw, vw, &more);
|
_items_visibility_fix(sd, &iw, vw, &more);
|
||||||
}
|
}
|
||||||
evas_object_geometry_get
|
evas_object_geometry_get
|
||||||
|
@ -316,12 +316,12 @@ _resize_job(void *data)
|
||||||
|
|
||||||
if (sd->vertical)
|
if (sd->vertical)
|
||||||
{
|
{
|
||||||
evas_object_resize(sd->bx, w, vh);
|
h = vh;
|
||||||
_items_visibility_fix(sd, &ih, vh, &more);
|
_items_visibility_fix(sd, &ih, vh, &more);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
evas_object_resize(sd->bx, vw, h);
|
w = vw;
|
||||||
_items_visibility_fix(sd, &iw, vw, &more);
|
_items_visibility_fix(sd, &iw, vw, &more);
|
||||||
}
|
}
|
||||||
evas_object_box_remove_all(sd->bx, EINA_FALSE);
|
evas_object_box_remove_all(sd->bx, EINA_FALSE);
|
||||||
|
@ -353,12 +353,10 @@ _resize_job(void *data)
|
||||||
{
|
{
|
||||||
Evas_Coord iw = 0, ih = 0;
|
Evas_Coord iw = 0, ih = 0;
|
||||||
|
|
||||||
if ((vw >= mw) && (vh >= mh))
|
if (sd->vertical)
|
||||||
evas_object_resize(sd->bx, vw, vh);
|
h = (vh >= mh) ? vh : mh;
|
||||||
else if (vw < mw)
|
else
|
||||||
evas_object_resize(sd->bx, mw, vh);
|
w = (vw >= mw) ? vw : mw;
|
||||||
else if (vh < mh)
|
|
||||||
evas_object_resize(sd->bx, vw, mh);
|
|
||||||
|
|
||||||
if (sd->vertical)
|
if (sd->vertical)
|
||||||
_items_visibility_fix(sd, &ih, vh, &more);
|
_items_visibility_fix(sd, &ih, vh, &more);
|
||||||
|
@ -389,11 +387,11 @@ _resize_job(void *data)
|
||||||
{
|
{
|
||||||
if (sd->vertical)
|
if (sd->vertical)
|
||||||
{
|
{
|
||||||
if ((vh >= mh) && (h != vh)) evas_object_resize(sd->bx, w, vh);
|
if ((vh >= mh) && (h != vh)) h = vh;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if ((vw >= mw) && (w != vw)) evas_object_resize(sd->bx, vw, h);
|
if ((vw >= mw) && (w != vw)) w = vw;
|
||||||
}
|
}
|
||||||
EINA_INLIST_FOREACH(sd->items, it)
|
EINA_INLIST_FOREACH(sd->items, it)
|
||||||
{
|
{
|
||||||
|
@ -405,6 +403,16 @@ _resize_job(void *data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sd->transverse_expanded)
|
||||||
|
{
|
||||||
|
if (sd->vertical)
|
||||||
|
w = vw;
|
||||||
|
else
|
||||||
|
h = vh;
|
||||||
|
}
|
||||||
|
|
||||||
|
evas_object_resize(sd->bx, w, h);
|
||||||
|
|
||||||
// Remove the first or last separator since it is not neccessary
|
// Remove the first or last separator since it is not neccessary
|
||||||
list = evas_object_box_children_get(sd->bx_more);
|
list = evas_object_box_children_get(sd->bx_more);
|
||||||
EINA_INLIST_FOREACH(sd->items, it)
|
EINA_INLIST_FOREACH(sd->items, it)
|
||||||
|
@ -840,8 +848,14 @@ _sizing_eval(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
minw = minw_bx + (w - vw);
|
minw = minw_bx + (w - vw);
|
||||||
minh = minh_bx + (h - vh);
|
minh = minh_bx + (h - vh);
|
||||||
if (minw_bx < vw) minw_bx = vw;
|
if (sd->vertical)
|
||||||
if (minh_bx < vh) minh_bx = vh;
|
{
|
||||||
|
if (minh_bx < vh) minh_bx = vh;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if (minw_bx < vw) minw_bx = vw;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -857,8 +871,16 @@ _sizing_eval(Evas_Object *obj)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (sd->transverse_expanded)
|
||||||
|
{
|
||||||
|
if (sd->vertical)
|
||||||
|
minw_bx = vw;
|
||||||
|
else
|
||||||
|
minh_bx = vh;
|
||||||
|
}
|
||||||
|
|
||||||
evas_object_resize(sd->bx, minw_bx, minh_bx);
|
evas_object_resize(sd->bx, minw_bx, minh_bx);
|
||||||
evas_object_resize(sd->more, w, h);
|
evas_object_resize(sd->more, minw_bx, minh_bx);
|
||||||
evas_object_size_hint_min_set(obj, minw, minh);
|
evas_object_size_hint_min_set(obj, minw, minh);
|
||||||
evas_object_size_hint_max_set(obj, -1, -1);
|
evas_object_size_hint_max_set(obj, -1, -1);
|
||||||
|
|
||||||
|
@ -2647,6 +2669,27 @@ elm_toolbar_shrink_mode_get(const Evas_Object *obj)
|
||||||
return sd->shrink_mode;
|
return sd->shrink_mode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
elm_toolbar_transverse_expanded_set(Evas_Object *obj, Eina_Bool transverse_expanded)
|
||||||
|
{
|
||||||
|
ELM_TOOLBAR_CHECK(obj);
|
||||||
|
ELM_TOOLBAR_DATA_GET(obj, sd);
|
||||||
|
|
||||||
|
if (sd->transverse_expanded == transverse_expanded) return;
|
||||||
|
sd->transverse_expanded = transverse_expanded;
|
||||||
|
|
||||||
|
_sizing_eval(obj);
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI Eina_Bool
|
||||||
|
elm_toolbar_transverse_expanded_get(const Evas_Object *obj)
|
||||||
|
{
|
||||||
|
ELM_TOOLBAR_CHECK(obj) EINA_FALSE;
|
||||||
|
ELM_TOOLBAR_DATA_GET(obj, sd);
|
||||||
|
|
||||||
|
return sd->transverse_expanded;
|
||||||
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
elm_toolbar_homogeneous_set(Evas_Object *obj,
|
elm_toolbar_homogeneous_set(Evas_Object *obj,
|
||||||
Eina_Bool homogeneous)
|
Eina_Bool homogeneous)
|
||||||
|
|
|
@ -609,6 +609,33 @@ EAPI void elm_toolbar_shrink_mode_set(Evas_Object *obj,
|
||||||
*/
|
*/
|
||||||
EAPI Elm_Toolbar_Shrink_Mode elm_toolbar_shrink_mode_get(const Evas_Object *obj);
|
EAPI Elm_Toolbar_Shrink_Mode elm_toolbar_shrink_mode_get(const Evas_Object *obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the item's transverse expansion of a given toolbar widget @p obj.
|
||||||
|
*
|
||||||
|
* @param obj The toolbar object.
|
||||||
|
* @param transverse_expanded The transverse expansion of the item.
|
||||||
|
* (EINA_TRUE = on, EINA_FALSE = off, default = EINA_FALSE)
|
||||||
|
*
|
||||||
|
* This will expand the transverse length of the item according the transverse length of the toolbar.
|
||||||
|
* The default is what the transverse length of the item is set according its min value.
|
||||||
|
*
|
||||||
|
* @ingroup Toolbar
|
||||||
|
*/
|
||||||
|
EAPI void elm_toolbar_transverse_expanded_set(Evas_Object *obj, Eina_Bool transverse_expanded);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the transverse expansion of toolbar @p obj.
|
||||||
|
*
|
||||||
|
* @param obj The toolbar object.
|
||||||
|
* @return The transverse expansion of the item.
|
||||||
|
* (EINA_TRUE = on, EINA_FALSE = off, default = EINA_FALSE)
|
||||||
|
*
|
||||||
|
* @see elm_toolbar_transverse_expand_set() for details.
|
||||||
|
*
|
||||||
|
* @ingroup Toolbar
|
||||||
|
*/
|
||||||
|
EAPI Eina_Bool elm_toolbar_transverse_expanded_get(const Evas_Object *obj);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enable/disable homogeneous mode.
|
* Enable/disable homogeneous mode.
|
||||||
*
|
*
|
||||||
|
|
|
@ -151,6 +151,7 @@ struct _Elm_Toolbar_Smart_Data
|
||||||
Eina_Bool homogeneous : 1;
|
Eina_Bool homogeneous : 1;
|
||||||
Eina_Bool on_deletion : 1;
|
Eina_Bool on_deletion : 1;
|
||||||
Eina_Bool reorder_mode : 1;
|
Eina_Bool reorder_mode : 1;
|
||||||
|
Eina_Bool transverse_expanded : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _Elm_Toolbar_Item
|
struct _Elm_Toolbar_Item
|
||||||
|
|
Loading…
Reference in New Issue