* Enlightenment SVN <no-re...@enlightenment.org> [2010-09-28 08:09:20 -0700]:
Forgot to mention this comes from a set of contributions to Elementary from Samsung Electronics. Patch revised and modified by Profusion Embedded Systems. > Log: > 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. > > > Author: glima > Date: 2010-09-28 08:09:19 -0700 (Tue, 28 Sep 2010) > New Revision: 52852 > > Modified: > trunk/TMP/st/elementary/data/themes/default.edc > trunk/TMP/st/elementary/src/bin/test_slider.c > trunk/TMP/st/elementary/src/lib/Elementary.h.in > trunk/TMP/st/elementary/src/lib/elm_slider.c > > Modified: trunk/TMP/st/elementary/data/themes/default.edc > =================================================================== > --- trunk/TMP/st/elementary/data/themes/default.edc 2010-09-28 14:15:23 UTC > (rev 52851) > +++ trunk/TMP/st/elementary/data/themes/default.edc 2010-09-28 15:09:19 UTC > (rev 52852) > @@ -11311,6 +11311,40 @@ > 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 @@ > } > } > } > - part { name: "elm.swallow.content"; > + part { name: "elm.swallow.icon"; > type: SWALLOW; > description { state: "default" 0.0; > visible: 0; > @@ -11440,10 +11474,10 @@ > 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 @@ > 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 @@ > 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 @@ > 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,14 +11831,26 @@ > 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"; > source: "elm"; > @@ -11802,27 +11879,34 @@ > 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 @@ > > 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 @@ > } > } > } > - part { name: "elm.swallow.content"; > + part { name: "elm.swallow.icon"; > type: SWALLOW; > description { state: "default" 0.0; > visible: 0; > @@ -11972,10 +12090,10 @@ > 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 @@ > 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 @@ > 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,14 +12446,26 @@ > 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"; > source: "elm"; > @@ -12337,27 +12494,33 @@ > 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(); > + } > } > } > } > > Modified: trunk/TMP/st/elementary/src/bin/test_slider.c > =================================================================== > --- trunk/TMP/st/elementary/src/bin/test_slider.c 2010-09-28 14:15:23 UTC > (rev 52851) > +++ trunk/TMP/st/elementary/src/bin/test_slider.c 2010-09-28 15:09:19 UTC > (rev 52852) > @@ -46,8 +46,14 @@ > 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 @@ > 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); > > Modified: trunk/TMP/st/elementary/src/lib/Elementary.h.in > =================================================================== > --- trunk/TMP/st/elementary/src/lib/Elementary.h.in 2010-09-28 14:15:23 UTC > (rev 52851) > +++ trunk/TMP/st/elementary/src/lib/Elementary.h.in 2010-09-28 15:09:19 UTC > (rev 52852) > @@ -1192,26 +1192,32 @@ > * "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 > { > > Modified: trunk/TMP/st/elementary/src/lib/elm_slider.c > =================================================================== > --- trunk/TMP/st/elementary/src/lib/elm_slider.c 2010-09-28 14:15:23 UTC > (rev 52851) > +++ trunk/TMP/st/elementary/src/lib/elm_slider.c 2010-09-28 15:09:19 UTC > (rev 52852) > @@ -45,6 +45,7 @@ > { > Evas_Object *slider; > Evas_Object *icon; > + Evas_Object *end; > Evas_Object *spacer; > const char *label; > const char *units; > @@ -52,6 +53,7 @@ > 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 @@ > 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 @@ > { > 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 @@ > 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_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 @@ > } > > /** > - * 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_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 @@ > } > > /** > - * 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 @@ > 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 @@ > _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; > +} > + > > > ------------------------------------------------------------------------------ > Start uncovering the many advantages of virtual appliances > and start using them to simplify application deployment and > accelerate your shift to cloud computing. > http://p.sf.net/sfu/novell-sfdev2dev > _______________________________________________ > enlightenment-svn mailing list > enlightenment-...@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn -- Gustavo Lima Chaves Computer Engineer @ ProFUSION Embedded Systems ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel