efl
134 строки · 4.4 Кб
1/**
2* Simple Elementary's <b>spinner widget</b> example, illustrating its
3* usage and API.
4*
5* See stdout/stderr for output. Compile with:
6*
7* @verbatim
8* gcc -g spinner_example.c -o spinner_example `pkg-config --cflags --libs elementary`
9* @endverbatim
10*/
11
12#include <Elementary.h>13
14static void15_changed_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)16{
17printf("Value changed to %0.f\n", elm_spinner_value_get(obj));18}
19
20static void21_delay_changed_cb(void *data EINA_UNUSED, Evas_Object *obj, void *event_info EINA_UNUSED)22{
23printf("Value delay changed to %0.f\n", elm_spinner_value_get(obj));24}
25
26static void27_focused_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)28{
29printf("spinner focused\n");30}
31
32static void33_unfocused_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)34{
35printf("spinner unfocused\n");36}
37
38EAPI_MAIN int39elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)40{
41Evas_Object *win, *bx, *sp;42
43elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED);44
45win = elm_win_util_standard_add("spinner", "Spinner Example");46elm_win_autodel_set(win, EINA_TRUE);47
48bx = elm_box_add(win);49evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);50elm_win_resize_object_add(win, bx);51evas_object_show(bx);52
53/* default */54sp = elm_spinner_add(win);55evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);56evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);57elm_box_pack_end(bx, sp);58evas_object_show(sp);59
60/* format */61sp = elm_spinner_add(win);62elm_spinner_label_format_set(sp, "Percentage %%%1.2f something");63evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);64evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);65elm_box_pack_end(bx, sp);66evas_object_show(sp);67
68/* min max, step and wrap */69sp = elm_spinner_add(win);70elm_spinner_label_format_set(sp, "%1.1f units");71elm_spinner_step_set(sp, 1.5);72elm_spinner_wrap_set(sp, EINA_TRUE);73elm_spinner_min_max_set(sp, -50.0, 250.0);74evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);75evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);76elm_box_pack_end(bx, sp);77evas_object_show(sp);78
79/* vertical */80sp = elm_spinner_add(win);81elm_object_style_set(sp, "vertical");82elm_spinner_interval_set(sp, 0.2);83evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);84evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);85elm_box_pack_end(bx, sp);86evas_object_show(sp);87
88/* disabled edition */89sp = elm_spinner_add(win);90elm_spinner_editable_set(sp, EINA_FALSE);91evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);92evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);93elm_box_pack_end(bx, sp);94evas_object_show(sp);95
96/* special values */97sp = elm_spinner_add(win);98elm_spinner_editable_set(sp, EINA_FALSE);99elm_spinner_min_max_set(sp, 1, 12);100elm_spinner_special_value_add(sp, 1, "January");101elm_spinner_special_value_add(sp, 2, "February");102elm_spinner_special_value_add(sp, 3, "March");103elm_spinner_special_value_add(sp, 4, "April");104elm_spinner_special_value_add(sp, 5, "May");105elm_spinner_special_value_add(sp, 6, "June");106elm_spinner_special_value_add(sp, 7, "July");107elm_spinner_special_value_add(sp, 8, "August");108elm_spinner_special_value_add(sp, 9, "September");109elm_spinner_special_value_add(sp, 10, "October");110elm_spinner_special_value_add(sp, 11, "November");111elm_spinner_special_value_add(sp, 12, "December");112evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);113evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);114elm_box_pack_end(bx, sp);115evas_object_show(sp);116
117sp = elm_spinner_add(win);118evas_object_size_hint_align_set(sp, EVAS_HINT_FILL, 0.5);119evas_object_size_hint_weight_set(sp, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);120elm_box_pack_end(bx, sp);121evas_object_show(sp);122elm_spinner_editable_set(sp, EINA_TRUE);123evas_object_smart_callback_add(sp, "focused", _focused_cb, NULL);124evas_object_smart_callback_add(sp, "unfocused", _unfocused_cb, NULL);125evas_object_smart_callback_add(sp, "changed", _changed_cb, NULL);126evas_object_smart_callback_add(sp, "delay,changed", _delay_changed_cb, NULL);127
128evas_object_show(win);129
130elm_run();131
132return 0;133}
134ELM_MAIN()135