summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2019-12-20 14:33:23 +0100
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2019-12-20 14:34:53 +0100
commit2d0564e3477f9caca736deb187fb54dbcf33b900 (patch)
tree5f034dfa2ad3b833e72d34440697a50f1a4468a7
parent9fa6013b8871ae79c4f34047c4dd82c5d607e9f9 (diff)
downloadefl-devs/bu5hm4n/work_progressbar.tar.gz
efl_ui_progressbar: remove pulse_modedevs/bu5hm4n/work_progressbar
pulse_mode is now implicit with pulse, if you set the progressbar to pulse, the state is internally adjusted in a way that the theme is put into the correct state. Legacy is not impacted by this because of the previous commit. ref T8501
-rw-r--r--src/bin/elementary/test_part_shadow.c4
-rw-r--r--src/lib/elementary/efl_ui_progressbar.c36
-rw-r--r--src/lib/elementary/efl_ui_progressbar.eo27
3 files changed, 19 insertions, 48 deletions
diff --git a/src/bin/elementary/test_part_shadow.c b/src/bin/elementary/test_part_shadow.c
index c8e0f18591..dd6f388bdb 100644
--- a/src/bin/elementary/test_part_shadow.c
+++ b/src/bin/elementary/test_part_shadow.c
@@ -96,7 +96,6 @@ test_part_shadow(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve
pb = efl_add(EFL_UI_PROGRESSBAR_CLASS, win);
efl_gfx_hint_weight_set(pb, EFL_GFX_HINT_EXPAND, 0);
- efl_ui_progressbar_pulse_mode_set(pb, EINA_TRUE);
efl_pack(bx, pb);
td->pb1 = pb;
@@ -122,7 +121,6 @@ test_part_shadow(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve
efl_unref(shadow);
pb = efl_add(EFL_UI_PROGRESSBAR_CLASS, win);
- efl_ui_progressbar_pulse_mode_set(pb, EINA_TRUE);
efl_gfx_hint_weight_set(pb, EFL_GFX_HINT_EXPAND, 0);
efl_pack(bx, pb);
td->pb4 = pb;
@@ -150,7 +148,6 @@ test_part_shadow(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve
// FIXME: Needs wheel progressbar class
pb = efl_add(EFL_UI_PROGRESSBAR_CLASS, win,
efl_ui_widget_style_set(efl_added, "wheel"));
- efl_ui_progressbar_pulse_mode_set(pb, EINA_TRUE);
efl_pack(hbx, pb);
td->pb2 = pb;
@@ -163,7 +160,6 @@ test_part_shadow(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *eve
pb = efl_add(EFL_UI_PROGRESSBAR_CLASS, win,
efl_ui_widget_style_set(efl_added, "wheel"));
- efl_ui_progressbar_pulse_mode_set(pb, EINA_TRUE);
efl_pack(hbx, pb);
td->pb3 = pb;
diff --git a/src/lib/elementary/efl_ui_progressbar.c b/src/lib/elementary/efl_ui_progressbar.c
index 77b7eb428d..4d186aedff 100644
--- a/src/lib/elementary/efl_ui_progressbar.c
+++ b/src/lib/elementary/efl_ui_progressbar.c
@@ -407,23 +407,6 @@ _efl_ui_progressbar_efl_object_constructor(Eo *obj, Efl_Ui_Progressbar_Data *_pd
}
EOLIAN static void
-_efl_ui_progressbar_pulse_mode_set(Eo *obj EINA_UNUSED, Efl_Ui_Progressbar_Data *sd, Eina_Bool pulse)
-{
- pulse = !!pulse;
- if (sd->pulse == pulse) return;
-
- sd->pulse = pulse;
-
- efl_ui_widget_theme_apply(obj);
-}
-
-EOLIAN static Eina_Bool
-_efl_ui_progressbar_pulse_mode_get(const Eo *obj EINA_UNUSED, Efl_Ui_Progressbar_Data *sd)
-{
- return sd->pulse;
-}
-
-EOLIAN static void
_efl_ui_progressbar_efl_ui_layout_orientable_orientation_set(Eo *obj, Efl_Ui_Progressbar_Data *sd, Efl_Ui_Layout_Orientation dir)
{
if (sd->dir == dir) return;
@@ -514,6 +497,18 @@ _progress_part_min_max_set(Eo *obj, Efl_Ui_Progressbar_Data *sd, const char *par
}
static void
+_internal_theme_mode_pulse_set(Eo *obj, Efl_Ui_Progressbar_Data *sd, Eina_Bool pulse)
+{
+ if (elm_widget_is_legacy(obj))
+ return;
+ if (sd->pulse == pulse)
+ return;
+ sd->pulse = pulse;
+ efl_ui_widget_theme_apply(obj);
+}
+
+
+static void
_progressbar_part_value_set(Eo *obj, Efl_Ui_Progressbar_Data *sd, const char *part_name, double val)
{
Efl_Ui_Progress_Status *ps;
@@ -527,6 +522,8 @@ _progressbar_part_value_set(Eo *obj, Efl_Ui_Progressbar_Data *sd, const char *pa
};
Eina_Bool is_cur_progressbar = !strcmp(part_name, curprogresspart[elm_widget_is_legacy(obj)]);
+ _internal_theme_mode_pulse_set(obj, sd, EINA_FALSE);
+
if ((!is_cur_progressbar) || sd->has_cur_progressbar_part)
efl_ui_range_limits_get(efl_part(obj, part_name), &min, &max);
@@ -633,10 +630,13 @@ EOLIAN static void
_efl_ui_progressbar_pulse_set(Eo *obj, Efl_Ui_Progressbar_Data *sd, Eina_Bool state)
{
state = !!state;
- if ((!sd->pulse) || (sd->pulse_state == state)) return;
+
+ if (sd->pulse_state == state)
+ return;
sd->pulse_state = state;
+ _internal_theme_mode_pulse_set(obj, sd, EINA_TRUE);
_apply_pulse_state(obj, sd);
}
diff --git a/src/lib/elementary/efl_ui_progressbar.eo b/src/lib/elementary/efl_ui_progressbar.eo
index e2994a266f..7166d8ee44 100644
--- a/src/lib/elementary/efl_ui_progressbar.eo
+++ b/src/lib/elementary/efl_ui_progressbar.eo
@@ -4,33 +4,8 @@ class @beta Efl.Ui.Progressbar extends Efl.Ui.Layout_Base implements Efl.Ui.Rang
{
[[Elementary progressbar class]]
methods {
- @property pulse_mode {
- [[Control whether a given progress bar widget is at "pulsing mode" or not.
-
- By default progress bars display values from low to
- high boundaries. There are situations however in which the
- progress of a given task is unknown. In these cases,
- you can set a progress bar widget to a "pulsing state" to give
- the user an idea that some computation is being done
- without showing the precise progress rate. In the default theme, it will
- animate the bar with content, switching constantly between filling it and back
- to non-filled in a loop. To start and stop this pulsing
- animation you need to explicitly call @.pulse.set().
- ]]
-
- set {
- }
- get {
- }
- values {
- pulse: bool; [[$true to put $obj in pulsing mode, $false to put it back to its default one]]
- }
- }
@property pulse {
- [[Start/stop a given progress bar "pulsing" animation, if its under that mode.
-
- Note: This call won't do anything if $obj is not under "pulsing mode". See @.pulse_mode.
- ]]
+ [[Start/stop a given progress bar "pulsing" animation, if its under that mode.]]
set {
}
get {