interval slider: Add new interval slider widget
This widget is a slider with two indicators which allows to have interval of value.
This commit is contained in:
parent
8d7dc6ae24
commit
9348094220
|
@ -2231,6 +2231,59 @@ group "Elm_Config" struct {
|
|||
value "params" string: "down";
|
||||
}
|
||||
}
|
||||
}
|
||||
group "Elm_Config_Bindings_Widget" struct {
|
||||
value "name" string: "Efl.Ui.Slider_Interval";
|
||||
group "key_bindings" list {
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "Left";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "left";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "KP_Left";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "left";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "Right";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "right";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "KP_Right";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "right";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "Up";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "up";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "KP_Up";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "up";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "Down";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "down";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "KP_Down";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "down";
|
||||
}
|
||||
}
|
||||
}
|
||||
group "Elm_Config_Bindings_Widget" struct {
|
||||
value "name" string: "Elm_Slideshow";
|
||||
|
|
|
@ -2236,6 +2236,59 @@ group "Elm_Config" struct {
|
|||
}
|
||||
}
|
||||
}
|
||||
group "Elm_Config_Bindings_Widget" struct {
|
||||
value "name" string: "Efl.Ui.Slider_Interval";
|
||||
group "key_bindings" list {
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "Left";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "left";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "KP_Left";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "left";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "Right";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "right";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "KP_Right";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "right";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "Up";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "up";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "KP_Up";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "up";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "Down";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "down";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "KP_Down";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "down";
|
||||
}
|
||||
}
|
||||
}
|
||||
group "Elm_Config_Bindings_Widget" struct {
|
||||
value "name" string: "Elm_Slideshow";
|
||||
group "key_bindings" list {
|
||||
|
|
|
@ -2233,6 +2233,59 @@ group "Elm_Config" struct {
|
|||
}
|
||||
}
|
||||
}
|
||||
group "Elm_Config_Bindings_Widget" struct {
|
||||
value "name" string: "Efl.Ui.Slider_Interval";
|
||||
group "key_bindings" list {
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "Left";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "left";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "KP_Left";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "left";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "Right";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "right";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "KP_Right";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "right";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "Up";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "up";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "KP_Up";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "up";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "Down";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "down";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "KP_Down";
|
||||
value "action" string: "drag";
|
||||
value "params" string: "down";
|
||||
}
|
||||
}
|
||||
}
|
||||
group "Elm_Config_Bindings_Widget" struct {
|
||||
value "name" string: "Elm_Slideshow";
|
||||
group "key_bindings" list {
|
||||
|
|
|
@ -54,6 +54,7 @@ src/bin/elementary/test_scaling.c
|
|||
src/bin/elementary/test_scroller.c
|
||||
src/bin/elementary/test_separator.c
|
||||
src/bin/elementary/test_slider.c
|
||||
src/bin/elementary/test_slider_interval.c
|
||||
src/bin/elementary/test_slideshow.c
|
||||
src/bin/elementary/test_spinner.c
|
||||
src/bin/elementary/test_store.c
|
||||
|
@ -157,6 +158,7 @@ src/lib/elementary/elm_scroller.c
|
|||
src/lib/elementary/elm_segment_control.c
|
||||
src/lib/elementary/elm_separator.c
|
||||
src/lib/elementary/efl_ui_slider.c
|
||||
src/lib/elementary/efl_ui_slider_interval.c
|
||||
src/lib/elementary/elm_slideshow.c
|
||||
src/lib/elementary/elm_spinner.c
|
||||
src/lib/elementary/elm_store.c
|
||||
|
|
|
@ -62,6 +62,7 @@ elm_public_eolian_files = \
|
|||
lib/elementary/elm_route.eo \
|
||||
lib/elementary/elm_scroller.eo \
|
||||
lib/elementary/efl_ui_slider.eo \
|
||||
lib/elementary/efl_ui_slider_interval.eo \
|
||||
lib/elementary/elm_spinner.eo \
|
||||
lib/elementary/elm_sys_notify_interface.eo \
|
||||
lib/elementary/elm_sys_notify.eo \
|
||||
|
@ -500,6 +501,7 @@ includesub_HEADERS = \
|
|||
lib/elementary/elm_slider.h \
|
||||
lib/elementary/elm_slider_common.h \
|
||||
lib/elementary/efl_ui_slider_eo.h \
|
||||
lib/elementary/efl_ui_slider_interval.eo.h \
|
||||
lib/elementary/elm_slider_legacy.h \
|
||||
lib/elementary/elm_slideshow.h \
|
||||
lib/elementary/elm_slideshow_common.h \
|
||||
|
@ -648,6 +650,7 @@ lib_elementary_libelementary_la_SOURCES = \
|
|||
lib/elementary/elm_segment_control.c \
|
||||
lib/elementary/elm_separator.c \
|
||||
lib/elementary/efl_ui_slider.c \
|
||||
lib/elementary/efl_ui_slider_interval.c \
|
||||
lib/elementary/elm_slideshow.c \
|
||||
lib/elementary/elm_spinner.c \
|
||||
lib/elementary/elm_store.c \
|
||||
|
@ -849,6 +852,7 @@ bin/elementary/test_scroller.c \
|
|||
bin/elementary/test_segment_control.c \
|
||||
bin/elementary/test_separator.c \
|
||||
bin/elementary/test_slider.c \
|
||||
bin/elementary/test_slider_interval.c \
|
||||
bin/elementary/test_slideshow.c \
|
||||
bin/elementary/test_spinner.c \
|
||||
bin/elementary/test_store.c \
|
||||
|
|
|
@ -113,6 +113,7 @@ test_scroller.c \
|
|||
test_segment_control.c \
|
||||
test_separator.c \
|
||||
test_slider.c \
|
||||
test_slider_interval.c \
|
||||
test_slideshow.c \
|
||||
test_spinner.c \
|
||||
test_store.c \
|
||||
|
|
|
@ -108,6 +108,7 @@ void test_inwin3(void *data, Evas_Object *obj, void *event_info);
|
|||
void test_scaling(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_scaling2(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_slider(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_slider_interval(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_actionslider(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_genlist(void *data, Evas_Object *obj, void *event_info);
|
||||
void test_genlist2(void *data, Evas_Object *obj, void *event_info);
|
||||
|
@ -932,6 +933,7 @@ add_tests:
|
|||
//------------------------------//
|
||||
ADD_TEST(NULL, "Range Values", "Spinner", test_spinner);
|
||||
ADD_TEST(NULL, "Range Values", "Slider", test_slider);
|
||||
ADD_TEST(NULL, "Range Values", "Interval Slider", test_slider_interval);
|
||||
ADD_TEST(NULL, "Range Values", "Progressbar", test_progressbar);
|
||||
ADD_TEST(NULL, "Range Values", "Progressbar 2", test_progressbar2);
|
||||
|
||||
|
|
|
@ -0,0 +1,112 @@
|
|||
#ifdef HAVE_CONFIG_H
|
||||
# include "elementary_config.h"
|
||||
#endif
|
||||
#include <Elementary.h>
|
||||
|
||||
static double
|
||||
_step_size_calculate(double min, double max)
|
||||
{
|
||||
double step = 0.0;
|
||||
int steps = 0;
|
||||
|
||||
steps = max - min;
|
||||
if (steps) step = (1.0 / steps);
|
||||
return step;
|
||||
}
|
||||
|
||||
static void
|
||||
_intv_slider_changed_cb(void *data EINA_UNUSED, const Efl_Event *ev)
|
||||
{
|
||||
double from, to;
|
||||
|
||||
efl_ui_slider_interval_value_get(ev->object, &from, &to);
|
||||
if (from < 100)
|
||||
efl_ui_slider_interval_value_set(ev->object, 100, to);
|
||||
if (to > 500)
|
||||
efl_ui_slider_interval_value_set(ev->object, from, 500);
|
||||
}
|
||||
|
||||
void
|
||||
test_slider_interval(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
||||
{
|
||||
Eo *win, *bx, *hbx, *sl;
|
||||
double step;
|
||||
|
||||
win = efl_add(EFL_UI_WIN_CLASS, NULL,
|
||||
efl_ui_win_type_set(efl_added, EFL_UI_WIN_BASIC),
|
||||
efl_text_set(efl_added, "Efl.Ui.Slider_Interval"),
|
||||
efl_ui_win_autodel_set(efl_added, EINA_TRUE));
|
||||
|
||||
bx = efl_add(EFL_UI_BOX_CLASS, win,
|
||||
efl_content_set(win, efl_added));
|
||||
|
||||
sl = efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx,
|
||||
efl_ui_slider_indicator_visible_mode_set(efl_added, EFL_UI_SLIDER_INDICATOR_VISIBLE_MODE_NONE),
|
||||
efl_ui_range_span_size_set(efl_added, 160),
|
||||
efl_ui_slider_indicator_format_set(efl_added, "%1.5f"),
|
||||
efl_ui_slider_interval_value_set(efl_added, 0.4, 0.9),
|
||||
efl_pack(bx, efl_added));
|
||||
elm_object_text_set(sl, "horizontal");
|
||||
|
||||
step = _step_size_calculate(0, 9);
|
||||
sl = efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx,
|
||||
efl_ui_range_span_size_set(efl_added, 120),
|
||||
efl_ui_range_unit_format_set(efl_added, "%1.1f units"),
|
||||
efl_ui_slider_indicator_format_set(efl_added, "%1.1f"),
|
||||
efl_ui_slider_interval_value_set(efl_added, 0.4, 0.9),
|
||||
efl_ui_slider_step_set(efl_added, step),
|
||||
efl_pack(bx, efl_added));
|
||||
elm_object_text_set(sl, "Manual step");
|
||||
|
||||
sl = efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx,
|
||||
efl_ui_range_span_size_set(efl_added, 120),
|
||||
efl_ui_range_unit_format_set(efl_added, "%1.0f units"),
|
||||
efl_ui_slider_indicator_format_set(efl_added, "%1.0f"),
|
||||
efl_ui_range_min_max_set(efl_added, 10, 145),
|
||||
efl_ui_slider_interval_value_set(efl_added, 50, 100),
|
||||
efl_ui_slider_step_set(efl_added, step),
|
||||
efl_pack(bx, efl_added));
|
||||
elm_object_disabled_set(sl, EINA_TRUE);
|
||||
elm_object_text_set(sl, "Disabled");
|
||||
|
||||
hbx = efl_add(EFL_UI_BOX_CLASS, bx,
|
||||
efl_ui_direction_set(efl_added, EFL_UI_DIR_HORIZONTAL),
|
||||
efl_pack(bx, efl_added));
|
||||
|
||||
sl = efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, hbx,
|
||||
efl_ui_range_span_size_set(efl_added, 120),
|
||||
efl_ui_range_unit_format_set(efl_added, "%1.0f units"),
|
||||
efl_ui_slider_indicator_format_set(efl_added, "%1.0f"),
|
||||
efl_ui_range_min_max_set(efl_added, 10, 145),
|
||||
efl_ui_slider_interval_value_set(efl_added, 50, 100),
|
||||
efl_ui_slider_step_set(efl_added, step),
|
||||
efl_ui_direction_set(efl_added, EFL_UI_DIR_VERTICAL),
|
||||
efl_pack(hbx, efl_added));
|
||||
elm_object_text_set(sl, "vertical");
|
||||
|
||||
sl = efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, hbx,
|
||||
efl_ui_range_span_size_set(efl_added, 120),
|
||||
efl_ui_range_unit_format_set(efl_added, "%1.0f units"),
|
||||
efl_ui_slider_indicator_format_set(efl_added, "%1.0f"),
|
||||
efl_ui_range_min_max_set(efl_added, 10, 145),
|
||||
efl_ui_slider_interval_value_set(efl_added, 50, 100),
|
||||
efl_ui_slider_step_set(efl_added, step),
|
||||
efl_ui_direction_set(efl_added, EFL_UI_DIR_VERTICAL),
|
||||
efl_pack(hbx, efl_added));
|
||||
elm_object_text_set(sl, "vertical");
|
||||
elm_object_disabled_set(sl, EINA_TRUE);
|
||||
|
||||
sl = efl_add(EFL_UI_SLIDER_INTERVAL_CLASS, bx,
|
||||
efl_ui_slider_indicator_visible_mode_set(efl_added, EFL_UI_SLIDER_INDICATOR_VISIBLE_MODE_ON_FOCUS),
|
||||
efl_ui_range_span_size_set(efl_added, 120),
|
||||
efl_ui_range_unit_format_set(efl_added, "%1.0f units"),
|
||||
efl_ui_slider_indicator_format_set(efl_added, "%1.0f"),
|
||||
efl_ui_range_min_max_set(efl_added, 0, 600),
|
||||
efl_ui_slider_interval_value_set(efl_added, 100, 500),
|
||||
efl_ui_slider_step_set(efl_added, step),
|
||||
efl_event_callback_add(efl_added, EFL_UI_SLIDER_EVENT_CHANGED, _intv_slider_changed_cb, NULL),
|
||||
efl_pack(bx, efl_added));
|
||||
|
||||
elm_object_text_set(sl, "Limited(100-500)");
|
||||
}
|
||||
|
|
@ -278,6 +278,7 @@ EAPI extern Elm_Version *elm_version;
|
|||
# include <efl_ui_text_editable.eo.h>
|
||||
# include <efl_ui_clock.eo.h>
|
||||
# include <efl_ui_image_factory.eo.h>
|
||||
#include <efl_ui_slider_interval.eo.h>
|
||||
#endif
|
||||
|
||||
/* include deprecated calls last of all */
|
||||
|
|
|
@ -0,0 +1,125 @@
|
|||
#ifdef HAVE_CONFIG_H
|
||||
# include "elementary_config.h"
|
||||
#endif
|
||||
|
||||
#define ELM_INTERFACE_ATSPI_ACCESSIBLE_PROTECTED
|
||||
#define ELM_INTERFACE_ATSPI_WIDGET_ACTION_PROTECTED
|
||||
#define ELM_INTERFACE_ATSPI_VALUE_PROTECTED
|
||||
|
||||
#include <Elementary.h>
|
||||
#include "elm_priv.h"
|
||||
#include "efl_ui_slider_private.h"
|
||||
|
||||
#define MY_CLASS EFL_UI_SLIDER_INTERVAL_CLASS
|
||||
#define MY_CLASS_NAME "Efl.Ui.Slider_Interval"
|
||||
|
||||
typedef struct
|
||||
{
|
||||
} Efl_Ui_Slider_Interval_Data;
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_slider_interval_interval_value_get(Eo *obj, Efl_Ui_Slider_Interval_Data *sd EINA_UNUSED, double *from, double *to)
|
||||
{
|
||||
Efl_Ui_Slider_Data *pd = efl_data_scope_safe_get(obj, EFL_UI_SLIDER_CLASS);
|
||||
if (from) *from = fmin(pd->intvl_from, pd->intvl_to);
|
||||
if (to) *to = fmax(pd->intvl_from, pd->intvl_to);
|
||||
}
|
||||
|
||||
static inline Eina_Bool
|
||||
_is_inverted(Efl_Ui_Dir dir)
|
||||
{
|
||||
if ((dir == EFL_UI_DIR_LEFT) || (dir == EFL_UI_DIR_UP))
|
||||
return EINA_TRUE;
|
||||
|
||||
return EINA_FALSE;
|
||||
}
|
||||
|
||||
static void
|
||||
_val_set(Evas_Object *obj)
|
||||
{
|
||||
Eina_Bool rtl;
|
||||
double pos, pos2;
|
||||
|
||||
EFL_UI_SLIDER_DATA_GET(obj, sd);
|
||||
|
||||
if (sd->val_max > sd->val_min)
|
||||
{
|
||||
pos = (sd->val - sd->val_min) / (sd->val_max - sd->val_min);
|
||||
pos2 = (sd->intvl_to - sd->val_min) / (sd->val_max - sd->val_min);
|
||||
}
|
||||
else
|
||||
{
|
||||
pos = 0.0;
|
||||
pos2 = 0.0;
|
||||
}
|
||||
|
||||
if (pos < 0.0) pos = 0.0;
|
||||
else if (pos > 1.0)
|
||||
pos = 1.0;
|
||||
if (pos2 < 0.0) pos2 = 0.0;
|
||||
else if (pos2 > 1.0)
|
||||
pos2 = 1.0;
|
||||
|
||||
rtl = efl_ui_mirrored_get(obj);
|
||||
if ((!rtl && _is_inverted(sd->dir)) ||
|
||||
(rtl && ((sd->dir == EFL_UI_DIR_UP) ||
|
||||
(sd->dir == EFL_UI_DIR_RIGHT))))
|
||||
{
|
||||
pos = 1.0 - pos;
|
||||
pos2 = 1.0 - pos2;
|
||||
}
|
||||
|
||||
ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd);
|
||||
edje_object_part_drag_value_set
|
||||
(wd->resize_obj, "elm.dragable.slider", pos, pos);
|
||||
|
||||
if (sd->intvl_enable)
|
||||
edje_object_part_drag_value_set
|
||||
(wd->resize_obj, "elm.dragable2.slider", pos2, pos2);
|
||||
|
||||
// emit accessiblity event also if value was chagend by API
|
||||
if (_elm_config->atspi_mode)
|
||||
elm_interface_atspi_accessible_value_changed_signal_emit(obj);
|
||||
}
|
||||
|
||||
static void
|
||||
_visuals_refresh(Eo *obj)
|
||||
{
|
||||
_val_set(obj);
|
||||
evas_object_smart_changed(obj);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_ui_slider_interval_interval_value_set(Eo *obj, Efl_Ui_Slider_Interval_Data *sd EINA_UNUSED, double from, double to)
|
||||
{
|
||||
Efl_Ui_Slider_Data *pd = efl_data_scope_safe_get(obj, EFL_UI_SLIDER_CLASS);
|
||||
|
||||
pd->intvl_from = from;
|
||||
pd->val = from;
|
||||
pd->intvl_to = to;
|
||||
|
||||
if (pd->intvl_from < pd->val_min) pd->intvl_from = pd->val_min;
|
||||
if (pd->intvl_to > pd->val_max) pd->intvl_to = pd->val_max;
|
||||
|
||||
_visuals_refresh(obj);
|
||||
}
|
||||
|
||||
EOLIAN static Efl_Object *
|
||||
_efl_ui_slider_interval_efl_object_finalize(Eo *obj, Efl_Ui_Slider_Interval_Data *sd EINA_UNUSED)
|
||||
{
|
||||
Efl_Ui_Slider_Data *pd = efl_data_scope_safe_get(obj, EFL_UI_SLIDER_CLASS);
|
||||
|
||||
pd->intvl_enable = EINA_TRUE;
|
||||
|
||||
elm_obj_widget_theme_apply(obj);
|
||||
|
||||
elm_layout_signal_emit(obj, "elm,slider,range,enable", "elm");
|
||||
if (pd->indicator_show)
|
||||
edje_object_signal_emit(pd->popup2, "elm,state,val,show", "elm");
|
||||
|
||||
obj = efl_finalize(efl_super(obj, MY_CLASS));
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
||||
#include "efl_ui_slider_interval.eo.c"
|
|
@ -0,0 +1,29 @@
|
|||
class Efl.Ui.Slider_Interval (Efl.Ui.Slider)
|
||||
{
|
||||
[[An interval slider.
|
||||
|
||||
This is a slider with two indicators.
|
||||
]]
|
||||
legacy_prefix: null;
|
||||
methods {
|
||||
@property interval_value {
|
||||
[[Sets up position of two indicators at start and end position.
|
||||
|
||||
@since 1.20
|
||||
]]
|
||||
get {
|
||||
legacy: null;
|
||||
}
|
||||
set {
|
||||
legacy: null;
|
||||
}
|
||||
values {
|
||||
from: double;[[interval minimum value]]
|
||||
to: double; [[interval maximum value]]
|
||||
}
|
||||
}
|
||||
}
|
||||
implements {
|
||||
Efl.Object.finalize;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue