forked from enlightenment/efl
elm_progressbar: make pulse and pulse_mode independend from legacy
Summary: the next commit will refactor this API for Efl.Ui namespace. ref T8501 Reviewers: cedric, woohyun, zmike, segfaultxavi Reviewed By: zmike Subscribers: #reviewers, #committers Tags: #efl Maniphest Tasks: T8501 Differential Revision: https://phab.enlightenment.org/D10941
This commit is contained in:
parent
d958f6907d
commit
8fefb6f099
|
@ -618,6 +618,18 @@ _efl_ui_progressbar_efl_ui_range_display_range_value_get(const Eo *obj, Efl_Ui_P
|
||||||
return efl_ui_range_value_get(efl_part(obj, "efl.cur.progressbar"));
|
return efl_ui_range_value_get(efl_part(obj, "efl.cur.progressbar"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
_apply_pulse_state(Eo *obj, Efl_Ui_Progressbar_Data *sd)
|
||||||
|
{
|
||||||
|
Eina_Bool legacy = elm_widget_is_legacy(obj);
|
||||||
|
const char *emitter = legacy ? "elm" : "efl";
|
||||||
|
const char *signal = legacy ? "elm,state,pulse," : "efl,state,pulse,";
|
||||||
|
char signal_buffer[strlen(signal) + strlen("start") + 1];
|
||||||
|
|
||||||
|
snprintf(signal_buffer, sizeof(signal_buffer), "%s%s", signal, sd->pulse_state ? "start" : "stop");
|
||||||
|
elm_layout_signal_emit(obj, signal_buffer, emitter);
|
||||||
|
}
|
||||||
|
|
||||||
EOLIAN static void
|
EOLIAN static void
|
||||||
_efl_ui_progressbar_pulse_set(Eo *obj, Efl_Ui_Progressbar_Data *sd, Eina_Bool state)
|
_efl_ui_progressbar_pulse_set(Eo *obj, Efl_Ui_Progressbar_Data *sd, Eina_Bool state)
|
||||||
{
|
{
|
||||||
|
@ -626,20 +638,7 @@ _efl_ui_progressbar_pulse_set(Eo *obj, Efl_Ui_Progressbar_Data *sd, Eina_Bool st
|
||||||
|
|
||||||
sd->pulse_state = state;
|
sd->pulse_state = state;
|
||||||
|
|
||||||
if (elm_widget_is_legacy(obj))
|
_apply_pulse_state(obj, sd);
|
||||||
{
|
|
||||||
if (sd->pulse_state)
|
|
||||||
elm_layout_signal_emit(obj, "elm,state,pulse,start", "elm");
|
|
||||||
else
|
|
||||||
elm_layout_signal_emit(obj, "elm,state,pulse,stop", "elm");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if (sd->pulse_state)
|
|
||||||
elm_layout_signal_emit(obj, "efl,state,pulse,start", "efl");
|
|
||||||
else
|
|
||||||
elm_layout_signal_emit(obj, "efl,state,pulse,stop", "efl");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
EOLIAN static Eina_Bool
|
EOLIAN static Eina_Bool
|
||||||
|
@ -899,25 +898,40 @@ elm_progressbar_add(Evas_Object *parent)
|
||||||
EAPI void
|
EAPI void
|
||||||
elm_progressbar_pulse_set(Evas_Object *obj, Eina_Bool pulse)
|
elm_progressbar_pulse_set(Evas_Object *obj, Eina_Bool pulse)
|
||||||
{
|
{
|
||||||
efl_ui_progressbar_pulse_mode_set(obj, pulse);
|
EFL_UI_PROGRESSBAR_DATA_GET_OR_RETURN(obj, sd);
|
||||||
|
pulse = !!pulse;
|
||||||
|
if (sd->pulse == pulse) return;
|
||||||
|
|
||||||
|
sd->pulse = pulse;
|
||||||
|
|
||||||
|
efl_ui_widget_theme_apply(obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
elm_progressbar_pulse_get(const Evas_Object *obj)
|
elm_progressbar_pulse_get(const Evas_Object *obj)
|
||||||
{
|
{
|
||||||
return efl_ui_progressbar_pulse_mode_get(obj);
|
EFL_UI_PROGRESSBAR_DATA_GET_OR_RETURN(obj, sd, EINA_FALSE);
|
||||||
|
return sd->pulse;
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
elm_progressbar_pulse(Evas_Object *obj, Eina_Bool state)
|
elm_progressbar_pulse(Evas_Object *obj, Eina_Bool state)
|
||||||
{
|
{
|
||||||
efl_ui_progressbar_pulse_set(obj, state);
|
EFL_UI_PROGRESSBAR_DATA_GET_OR_RETURN(obj, sd);
|
||||||
|
|
||||||
|
state = !!state;
|
||||||
|
if ((!sd->pulse) || (sd->pulse_state == state)) return;
|
||||||
|
|
||||||
|
sd->pulse_state = state;
|
||||||
|
|
||||||
|
_apply_pulse_state(obj, sd);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI Eina_Bool
|
EAPI Eina_Bool
|
||||||
elm_progressbar_is_pulsing_get(const Evas_Object *obj)
|
elm_progressbar_is_pulsing_get(const Evas_Object *obj)
|
||||||
{
|
{
|
||||||
return efl_ui_progressbar_pulse_get(obj);
|
EFL_UI_PROGRESSBAR_DATA_GET_OR_RETURN(obj, sd, EINA_FALSE);
|
||||||
|
return (sd->pulse_state && sd->pulse);
|
||||||
}
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
|
|
Loading…
Reference in New Issue