#define MSG_ID_TEXTS 1 /* String set of: timespan, quantity, warn, limit; If warn is NULL; limit part will take its position */
-#define MSG_ID_BAR_VALUES 2 /* Float set of: warn, limit; If limit or warn < 0.0 it means they are not set */
+#define MSG_ID_BAR_LIMITS 2 /* Float set of: warn, limit; If limit or warn < 0.0 it means they are not set */
+#define MSG_ID_BAR_VALUES 3
styles {
style {
part
{
- name: "progress_bar";
- type: SWALLOW;
+ name: "progress_bar_bg";
+ type: RECT;
+ part
+ {
+ name: "progress_bar";
+ type: RECT;
+ scale: 1;
+ description
+ {
+ state: "default" 0.0;
+ color: 0 0 255 255;
+ visible: 1;
+ rel1.relative: 0.0 0.0;
+ rel2.relative: 1.0 1.0;
+ }
+ description
+ {
+ state: "warning" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 0 255;
+ }
+ description
+ {
+ state: "limit" 0.0;
+ inherit: "default" 0.0;
+ color: 255 0 0 255;
+ }
+ }
part
{
name: "warning_indicator";
rel1.relative: 1.0 0.0;
rel2.relative: 1.0 1.0;
}
+ description
+ {
+ state: "warning" 0.0;
+ inherit: "default" 0.0;
+ color: 255 255 0 255;
+ }
+ description
+ {
+ state: "limit" 0.0;
+ inherit: "default" 0.0;
+ color: 255 0 0 255;
+ }
}
-
part
{
name: "limit_indicator";
}
}
-
- description
- {
+ description {
state: "default" 0.0;
- color: 0 0 255 255;
+ color: 128 128 128 255;
visible: 1;
rel1.relative: 0.029166667 0.475517241;
rel2.relative: 0.970833333 0.544482759;
}
+ description {
+ state: "warning" 0.0;
+ inherit: "default" 0.0;
+ color: 128 128 64 255;
+ }
+ description {
+ state: "limit" 0.0;
+ inherit: "default" 0.0;
+ color: 128 64 64 255;
+ }
}
rel2.relative: 0.9625 0.91;
text
{
- style: "small text style";
+ style: "small_text_style";
text: "";
}
}
script
{
+ public warn_g;
+ public limit_g;
+
public message(Msg_Type:type, id, ...)
{
- static help_buff[64] = {'\0',};
- static Float:warn = 0.0;
- static Float:limit = 0.0;
+// static help_buff[64] = {'\0',};
- if(type == MSG_FLOAT_SET && id == MSG_ID_BAR_VALUES)
- {
- warn = getfarg(2);
- limit = getfarg(3);
+ if(type == MSG_FLOAT_SET && id == MSG_ID_BAR_LIMITS) {
+ new Float:warn = getfarg(2);
+ new Float:limit = getfarg(3);
custom_state(PART:"warning_indicator", "default", 0.0);
custom_state(PART:"limit_indicator", "default", 0.0);
- if(warn >= 0.0)
- {
+ if(warn >= 0.0) {
set_state_val(PART:"warning_indicator", STATE_REL1, warn, 0.0);
set_state_val(PART:"warning_indicator", STATE_REL2, warn, 1.0);
set_state_val(PART:"warning_indicator", STATE_VISIBLE, 1);
- }
- else
- {
+ } else {
set_state_val(PART:"warning_indicator", STATE_VISIBLE, 0);
}
set_state(PART:"warning_indicator", "custom", 0.0);
- if(limit >= 0.0)
- {
+ if(limit >= 0.0) {
set_state_val(PART:"limit_indicator", STATE_REL1, limit, 0.0);
set_state_val(PART:"limit_indicator", STATE_REL2, limit, 1.0);
set_state_val(PART:"limit_indicator", STATE_VISIBLE, 1);
- }
- else
- {
+ } else {
set_state_val(PART:"limit_indicator", STATE_VISIBLE, 0);
}
set_state(PART:"limit_indicator", "custom", 0.0);
- }
- if(type == MSG_STRING_SET && id == MSG_ID_TEXTS)
- {
- /* timespan: */
- getsarg(2, help_buff, sizeof(help_buff));
- set_text(PART:"timespan_txt", help_buff);
-
- /* quantity: */
- getsarg(3, help_buff, sizeof(help_buff));
- set_text(PART:"quantity_txt", help_buff);
-
- /* limit: */
- getsarg(5, help_buff, sizeof(help_buff));
- set_text(PART:"limit_txt", help_buff);
-
- /* warn: */
- getsarg(4, help_buff, sizeof(help_buff));
- custom_state(PART:"warning_txt", "default", 0.0);
- custom_state(PART:"limit_txt", "default", 0.0);
- if(strlen(help_buff) > 0)
- {
- set_text(PART:"warning_txt", help_buff);
- set_state_val(PART:"warning_txt", STATE_VISIBLE, 1);
- set_state_val(PART:"limit_txt", STATE_REL1, 0.0375, 0.796551724);
- set_state_val(PART:"limit_txt", STATE_REL2, 0.9625, 0.9);
- }
+ set_float (warn_g, warn);
+ set_float (limit_g, limit);
+ } else if (type == MSG_FLOAT && id == MSG_ID_BAR_VALUES) {
+ new Float: warn = get_float(warn_g);
+ new Float: limit = get_float(limit_g);
+
+ new Float: value = getfarg(2);
+ new state_name[32];
+
+ if (value >= limit)
+// state_name = "limit";
+ strncpy(state_name, "limit", 32);
+ else if (value >= warn)
+// state_name = "warning";
+ strncpy(state_name, "warning", 32);
else
- {
- set_text(PART:"warning_txt", "");
- set_state_val(PART:"warning_txt", STATE_VISIBLE, 0);
- set_state_val(PART:"limit_txt", STATE_REL1, 0.0375, 0.665517241);
- set_state_val(PART:"limit_txt", STATE_REL2, 0.9625, 0.768965517);
- }
- set_state(PART:"warning_txt", "custom", 0.0);
- set_state(PART:"limit_txt", "custom", 0.0);
+// state_name = "default";
+ strncpy(state_name, "default", 32);
+
+ set_state(PART:"progress_bar_bg", state_name, 0.0);
+
+ custom_state(PART:"progress_bar", state_name, 0.0);
+ set_state_val(PART:"progress_bar", STATE_REL2, value, 1.0);
+ set_state(PART:"progress_bar", "custom", 0.0);
}
}
}
#include "setting-common-draw-widget.h"
#include <Elementary.h>
-#define MSG_ID_BAR_VALUES 2
+#define MSG_ID_LIMITS 2
+#define MSG_ID_BAR_VALUES 3
setting_view smartmanager_view_data_main;
SETTING_TRACE("SENDING");
- edje_object_message_send(elm_layout_edje_get(layout), EDJE_MESSAGE_FLOAT_SET, MSG_ID_BAR_VALUES, msg);
+ edje_object_message_send(elm_layout_edje_get(layout), EDJE_MESSAGE_FLOAT_SET, MSG_ID_LIMITS, msg);
free(msg);
SETTING_TRACE("SEND");
SETTING_TRACE_END;
}
+static void _set_progress_value(Evas_Object *layout, float value)
+{
+ SETTING_TRACE_BEGIN;
+
+ Edje_Message_Float msg = {
+ .val = value,
+ };
+
+ SETTING_TRACE("SENDING");
+
+ edje_object_message_send(elm_layout_edje_get(layout), EDJE_MESSAGE_FLOAT, MSG_ID_BAR_VALUES, &msg);
+
+ SETTING_TRACE("SEND");
+
+ SETTING_TRACE_END;
+}
+
static Evas_Object *_data_usage_item_get(
- void *data, Evas_Object *genlist, const char *part)
+ void *data, Evas_Object *genlist, const char *part)
{
SETTING_TRACE_BEGIN;
/*item_data = (Setting_GenGroupItem_Data *)data;*/
layout = elm_layout_add(genlist);
- progress_bar = elm_progressbar_add(layout);
- elm_progressbar_pulse_set(progress_bar, EINA_TRUE);
elm_layout_file_set(layout,
_TZ_SYS_RO_APP"/org.tizen.setting/res/edje/"
elm_layout_text_set(layout, "timespan_txt", "timespan_txt");
elm_layout_text_set(layout, "quantity_txt", "quantity_txt");
+ elm_layout_text_set(layout, "warning_txt", "warning_txt");
+ elm_layout_text_set(layout, "limit_txt", "limit_txt");
-
- elm_progressbar_value_set(progress_bar, 0.75);
- evas_object_color_set(progress_bar, 255, 0, 0, 255);
+ _set_progress_value(layout, 0.95);
SETTING_TRACE_END;