2010-10-06 11:40:04 -07:00
|
|
|
#ifdef HAVE_CONFIG_H
|
|
|
|
# include "elementary_config.h"
|
|
|
|
#endif
|
2012-03-29 12:27:13 -07:00
|
|
|
#include <Elementary.h>
|
2013-11-04 00:54:31 -08:00
|
|
|
|
2010-10-06 11:40:04 -07:00
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
_sel_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info)
|
2010-10-06 11:40:04 -07:00
|
|
|
{
|
2011-11-15 17:39:39 -08:00
|
|
|
Elm_Object_Item *it;
|
2010-10-06 11:40:04 -07:00
|
|
|
|
|
|
|
it = event_info;
|
2011-11-15 17:39:39 -08:00
|
|
|
printf("label of selected item is: %s\n", elm_object_item_text_get(it));
|
2010-10-06 11:40:04 -07:00
|
|
|
}
|
|
|
|
|
2010-11-09 12:26:47 -08:00
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
_unsel_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-11-09 12:26:47 -08:00
|
|
|
{
|
2011-11-15 17:39:39 -08:00
|
|
|
Elm_Object_Item *it;
|
2010-11-09 12:26:47 -08:00
|
|
|
Evas_Object *fp = data;
|
2010-11-10 05:43:34 -08:00
|
|
|
it = elm_flipselector_selected_item_get(fp);
|
|
|
|
elm_flipselector_item_selected_set(it, EINA_FALSE);
|
2010-11-09 12:26:47 -08:00
|
|
|
}
|
|
|
|
|
2010-11-09 12:25:57 -08:00
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
_last_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-11-09 12:25:57 -08:00
|
|
|
{
|
2011-11-15 17:39:39 -08:00
|
|
|
Elm_Object_Item *it;
|
2010-11-09 12:25:57 -08:00
|
|
|
Evas_Object *fp = data;
|
2012-02-24 04:05:05 -08:00
|
|
|
it = elm_flipselector_last_item_get(fp);
|
|
|
|
elm_flipselector_item_selected_set(it, EINA_TRUE);
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
_third_from_end_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2012-02-24 04:05:05 -08:00
|
|
|
{
|
|
|
|
Elm_Object_Item *it;
|
|
|
|
Evas_Object *fp = data;
|
|
|
|
it = elm_flipselector_last_item_get(fp);
|
|
|
|
it = elm_flipselector_item_prev_get(it);
|
|
|
|
it = elm_flipselector_item_prev_get(it);
|
2010-11-10 05:43:34 -08:00
|
|
|
elm_flipselector_item_selected_set(it, EINA_TRUE);
|
2010-11-09 12:25:57 -08:00
|
|
|
}
|
|
|
|
|
2010-10-06 11:40:04 -07:00
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
_underflow_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-10-06 11:40:04 -07:00
|
|
|
{
|
|
|
|
printf("underflow!\n");
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
_overflow_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-10-06 11:40:04 -07:00
|
|
|
{
|
|
|
|
printf("overflow!\n");
|
|
|
|
}
|
|
|
|
|
2012-02-24 04:05:05 -08:00
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
slider_change_cb(void *data, Evas_Object *obj, void *event_info EINA_UNUSED)
|
2012-02-24 04:05:05 -08:00
|
|
|
{
|
2012-05-01 23:38:03 -07:00
|
|
|
Evas_Object *fl = (Evas_Object *)data;
|
2012-02-24 04:05:05 -08:00
|
|
|
|
2012-05-01 23:38:03 -07:00
|
|
|
double val = elm_slider_value_get(obj);
|
|
|
|
elm_flipselector_first_interval_set(fl, val);
|
2012-02-24 04:05:05 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
flip_next_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2012-02-24 04:05:05 -08:00
|
|
|
{
|
|
|
|
Evas_Object *fp = data;
|
|
|
|
elm_flipselector_flip_next(fp);
|
|
|
|
}
|
|
|
|
|
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
flip_prev_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2012-02-24 04:05:05 -08:00
|
|
|
{
|
|
|
|
Evas_Object *fp = data;
|
|
|
|
elm_flipselector_flip_prev(fp);
|
|
|
|
}
|
|
|
|
|
2010-10-06 11:40:04 -07:00
|
|
|
void
|
2013-08-31 18:18:03 -07:00
|
|
|
test_flipselector(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
|
2010-10-06 11:40:04 -07:00
|
|
|
{
|
|
|
|
char buf[8];
|
|
|
|
unsigned int i;
|
2014-01-16 06:48:36 -08:00
|
|
|
Evas_Object *win, *bx, *fp, *fpd, *bt, *bx2, *sl;
|
2013-03-27 05:03:06 -07:00
|
|
|
Elm_Object_Item *it;
|
2010-10-06 11:40:04 -07:00
|
|
|
static const char *lbl[] = {
|
2012-05-01 23:38:03 -07:00
|
|
|
"Elementary",
|
|
|
|
"Evas",
|
|
|
|
"Eina",
|
|
|
|
"Edje",
|
|
|
|
"Eet",
|
|
|
|
"Ecore",
|
|
|
|
"Efreet",
|
2013-04-23 09:05:43 -07:00
|
|
|
"Eldbus"
|
2010-10-06 11:40:04 -07:00
|
|
|
};
|
|
|
|
|
2012-04-01 23:20:28 -07:00
|
|
|
win = elm_win_util_standard_add("flipselector", "Flip Selector");
|
2010-10-06 11:40:04 -07:00
|
|
|
elm_win_autodel_set(win, EINA_TRUE);
|
|
|
|
|
|
|
|
bx = elm_box_add(win);
|
|
|
|
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
elm_win_resize_object_add(win, bx);
|
|
|
|
evas_object_show(bx);
|
|
|
|
|
2013-08-18 22:37:16 -07:00
|
|
|
fp = elm_flipselector_add(bx);
|
2010-10-06 11:40:04 -07:00
|
|
|
evas_object_size_hint_weight_set(fp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
evas_object_smart_callback_add(fp, "selected", _sel_cb, NULL);
|
|
|
|
evas_object_smart_callback_add(fp, "underflowed", _overflow_cb, NULL);
|
|
|
|
evas_object_smart_callback_add(fp, "overflowed", _underflow_cb, NULL);
|
|
|
|
for (i = 0; i < sizeof(lbl)/sizeof(char *); i++)
|
2012-05-01 23:38:05 -07:00
|
|
|
{
|
|
|
|
it = elm_flipselector_item_append(fp, lbl[i], NULL, NULL);
|
2013-03-27 05:03:06 -07:00
|
|
|
if (i == 3)
|
|
|
|
elm_flipselector_item_selected_set(it, EINA_TRUE);
|
2012-05-01 23:38:05 -07:00
|
|
|
}
|
2010-10-06 11:40:04 -07:00
|
|
|
elm_box_pack_end(bx, fp);
|
|
|
|
evas_object_show(fp);
|
|
|
|
|
2013-08-18 22:37:16 -07:00
|
|
|
bx2 = elm_box_add(bx);
|
2012-02-24 04:05:05 -08:00
|
|
|
evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
elm_box_horizontal_set(bx2, EINA_TRUE);
|
|
|
|
elm_box_pack_end(bx, bx2);
|
|
|
|
evas_object_show(bx2);
|
|
|
|
|
2013-08-18 22:37:16 -07:00
|
|
|
fp = elm_flipselector_add(bx2);
|
2010-10-06 11:40:04 -07:00
|
|
|
evas_object_smart_callback_add(fp, "underflowed", _overflow_cb, NULL);
|
|
|
|
evas_object_smart_callback_add(fp, "overflowed", _underflow_cb, NULL);
|
|
|
|
evas_object_size_hint_weight_set(fp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
2012-02-24 04:05:05 -08:00
|
|
|
for (i = 1990; i <= 2099; i++)
|
2010-10-06 11:40:04 -07:00
|
|
|
{
|
2012-10-03 19:42:26 -07:00
|
|
|
snprintf(buf, 8, "%u", i);
|
2012-05-01 23:38:03 -07:00
|
|
|
elm_flipselector_item_append(fp, buf, _sel_cb, NULL);
|
2010-10-06 11:40:04 -07:00
|
|
|
}
|
2012-02-24 04:05:05 -08:00
|
|
|
|
2013-08-18 22:37:16 -07:00
|
|
|
bt = elm_button_add(bx2);
|
2012-02-24 04:05:05 -08:00
|
|
|
elm_object_text_set(bt, "Flip Prev");
|
|
|
|
evas_object_smart_callback_add(bt, "clicked", flip_prev_cb, fp);
|
|
|
|
|
|
|
|
elm_box_pack_end(bx2, bt);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
|
|
|
elm_box_pack_end(bx2, fp);
|
2010-10-06 11:40:04 -07:00
|
|
|
evas_object_show(fp);
|
|
|
|
|
2013-08-18 22:37:16 -07:00
|
|
|
bt = elm_button_add(bx2);
|
2012-02-24 04:05:05 -08:00
|
|
|
elm_object_text_set(bt, "Flip Next");
|
|
|
|
evas_object_smart_callback_add(bt, "clicked", flip_next_cb, fp);
|
|
|
|
elm_box_pack_end(bx2, bt);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
2014-01-16 06:48:36 -08:00
|
|
|
fpd = elm_flipselector_add(bx);
|
|
|
|
evas_object_size_hint_weight_set(fpd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
elm_flipselector_item_append(fpd, "disabled", NULL, NULL);
|
|
|
|
elm_object_disabled_set(fpd, EINA_TRUE);
|
|
|
|
elm_box_pack_end(bx, fpd);
|
|
|
|
evas_object_show(fpd);
|
2013-08-19 22:51:23 -07:00
|
|
|
|
2013-08-18 22:37:16 -07:00
|
|
|
sl = elm_slider_add(bx);
|
2013-08-18 23:13:44 -07:00
|
|
|
elm_object_text_set(sl, "Flip Interval:");
|
2012-02-24 04:05:05 -08:00
|
|
|
elm_slider_unit_format_set(sl, "%1.2f");
|
|
|
|
elm_slider_min_max_set(sl, 0, 3.0);
|
|
|
|
elm_slider_value_set(sl, 0.85);
|
|
|
|
evas_object_size_hint_align_set(sl, EVAS_HINT_FILL, EVAS_HINT_FILL);
|
|
|
|
evas_object_size_hint_weight_set(sl, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
|
|
|
elm_box_pack_end(bx, sl);
|
|
|
|
evas_object_show(sl);
|
|
|
|
evas_object_smart_callback_add(sl, "changed", slider_change_cb, fp);
|
|
|
|
|
2013-08-18 22:37:16 -07:00
|
|
|
bt = elm_button_add(bx);
|
2012-02-24 04:05:05 -08:00
|
|
|
elm_object_text_set(bt, "Select Last");
|
|
|
|
evas_object_smart_callback_add(bt, "clicked", _last_cb, fp);
|
|
|
|
elm_box_pack_end(bx, bt);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
2013-08-18 22:37:16 -07:00
|
|
|
bt = elm_button_add(bx);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Select 2097");
|
2012-02-24 04:05:05 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", _third_from_end_cb, fp);
|
2010-11-09 12:25:57 -08:00
|
|
|
elm_box_pack_end(bx, bt);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
2013-08-18 22:37:16 -07:00
|
|
|
bt = elm_button_add(bx);
|
2011-06-29 00:11:54 -07:00
|
|
|
elm_object_text_set(bt, "Unselect year");
|
2010-11-09 12:26:47 -08:00
|
|
|
evas_object_smart_callback_add(bt, "clicked", _unsel_cb, fp);
|
|
|
|
elm_box_pack_end(bx, bt);
|
|
|
|
evas_object_show(bt);
|
|
|
|
|
2016-04-29 16:49:12 -07:00
|
|
|
fpd = elm_flipselector_add(bx);
|
|
|
|
evas_object_size_hint_weight_set(fpd, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
|
2017-11-20 02:12:49 -08:00
|
|
|
efl_ui_range_step_set(fpd, 1.5);
|
2019-06-19 00:55:51 -07:00
|
|
|
efl_ui_range_limits_set(fpd, 2.3, 10.1);
|
2017-11-20 02:12:49 -08:00
|
|
|
efl_ui_range_value_set(fpd, 5.3);
|
|
|
|
printf("Current value is %f\n", efl_ui_range_value_get(fpd));
|
2016-04-29 16:49:12 -07:00
|
|
|
elm_box_pack_end(bx, fpd);
|
|
|
|
evas_object_show(fpd);
|
|
|
|
|
2010-10-06 11:40:04 -07:00
|
|
|
evas_object_show(win);
|
|
|
|
}
|