forked from enlightenment/efl
elementary: make Elm_Slider update asynchronously.
SVN revision: 74909
This commit is contained in:
parent
03ae812b1f
commit
601ac3dd90
|
@ -366,3 +366,7 @@
|
||||||
2012-08-02 Cedric Bail
|
2012-08-02 Cedric Bail
|
||||||
|
|
||||||
* Fix elm_image_orient_set/get.
|
* Fix elm_image_orient_set/get.
|
||||||
|
|
||||||
|
2012-08-06 Cedric Bail
|
||||||
|
|
||||||
|
* Make Elm_Slider update itself asynchronously.
|
||||||
|
|
|
@ -35,6 +35,7 @@ Improvements:
|
||||||
* Allocate once and reuse Evas_Map.
|
* Allocate once and reuse Evas_Map.
|
||||||
* Allow freeze/thaw on Elm_Layout and reduce number of object update.
|
* Allow freeze/thaw on Elm_Layout and reduce number of object update.
|
||||||
* Defer Elm_Calendar generation until really needed.
|
* Defer Elm_Calendar generation until really needed.
|
||||||
|
* Defer Elm_Slider update until really needed.
|
||||||
|
|
||||||
Removal:
|
Removal:
|
||||||
|
|
||||||
|
|
|
@ -162,9 +162,7 @@ _indicator_set(Evas_Object *obj)
|
||||||
static void
|
static void
|
||||||
_slider_update(Evas_Object *obj)
|
_slider_update(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
_val_fetch(obj);
|
evas_object_smart_changed(obj);
|
||||||
_units_set(obj);
|
|
||||||
_indicator_set(obj);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -383,14 +381,8 @@ success:
|
||||||
static void
|
static void
|
||||||
_visuals_refresh(Evas_Object *obj)
|
_visuals_refresh(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
ELM_SLIDER_DATA_GET(obj, sd);
|
|
||||||
|
|
||||||
if (sd->popup)
|
|
||||||
edje_object_scale_set(sd->popup, elm_widget_scale_get(obj) *
|
|
||||||
elm_config_scale_get());
|
|
||||||
_val_set(obj);
|
_val_set(obj);
|
||||||
_units_set(obj);
|
evas_object_smart_changed(obj);
|
||||||
_indicator_set(obj);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static Eina_Bool
|
static Eina_Bool
|
||||||
|
@ -417,6 +409,10 @@ _elm_slider_smart_theme(Evas_Object *obj)
|
||||||
|
|
||||||
if (!ELM_WIDGET_CLASS(_elm_slider_parent_sc)->theme(obj)) return EINA_FALSE;
|
if (!ELM_WIDGET_CLASS(_elm_slider_parent_sc)->theme(obj)) return EINA_FALSE;
|
||||||
|
|
||||||
|
if (sd->popup)
|
||||||
|
edje_object_scale_set(sd->popup, elm_widget_scale_get(obj) *
|
||||||
|
elm_config_scale_get());
|
||||||
|
|
||||||
if (sd->units)
|
if (sd->units)
|
||||||
elm_layout_signal_emit(obj, "elm,state,units,visible", "elm");
|
elm_layout_signal_emit(obj, "elm,state,units,visible", "elm");
|
||||||
|
|
||||||
|
@ -442,7 +438,7 @@ _elm_slider_smart_theme(Evas_Object *obj)
|
||||||
if (sd->popup)
|
if (sd->popup)
|
||||||
edje_object_message_signal_process(sd->popup);
|
edje_object_message_signal_process(sd->popup);
|
||||||
|
|
||||||
elm_layout_sizing_eval(obj);
|
evas_object_smart_changed(obj);
|
||||||
|
|
||||||
return EINA_TRUE;
|
return EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
@ -646,6 +642,30 @@ _min_max_set(Evas_Object *obj)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_elm_slider_smart_calculate(Evas_Object *obj)
|
||||||
|
{
|
||||||
|
ELM_SLIDER_DATA_GET(obj, sd);
|
||||||
|
|
||||||
|
elm_layout_freeze(obj);
|
||||||
|
|
||||||
|
if (sd->horizontal)
|
||||||
|
evas_object_size_hint_min_set
|
||||||
|
(sd->spacer, (double)sd->size * elm_widget_scale_get(obj) *
|
||||||
|
elm_config_scale_get(), 1);
|
||||||
|
else
|
||||||
|
evas_object_size_hint_min_set
|
||||||
|
(sd->spacer, 1, (double)sd->size * elm_widget_scale_get(obj) *
|
||||||
|
elm_config_scale_get());
|
||||||
|
|
||||||
|
_val_fetch(obj);
|
||||||
|
_units_set(obj);
|
||||||
|
_min_max_set(obj);
|
||||||
|
_indicator_set(obj);
|
||||||
|
|
||||||
|
elm_layout_thaw(obj);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_elm_slider_smart_add(Evas_Object *obj)
|
_elm_slider_smart_add(Evas_Object *obj)
|
||||||
{
|
{
|
||||||
|
@ -713,7 +733,7 @@ _elm_slider_smart_add(Evas_Object *obj)
|
||||||
|
|
||||||
elm_widget_can_focus_set(obj, EINA_TRUE);
|
elm_widget_can_focus_set(obj, EINA_TRUE);
|
||||||
|
|
||||||
elm_layout_sizing_eval(obj);
|
evas_object_smart_changed(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -735,6 +755,7 @@ _elm_slider_smart_set_user(Elm_Slider_Smart_Class *sc)
|
||||||
{
|
{
|
||||||
ELM_WIDGET_CLASS(sc)->base.add = _elm_slider_smart_add;
|
ELM_WIDGET_CLASS(sc)->base.add = _elm_slider_smart_add;
|
||||||
ELM_WIDGET_CLASS(sc)->base.del = _elm_slider_smart_del;
|
ELM_WIDGET_CLASS(sc)->base.del = _elm_slider_smart_del;
|
||||||
|
ELM_WIDGET_CLASS(sc)->base.calculate = _elm_slider_smart_calculate;
|
||||||
|
|
||||||
ELM_WIDGET_CLASS(sc)->theme = _elm_slider_smart_theme;
|
ELM_WIDGET_CLASS(sc)->theme = _elm_slider_smart_theme;
|
||||||
ELM_WIDGET_CLASS(sc)->event = _elm_slider_smart_event;
|
ELM_WIDGET_CLASS(sc)->event = _elm_slider_smart_event;
|
||||||
|
@ -792,14 +813,6 @@ elm_slider_span_size_set(Evas_Object *obj,
|
||||||
|
|
||||||
if (sd->size == size) return;
|
if (sd->size == size) return;
|
||||||
sd->size = size;
|
sd->size = size;
|
||||||
if (sd->horizontal)
|
|
||||||
evas_object_size_hint_min_set
|
|
||||||
(sd->spacer, (double)sd->size * elm_widget_scale_get(obj) *
|
|
||||||
elm_config_scale_get(), 1);
|
|
||||||
else
|
|
||||||
evas_object_size_hint_min_set
|
|
||||||
(sd->spacer, 1, (double)sd->size * elm_widget_scale_get(obj) *
|
|
||||||
elm_config_scale_get());
|
|
||||||
|
|
||||||
if (sd->indicator_show)
|
if (sd->indicator_show)
|
||||||
{
|
{
|
||||||
|
@ -814,7 +827,7 @@ elm_slider_span_size_set(Evas_Object *obj,
|
||||||
edje_object_signal_emit(sd->popup, "elm,state,val,hide", "elm");
|
edje_object_signal_emit(sd->popup, "elm,state,val,hide", "elm");
|
||||||
}
|
}
|
||||||
|
|
||||||
elm_layout_sizing_eval(obj);
|
evas_object_smart_changed(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Evas_Coord
|
EAPI Evas_Coord
|
||||||
|
@ -849,10 +862,7 @@ elm_slider_unit_format_set(Evas_Object *obj,
|
||||||
edje_object_signal_emit(sd->popup, "elm,state,units,hidden", "elm");
|
edje_object_signal_emit(sd->popup, "elm,state,units,hidden", "elm");
|
||||||
}
|
}
|
||||||
|
|
||||||
_min_max_set(obj);
|
evas_object_smart_changed(obj);
|
||||||
_units_set(obj);
|
|
||||||
|
|
||||||
elm_layout_sizing_eval(obj);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI const char *
|
EAPI const char *
|
||||||
|
@ -872,7 +882,7 @@ elm_slider_indicator_format_set(Evas_Object *obj,
|
||||||
ELM_SLIDER_DATA_GET(obj, sd);
|
ELM_SLIDER_DATA_GET(obj, sd);
|
||||||
|
|
||||||
eina_stringshare_replace(&sd->indicator, indicator);
|
eina_stringshare_replace(&sd->indicator, indicator);
|
||||||
_indicator_set(obj);
|
evas_object_smart_changed(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI const char *
|
EAPI const char *
|
||||||
|
@ -921,8 +931,6 @@ elm_slider_min_max_set(Evas_Object *obj,
|
||||||
if (sd->val < sd->val_min) sd->val = sd->val_min;
|
if (sd->val < sd->val_min) sd->val = sd->val_min;
|
||||||
if (sd->val > sd->val_max) sd->val = sd->val_max;
|
if (sd->val > sd->val_max) sd->val = sd->val_max;
|
||||||
|
|
||||||
_min_max_set(obj);
|
|
||||||
|
|
||||||
_visuals_refresh(obj);
|
_visuals_refresh(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1014,7 +1022,7 @@ elm_slider_indicator_format_function_set(Evas_Object *obj,
|
||||||
|
|
||||||
sd->indicator_format_func = func;
|
sd->indicator_format_func = func;
|
||||||
sd->indicator_format_free = free_func;
|
sd->indicator_format_free = free_func;
|
||||||
_indicator_set(obj);
|
evas_object_smart_changed(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1028,8 +1036,7 @@ elm_slider_units_format_function_set(Evas_Object *obj,
|
||||||
sd->units_format_func = func;
|
sd->units_format_func = func;
|
||||||
sd->units_format_free = free_func;
|
sd->units_format_free = free_func;
|
||||||
|
|
||||||
_min_max_set(obj);
|
evas_object_smart_changed(obj);
|
||||||
_units_set(obj);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
@ -1053,7 +1060,7 @@ elm_slider_indicator_show_set(Evas_Object *obj,
|
||||||
edje_object_signal_emit(sd->popup, "elm,state,val,hide", "elm");
|
edje_object_signal_emit(sd->popup, "elm,state,val,hide", "elm");
|
||||||
}
|
}
|
||||||
|
|
||||||
elm_layout_sizing_eval(obj);
|
evas_object_smart_changed(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
|
|
Loading…
Reference in New Issue