New API functions for elm slider.

EAPI void elm_slider_end_set(Evas_Object *obj, Evas_Object *end);

will set a *right* aligned sub-object relative to the slider.

EAPI const Evas_Object *elm_slider_end_get(const Evas_Object *obj);

Getter for that object.

EAPI Evas_Object *elm_slider_end_unset(Evas_Object *obj);

Unparent a previously set end object.

EAPI Evas_Object *elm_slider_icon_unset(Evas_Object *obj);

The same for the icon sub-object.

EAPI void elm_slider_indicator_show_set(Evas_Object *obj, Eina_Bool show);
EAPI Eina_Bool elm_slider_indicator_show_get(const Evas_Object *obj);

Set/get whether the slider should display the augmented knob (indicator) at
mouse drag at all.



SVN revision: 52852
This commit is contained in:
Gustavo Lima Chaves 2010-09-28 15:09:19 +00:00
parent a0541d1687
commit e930af1ad9
4 changed files with 429 additions and 69 deletions

View File

@ -11311,6 +11311,40 @@ collections {
image: "sl_bt2_2.png" COMP;
image: "sl_units.png" COMP;
}
script {
public value_hide = 0;
public set_value_show() {
set_int(value_hide, 0);
}
public set_value_hide() {
set_int(value_hide, 1);
}
public thumb_down() {
if (get_int(value_hide) == 1) {
set_state(PART:"elm.indicator", "default", 0.0);
set_state(PART:"button3", "default", 0.0);
set_state(PART:"button4", "default", 0.0);
set_state(PART:"button5", "default", 0.0);
set_state(PART:"button6", "default", 0.0);
set_state(PART:"button7", "default", 0.0);
} else {
set_state(PART:"elm.indicator", "visible", 0.0);
set_state(PART:"button3", "visible", 0.0);
set_state(PART:"button4", "visible", 0.0);
set_state(PART:"button5", "visible", 0.0);
set_state(PART:"button6", "visible", 0.0);
set_state(PART:"button7", "visible", 0.0);
}
}
public thumb_up() {
set_state(PART:"elm.indicator", "default", 0.0);
set_state(PART:"button3", "default", 0.0);
set_state(PART:"button4", "default", 0.0);
set_state(PART:"button5", "default", 0.0);
set_state(PART:"button6", "default", 0.0);
set_state(PART:"button7", "default", 0.0);
}
}
parts {
part { name: "base";
mouse_events: 0;
@ -11409,7 +11443,7 @@ collections {
}
}
}
part { name: "elm.swallow.content";
part { name: "elm.swallow.icon";
type: SWALLOW;
description { state: "default" 0.0;
visible: 0;
@ -11440,10 +11474,10 @@ collections {
visible: 0;
fixed: 1 1;
align: 0.0 0.5;
rel1.to_x: "elm.swallow.content";
rel1.to_x: "elm.swallow.icon";
rel1.relative: 1.0 0.0;
rel1.offset: -1 4;
rel2.to_x: "elm.swallow.content";
rel2.to_x: "elm.swallow.icon";
rel2.relative: 1.0 1.0;
rel2.offset: -1 -5;
color: 0 0 0 255;
@ -11462,6 +11496,31 @@ collections {
rel2.offset: 0 -5;
}
}
part {
name: "elm.swallow.end";
type: SWALLOW;
description {
state: "default" 0.0;
visible: 0;
align: 1.0 0.5;
rel1 {
offset: -4 0;
relative: 1.0 0.0;
to_y: "elm.swallow.bar";
}
rel2 {
offset: -3 -1;
to_y: "elm.swallow.bar";
}
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
aspect: 1.0 1.0;
aspect_preference: VERTICAL;
rel2.offset: -4 -1;
}
}
part { name: "units";
mouse_events: 0;
description { state: "default" 0.0;
@ -11470,6 +11529,10 @@ collections {
to_x: "elm.units";
offset: 0 5;
}
rel2 {
to_x: "elm.units";
offset: 5 -3;
}
image {
normal: "sl_units.png";
border: 0 5 3 8;
@ -11489,9 +11552,11 @@ collections {
visible: 0;
fixed: 1 1;
align: 1.0 0.5;
rel1.relative: 1.0 0.0;
rel1.offset: 0 8;
rel2.relative: 1.0 1.0;
rel1.to_x: "elm.swallow.end";
rel1.relative: 0.0 0.0;
rel1.offset: 0 8;
rel2.to_x: "elm.swallow.end";
rel2.relative: 0.0 1.0;
rel2.offset: 0 -9;
color: 0 0 0 255;
text {
@ -11766,13 +11831,25 @@ collections {
signal: "elm,state,icon,visible";
source: "elm";
action: STATE_SET "visible" 0.0;
target: "elm.swallow.content";
target: "elm.swallow.icon";
}
program { name: "icon_hide";
signal: "elm,state,icon,hidden";
source: "elm";
action: STATE_SET "default" 0.0;
target: "elm.swallow.content";
target: "elm.swallow.icon";
}
program { name: "end_show";
signal: "elm,state,end,visible";
source: "elm";
action: STATE_SET "visible" 0.0;
target: "elm.swallow.end";
}
program { name: "end_hide";
signal: "elm,state,end,hidden";
source: "elm";
action: STATE_SET "default" 0.0;
target: "elm.swallow.end";
}
program { name: "units_show";
signal: "elm,state,units,visible";
@ -11802,27 +11879,34 @@ collections {
target: "level";
target: "level2";
}
program { name: "set_val_show";
signal: "elm,state,val,show";
source: "elm";
script {
set_value_show();
}
}
program { name: "set_val_hide";
signal: "elm,state,val,hide";
source: "elm";
script {
set_value_hide();
}
}
program { name: "val_show";
signal: "mouse,down,*";
source: "elm.dragable.slider";
action: STATE_SET "visible" 0.0;
target: "elm.indicator";
target: "button3";
target: "button4";
target: "button5";
target: "button6";
target: "button7";
script {
thumb_down();
}
}
program { name: "val_hide";
signal: "mouse,up,*";
source: "elm.dragable.slider";
action: STATE_SET "default" 0.0;
target: "elm.indicator";
target: "button3";
target: "button4";
target: "button5";
target: "button6";
target: "button7";
script {
thumb_up();
}
}
}
}
@ -11843,6 +11927,40 @@ collections {
image: "slv_units.png" COMP;
}
script {
public value_hide = 0;
public set_value_show() {
set_int(value_hide, 0);
}
public set_value_hide() {
set_int(value_hide, 1);
}
public thumb_down() {
if (get_int(value_hide) == 1) {
set_state(PART:"elm.indicator", "default", 0.0);
set_state(PART:"button3", "default", 0.0);
set_state(PART:"button4", "default", 0.0);
set_state(PART:"button5", "default", 0.0);
set_state(PART:"button6", "default", 0.0);
set_state(PART:"button7", "default", 0.0);
} else {
set_state(PART:"elm.indicator", "visible", 0.0);
set_state(PART:"button3", "visible", 0.0);
set_state(PART:"button4", "visible", 0.0);
set_state(PART:"button5", "visible", 0.0);
set_state(PART:"button6", "visible", 0.0);
set_state(PART:"button7", "visible", 0.0);
}
}
public thumb_up() {
set_state(PART:"elm.indicator", "default", 0.0);
set_state(PART:"button3", "default", 0.0);
set_state(PART:"button4", "default", 0.0);
set_state(PART:"button5", "default", 0.0);
set_state(PART:"button6", "default", 0.0);
set_state(PART:"button7", "default", 0.0);
}
}
parts {
part { name: "base";
mouse_events: 0;
@ -11941,7 +12059,7 @@ collections {
}
}
}
part { name: "elm.swallow.content";
part { name: "elm.swallow.icon";
type: SWALLOW;
description { state: "default" 0.0;
visible: 0;
@ -11972,10 +12090,10 @@ collections {
visible: 0;
fixed: 1 1;
align: 0.5 0.0;
rel1.to_y: "elm.swallow.content";
rel1.to_y: "elm.swallow.icon";
rel1.relative: 0.5 1.0;
rel1.offset: 0 -1;
rel2.to_y: "elm.swallow.content";
rel2.to_y: "elm.swallow.icon";
rel2.relative: 0.5 1.0;
rel2.offset: -1 -1;
color: 0 0 0 255;
@ -11994,6 +12112,31 @@ collections {
rel2.offset: -5 0;
}
}
part {
name: "elm.swallow.end";
type: SWALLOW;
description {
state: "default" 0.0;
visible: 0;
align: 0.5 1.0;
rel1 {
offset: 0 -4;
relative: 0.0 1.0;
to_x: "elm.swallow.bar";
}
rel2 {
offset: -1 -3;
to_x: "elm.swallow.bar";
}
}
description { state: "visible" 0.0;
inherit: "default" 0.0;
visible: 1;
aspect: 1.0 1.0;
aspect_preference: HORIZONTAL;
rel2.offset: -1 -4;
}
}
part { name: "units";
mouse_events: 0;
description { state: "default" 0.0;
@ -12025,9 +12168,11 @@ collections {
visible: 0;
fixed: 1 1;
align: 0.5 1.0;
rel1.relative: 0.0 1.0;
rel1.relative: 0.0 0.0;
rel1.to_y: "elm.swallow.end";
rel1.offset: 8 0;
rel2.relative: 1.0 1.0;
rel2.relative: 1.0 0.0;
rel2.to_y: "elm.swallow.end";
rel2.offset: -9 0;
color: 0 0 0 255;
text {
@ -12301,13 +12446,25 @@ collections {
signal: "elm,state,icon,visible";
source: "elm";
action: STATE_SET "visible" 0.0;
target: "elm.swallow.content";
target: "elm.swallow.icon";
}
program { name: "icon_hide";
signal: "elm,state,icon,hidden";
source: "elm";
action: STATE_SET "default" 0.0;
target: "elm.swallow.content";
target: "elm.swallow.icon";
}
program { name: "end_show";
signal: "elm,state,end,visible";
source: "elm";
action: STATE_SET "visible" 0.0;
target: "elm.swallow.end";
}
program { name: "end_hide";
signal: "elm,state,end,hidden";
source: "elm";
action: STATE_SET "default" 0.0;
target: "elm.swallow.end";
}
program { name: "units_show";
signal: "elm,state,units,visible";
@ -12337,27 +12494,33 @@ collections {
target: "level";
target: "level2";
}
program { name: "set_val_show";
signal: "elm,state,val,show";
source: "elm";
script {
set_value_show();
}
}
program { name: "set_val_hide";
signal: "elm,state,val,hide";
source: "elm";
script {
set_value_hide();
}
}
program { name: "val_show";
signal: "mouse,down,*";
source: "elm.dragable.slider";
action: STATE_SET "visible" 0.0;
target: "elm.indicator";
target: "button3";
target: "button4";
target: "button5";
target: "button6";
target: "button7";
script {
thumb_down();
}
}
program { name: "val_hide";
signal: "mouse,up,*";
source: "elm.dragable.slider";
action: STATE_SET "default" 0.0;
target: "elm.indicator";
target: "button3";
target: "button4";
target: "button5";
target: "button6";
target: "button7";
script {
thumb_up();
}
}
}
}

View File

@ -46,8 +46,14 @@ test_slider(void *data, Evas_Object *obj, void *event_info)
evas_object_show(ic);
evas_object_show(sl);
ic = elm_icon_add(win);
snprintf(buf, sizeof(buf), "%s/images/logo_small.png", PACKAGE_DATA_DIR);
elm_icon_file_set(ic, buf, NULL);
evas_object_size_hint_aspect_set(ic, EVAS_ASPECT_CONTROL_VERTICAL, 1, 1);
sl = elm_slider_add(win);
elm_slider_label_set(sl, "Label 2");
elm_slider_end_set(sl, ic);
elm_slider_span_size_set(sl, 80);
evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
@ -62,8 +68,9 @@ test_slider(void *data, Evas_Object *obj, void *event_info)
evas_object_show(sl);
sl = elm_slider_add(win);
elm_slider_indicator_show_set(sl, EINA_FALSE);
elm_slider_label_set(sl, "Label 3");
elm_slider_unit_format_set(sl, "units");
elm_slider_unit_format_set(sl, "%3.0f units");
elm_slider_span_size_set(sl, 40);
evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, 0.5);
evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);

View File

@ -1192,26 +1192,32 @@ extern "C" {
* "clicked" - when the user clicks on a carousel item and becomes selected
*/
EAPI Evas_Object *elm_slider_add(Evas_Object *parent);
EAPI void elm_slider_label_set(Evas_Object *obj, const char *label);
EAPI const char *elm_slider_label_get(const Evas_Object *obj);
EAPI void elm_slider_icon_set(Evas_Object *obj, Evas_Object *icon);
EAPI Evas_Object *elm_slider_icon_get(const Evas_Object *obj);
EAPI void elm_slider_span_size_set(Evas_Object *obj, Evas_Coord size);
EAPI Evas_Coord elm_slider_span_size_get(const Evas_Object *obj);
EAPI void elm_slider_unit_format_set(Evas_Object *obj, const char *format);
EAPI const char *elm_slider_unit_format_get(const Evas_Object *obj);
EAPI void elm_slider_indicator_format_set(Evas_Object *obj, const char *indicator);
EAPI const char *elm_slider_indicator_format_get(const Evas_Object *obj);
EAPI void elm_slider_indicator_format_function_set(Evas_Object *obj, const char *(*func)(double val));
EAPI void elm_slider_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
EAPI Eina_Bool elm_slider_horizontal_get(const Evas_Object *obj);
EAPI void elm_slider_min_max_set(Evas_Object *obj, double min, double max);
EAPI void elm_slider_min_max_get(const Evas_Object *obj, double *min, double *max);
EAPI void elm_slider_value_set(Evas_Object *obj, double val);
EAPI double elm_slider_value_get(const Evas_Object *obj);
EAPI void elm_slider_inverted_set(Evas_Object *obj, Eina_Bool inverted);
EAPI Eina_Bool elm_slider_inverted_get(const Evas_Object *obj);
EAPI Evas_Object *elm_slider_add(Evas_Object *parent);
EAPI void elm_slider_label_set(Evas_Object *obj, const char *label);
EAPI const char *elm_slider_label_get(const Evas_Object *obj);
EAPI void elm_slider_icon_set(Evas_Object *obj, Evas_Object *icon);
EAPI Evas_Object *elm_slider_icon_unset(Evas_Object *obj);
EAPI const Evas_Object *elm_slider_icon_get(const Evas_Object *obj);
EAPI void elm_slider_end_set(Evas_Object *obj, Evas_Object *end);
EAPI Evas_Object *elm_slider_end_unset(Evas_Object *obj);
EAPI const Evas_Object *elm_slider_end_get(const Evas_Object *obj);
EAPI void elm_slider_span_size_set(Evas_Object *obj, Evas_Coord size);
EAPI Evas_Coord elm_slider_span_size_get(const Evas_Object *obj);
EAPI void elm_slider_unit_format_set(Evas_Object *obj, const char *format);
EAPI const char *elm_slider_unit_format_get(const Evas_Object *obj);
EAPI void elm_slider_indicator_format_set(Evas_Object *obj, const char *indicator);
EAPI const char *elm_slider_indicator_format_get(const Evas_Object *obj);
EAPI void elm_slider_indicator_format_function_set(Evas_Object *obj, const char *(*func)(double val));
EAPI void elm_slider_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
EAPI Eina_Bool elm_slider_horizontal_get(const Evas_Object *obj);
EAPI void elm_slider_min_max_set(Evas_Object *obj, double min, double max);
EAPI void elm_slider_min_max_get(const Evas_Object *obj, double *min, double *max);
EAPI void elm_slider_value_set(Evas_Object *obj, double val);
EAPI double elm_slider_value_get(const Evas_Object *obj);
EAPI void elm_slider_inverted_set(Evas_Object *obj, Eina_Bool inverted);
EAPI Eina_Bool elm_slider_inverted_get(const Evas_Object *obj);
EAPI void elm_slider_indicator_show_set(Evas_Object *obj, Eina_Bool show);
EAPI Eina_Bool elm_slider_indicator_show_get(const Evas_Object *obj);
typedef enum _Elm_Genlist_Item_Flags
{

View File

@ -45,6 +45,7 @@ struct _Widget_Data
{
Evas_Object *slider;
Evas_Object *icon;
Evas_Object *end;
Evas_Object *spacer;
const char *label;
const char *units;
@ -52,6 +53,7 @@ struct _Widget_Data
const char *(*indicator_format_func)(double val);
Eina_Bool horizontal : 1;
Eina_Bool inverted : 1;
Eina_Bool indicator_show : 1;
double val, val_min, val_max;
Ecore_Timer *delay;
Evas_Coord size;
@ -170,6 +172,10 @@ _theme_hook(Evas_Object *obj)
edje_object_part_swallow(wd->slider, "elm.swallow.content", wd->icon);
edje_object_signal_emit(wd->slider, "elm,state,icon,visible", "elm");
}
if (wd->end)
edje_object_signal_emit(wd->slider, "elm,state,end,visible", "elm");
else
edje_object_signal_emit(wd->slider, "elm,state,end,hidden", "elm");
if (wd->label)
{
edje_object_part_text_set(wd->slider, "elm.text", wd->label);
@ -214,7 +220,7 @@ _changed_size_hints(void *data, Evas *e __UNUSED__, Evas_Object *obj, void *even
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
if (obj != wd->icon) return;
if ((obj != wd->icon) && (obj != wd->end)) return;
_sizing_eval(data);
}
@ -233,6 +239,16 @@ _sub_del(void *data __UNUSED__, Evas_Object *obj, void *event_info)
edje_object_message_signal_process(wd->slider);
_sizing_eval(obj);
}
if (sub == wd->end)
{
edje_object_signal_emit(wd->slider, "elm,state,end,hidden", "elm");
evas_object_event_callback_del_full(sub,
EVAS_CALLBACK_CHANGED_SIZE_HINTS,
_changed_size_hints, obj);
wd->end = NULL;
edje_object_message_signal_process(wd->slider);
_sizing_eval(obj);
}
}
static Eina_Bool
@ -388,6 +404,7 @@ elm_slider_add(Evas_Object *parent)
elm_widget_event_hook_set(obj, _event_hook);
wd->horizontal = EINA_TRUE;
wd->indicator_show = EINA_TRUE;
wd->val = 0.0;
wd->val_min = 0.0;
wd->val_max = 1.0;
@ -468,13 +485,16 @@ elm_slider_label_get(const Evas_Object *obj)
}
/**
* Set the icon object of the slider object
* Set the icon object (leftmost widget) of the slider object.
*
* Once the icon object is set, a previously set one will be deleted.
*
* @param obj The slider object
* @param icon The icon object
*
* @note If the object being set does not have minimum size hints set,
* it won't get properly displayed.
*
* @ingroup Slider
*/
EAPI void
@ -491,7 +511,7 @@ elm_slider_icon_set(Evas_Object *obj, Evas_Object *icon)
elm_widget_sub_object_add(obj, icon);
evas_object_event_callback_add(icon, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
_changed_size_hints, obj);
edje_object_part_swallow(wd->slider, "elm.swallow.content", icon);
edje_object_part_swallow(wd->slider, "elm.swallow.icon", icon);
edje_object_signal_emit(wd->slider, "elm,state,icon,visible", "elm");
edje_object_message_signal_process(wd->slider);
}
@ -499,14 +519,46 @@ elm_slider_icon_set(Evas_Object *obj, Evas_Object *icon)
}
/**
* Get the icon object of the slider object
* Unset the leftmost widget of the slider, unparenting and
* returning it.
*
* @param obj The slider object
* @return the previously set icon sub-object of this slider, on
* success.
*
* @see elm_slider_icon_set()
*
* @ingroup Slider
*/
EAPI Evas_Object *
elm_slider_icon_unset(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Object *ret = NULL;
if (!wd) return NULL;
if (wd->icon)
{
elm_widget_sub_object_del(obj, wd->icon);
ret = wd->icon;
edje_object_part_unswallow(wd->slider, wd->icon);
edje_object_signal_emit(wd->slider, "elm,state,icon,hidden", "elm");
wd->icon = NULL;
_sizing_eval(obj);
}
return ret;
}
/**
* Get the icon object of the slider object. This object is owned by
* the scrolled entry and should not be modified.
*
* @param obj The slider object
* @return The icon object
*
* @ingroup Slider
*/
EAPI Evas_Object *
EAPI const Evas_Object *
elm_slider_icon_get(const Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
@ -540,6 +592,10 @@ elm_slider_span_size_set(Evas_Object *obj, Evas_Coord size)
evas_object_size_hint_min_set(wd->spacer, (double)wd->size * elm_widget_scale_get(obj) * _elm_config->scale, 1);
else
evas_object_size_hint_min_set(wd->spacer, 1, (double)wd->size * elm_widget_scale_get(obj) * _elm_config->scale);
if (wd->indicator_show)
edje_object_signal_emit(wd->slider, "elm,state,val,show", "elm");
else
edje_object_signal_emit(wd->slider, "elm,state,val,hide", "elm");
edje_object_part_swallow(wd->slider, "elm.swallow.bar", wd->spacer);
_sizing_eval(obj);
}
@ -862,3 +918,131 @@ elm_slider_indicator_format_function_set(Evas_Object *obj, const char *(*func)(d
_indicator_set(obj);
}
/**
* Set the end object (rightmost widget) of the slider object.
*
* Once the end object is set, a previously set one will be deleted.
*
* @param obj The slider object
* @param end The end object
*
* @note If the object being set does not have minimum size hints set,
* it won't get properly displayed.
*
* @ingroup Slider
*/
EAPI void
elm_slider_end_set(Evas_Object *obj, Evas_Object *end)
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
if (wd->end == end) return;
if (wd->end) evas_object_del(wd->end);
wd->end = end;
if (end)
{
elm_widget_sub_object_add(obj, end);
evas_object_event_callback_add(end, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
_changed_size_hints, obj);
edje_object_part_swallow(wd->slider, "elm.swallow.end", end);
edje_object_signal_emit(wd->slider, "elm,state,end,visible", "elm");
edje_object_message_signal_process(wd->slider);
}
_sizing_eval(obj);
}
/**
* Unset the rightmost widget of the slider, unparenting and
* returning it.
*
* @param obj The slider object
* @return the previously set end sub-object of this slider, on
* success.
*
* @see elm_slider_end_set()
*
* @ingroup Slider
*/
EAPI Evas_Object *
elm_slider_end_unset(Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
Evas_Object *ret = NULL;
if (!wd) return NULL;
if (wd->end)
{
elm_widget_sub_object_del(obj, wd->end);
ret = wd->end;
edje_object_part_unswallow(wd->slider, wd->end);
edje_object_signal_emit(wd->slider, "elm,state,end,hidden", "elm");
wd->end = NULL;
_sizing_eval(obj);
}
return ret;
}
/**
* Get the end icon object of the slider object. This object is owned
* by the scrolled entry and should not be modified.
*
* @param obj The slider object
* @return The end icon object
*
* @ingroup Slider
*/
EAPI const Evas_Object *
elm_slider_end_get(const Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype) NULL;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return NULL;
return wd->end;
}
/**
* Set whether to the slider indicator (augmented knob) at all.
*
* @param obj The slider object
* @param show @c EINA_TRUE will make it show it, @c EINA_FALSE will
* let the knob alwayes at default size.
*
* @note It will conflict with elm_slider_indicator_format_set(), if
* you wanted those effects.
*
* @ingroup Slider
*/
EAPI void
elm_slider_indicator_show_set(Evas_Object *obj, Eina_Bool show)
{
Widget_Data *wd = elm_widget_data_get(obj);
if (show) {
wd->indicator_show = EINA_TRUE;
edje_object_signal_emit(wd->slider, "elm,state,val,show", "elm");
}
else {
wd->indicator_show = EINA_FALSE;
edje_object_signal_emit(wd->slider, "elm,state,val,hide", "elm");
}
}
/**
* Get the state of indicator in the slider (if it's being shown or
* not).
*
* @param obj The slider object
* @return @c EINA_TRUE if the indicator is being shown, @c EINA_FALSE
* otherwise.
*
* @ingroup Slider
*/
EAPI Eina_Bool
elm_slider_indicator_show_get(const Evas_Object *obj)
{
ELM_CHECK_WIDTYPE(obj, widtype) EINA_FALSE;
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return EINA_FALSE;
return wd->indicator_show;
}