3 static Elm_Prefs_Item_Type supported_types[] =
11 _item_changed_cb(void *data,
13 void *event_info EINA_UNUSED)
15 Elm_Prefs_Item_Changed_Cb prefs_it_changed_cb = data;
17 prefs_it_changed_cb(obj);
21 elm_prefs_spinner_add(const Elm_Prefs_Item_Iface *iface EINA_UNUSED,
23 const Elm_Prefs_Item_Type type,
24 const Elm_Prefs_Item_Spec spec,
25 Elm_Prefs_Item_Changed_Cb cb)
27 Evas_Object *obj = elm_spinner_add(prefs);
29 evas_object_data_set(obj, "prefs_type", (void *)type);
31 evas_object_smart_callback_add(obj, "changed", _item_changed_cb, cb);
33 if (type == ELM_PREFS_TYPE_INT)
35 elm_spinner_step_set(obj, 1.0);
36 elm_spinner_min_max_set(obj, spec.i.min, spec.i.max);
37 elm_spinner_value_set(obj, spec.i.def);
39 else if (type == ELM_PREFS_TYPE_FLOAT)
41 elm_spinner_label_format_set(obj, "%1.2f");
42 elm_spinner_step_set(obj, 0.1);
43 elm_spinner_min_max_set(obj, spec.f.min, spec.f.max);
44 elm_spinner_value_set(obj, spec.f.def);
51 elm_prefs_spinner_value_set(Evas_Object *obj,
60 Elm_Prefs_Item_Type pt =
61 (Elm_Prefs_Item_Type) evas_object_data_get(obj, "prefs_type");
63 const Eina_Value_Type *vt = eina_value_type_get(value);
64 if (!vt) return EINA_FALSE;
66 if ((pt == ELM_PREFS_TYPE_INT) && (vt == EINA_VALUE_TYPE_INT))
68 eina_value_get(value, &(val.i));
69 elm_spinner_value_set(obj, val.i);
71 else if ((pt == ELM_PREFS_TYPE_FLOAT) && (vt == EINA_VALUE_TYPE_FLOAT))
73 eina_value_get(value, &(val.f));
74 elm_spinner_value_set(obj, val.f);
83 elm_prefs_spinner_value_get(Evas_Object *obj,
92 Elm_Prefs_Item_Type pt =
93 (Elm_Prefs_Item_Type) evas_object_data_get(obj, "prefs_type");
95 if (pt == ELM_PREFS_TYPE_INT)
97 val.i = elm_spinner_value_get(obj);
99 if (!eina_value_setup(value, EINA_VALUE_TYPE_INT)) return EINA_FALSE;
100 if (!eina_value_set(value, val.i)) return EINA_FALSE;
102 else if (pt == ELM_PREFS_TYPE_FLOAT)
104 val.f = elm_spinner_value_get(obj);
106 if (!eina_value_setup(value, EINA_VALUE_TYPE_FLOAT)) return EINA_FALSE;
107 if (!eina_value_set(value, val.f)) return EINA_FALSE;
115 PREFS_ITEM_WIDGET_ADD(spinner,
117 elm_prefs_spinner_value_set,
118 elm_prefs_spinner_value_get,