summaryrefslogtreecommitdiff
path: root/src/lib/elementary/elm_flipselector_eo.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/elementary/elm_flipselector_eo.h')
-rw-r--r--src/lib/elementary/elm_flipselector_eo.h212
1 files changed, 212 insertions, 0 deletions
diff --git a/src/lib/elementary/elm_flipselector_eo.h b/src/lib/elementary/elm_flipselector_eo.h
new file mode 100644
index 0000000..59b3c48
--- /dev/null
+++ b/src/lib/elementary/elm_flipselector_eo.h
@@ -0,0 +1,212 @@
1#ifndef _ELM_FLIPSELECTOR_EO_H_
2#define _ELM_FLIPSELECTOR_EO_H_
3
4#ifndef _ELM_FLIPSELECTOR_EO_CLASS_TYPE
5#define _ELM_FLIPSELECTOR_EO_CLASS_TYPE
6
7typedef Eo Elm_Flipselector;
8
9#endif
10
11#ifndef _ELM_FLIPSELECTOR_EO_TYPES
12#define _ELM_FLIPSELECTOR_EO_TYPES
13
14
15#endif
16/** Elementary flipselector class
17 *
18 * @ingroup Elm_Flipselector
19 */
20#define ELM_FLIPSELECTOR_CLASS elm_flipselector_class_get()
21
22EWAPI const Efl_Class *elm_flipselector_class_get(void);
23
24/**
25 * @brief Get the internal list of items in a given flip selector widget.
26 *
27 * This list is not to be modified in any way and must not be freed. Use the
28 * list members with functions like @ref elm_object_item_text_set, @ref
29 * elm_object_item_text_get, @ref elm_object_item_del, @ref
30 * elm_flipselector_item_selected_get, @ref elm_flipselector_item_selected_set.
31 *
32 * @warning This list is only valid until @c obj object's internal items list
33 * is changed. It should be fetched again with another call to this function
34 * when changes happen.
35 *
36 * @param[in] obj The object.
37 *
38 * @return List of items
39 *
40 * @ingroup Elm_Flipselector
41 */
42EOAPI const Eina_List *elm_obj_flipselector_items_get(const Eo *obj);
43
44/**
45 * @brief Get the first item in the given flip selector widget's list of items.
46 *
47 * See also @ref elm_obj_flipselector_item_append,
48 * @ref elm_obj_flipselector_last_item_get.
49 *
50 * @param[in] obj The object.
51 *
52 * @return The first item or @c null, if it has no items (and on errors).
53 *
54 * @ingroup Elm_Flipselector
55 */
56EOAPI Elm_Widget_Item *elm_obj_flipselector_first_item_get(const Eo *obj);
57
58/**
59 * @brief Get the last item in the given flip selector widget's list of items.
60 *
61 * See also @ref elm_obj_flipselector_item_prepend,
62 * @ref elm_obj_flipselector_first_item_get.
63 *
64 * @param[in] obj The object.
65 *
66 * @return The last item or @c null, if it has no items (and on errors).
67 *
68 * @ingroup Elm_Flipselector
69 */
70EOAPI Elm_Widget_Item *elm_obj_flipselector_last_item_get(const Eo *obj);
71
72/**
73 * @brief Get the currently selected item in a flip selector widget.
74 *
75 * @param[in] obj The object.
76 *
77 * @return The selected item or @c null, if the widget has no items (and on
78 * errors).
79 *
80 * @ingroup Elm_Flipselector
81 */
82EOAPI Elm_Widget_Item *elm_obj_flipselector_selected_item_get(const Eo *obj);
83
84/**
85 * @brief Set the interval on time updates for a user mouse button hold on a
86 * flip selector widget.
87 *
88 * This interval value is decreased while the user holds the mouse pointer
89 * either flipping up or flipping down a given flip selector.
90 *
91 * This helps the user to get to a given item distant from the current one
92 * easier/faster, as it will start to flip quicker and quicker on mouse button
93 * holds.
94 *
95 * The calculation for the next flip interval value, starting from the one set
96 * with this call, is the previous interval divided by 1.05, so it decreases a
97 * little bit.
98 *
99 * The default starting interval value for automatic flips is 0.85 seconds.
100 *
101 * See also @ref elm_obj_flipselector_first_interval_get.
102 *
103 * @param[in] obj The object.
104 * @param[in] interval The (first) interval value in seconds.
105 *
106 * @ingroup Elm_Flipselector
107 */
108EOAPI void elm_obj_flipselector_first_interval_set(Eo *obj, double interval);
109
110/**
111 * @brief Get the interval on time updates for an user mouse button hold on a
112 * flip selector widget.
113 *
114 * See also @ref elm_obj_flipselector_first_interval_set for more details.
115 *
116 * @param[in] obj The object.
117 *
118 * @return The (first) interval value in seconds.
119 *
120 * @ingroup Elm_Flipselector
121 */
122EOAPI double elm_obj_flipselector_first_interval_get(const Eo *obj);
123
124/**
125 * @brief Prepend a (text) item to a flip selector widget
126 *
127 * The widget's list of labels to show will be prepended with the given value.
128 * If the user wishes so, a callback function pointer can be passed, which will
129 * get called when this same item is selected.
130 *
131 * @note The current selection won't be modified by prepending an element to
132 * the list.
133 *
134 * @note The maximum length of the text label is going to be determined by the
135 * widget's theme. Strings larger than that value are going to be truncated.
136 *
137 * @param[in] obj The object.
138 * @param[in] label The (text) label of the new item.
139 * @param[in] func Convenience callback function to take place when item is
140 * selected.
141 * @param[in] data Data passed to @c func, above.
142 *
143 * @return New widget item
144 *
145 * @ingroup Elm_Flipselector
146 */
147EOAPI Elm_Widget_Item *elm_obj_flipselector_item_prepend(Eo *obj, const char *label, Evas_Smart_Cb func, void *data);
148
149/**
150 * @brief Programmatically select the next item of a flip selector widget
151 *
152 * @note The selection will be animated. Also, if it reaches the end of its
153 * list of member items, it will continue with the first one onwards.
154 * @param[in] obj The object.
155 *
156 * @ingroup Elm_Flipselector
157 */
158EOAPI void elm_obj_flipselector_flip_next(Eo *obj);
159
160/**
161 * @brief Append a (text) item to a flip selector widget
162 *
163 * The widget's list of labels to show will be appended with the given value.
164 * If the user wishes so, a callback function pointer can be passed, which will
165 * get called when this same item is selected.
166 *
167 * @note The current selection won't be modified by appending an element to the
168 * list.
169 *
170 * @note The maximum length of the text label is going to be determined by the
171 * widget's theme. Strings larger than that value are going to be truncated.
172 *
173 * @param[in] obj The object.
174 * @param[in] label The (text) label of the new item.
175 * @param[in] func Convenience callback function to take place when item is
176 * selected.
177 * @param[in] data Data passed to @c func, above.
178 *
179 * @return New widget item
180 *
181 * @ingroup Elm_Flipselector
182 */
183EOAPI Elm_Widget_Item *elm_obj_flipselector_item_append(Eo *obj, const char *label, Evas_Smart_Cb func, const void *data);
184
185/**
186 * @brief Programmatically select the previous item of a flip selector widget
187 *
188 * @note The selection will be animated. Also, if it reaches the beginning of
189 * its list of member items, it will continue with the last one backwards.
190 * @param[in] obj The object.
191 *
192 * @ingroup Elm_Flipselector
193 */
194EOAPI void elm_obj_flipselector_flip_prev(Eo *obj);
195
196EWAPI extern const Efl_Event_Description _ELM_FLIPSELECTOR_EVENT_UNDERFLOWED;
197
198/** Called when flipselector is underflowed
199 *
200 * @ingroup Elm_Flipselector
201 */
202#define ELM_FLIPSELECTOR_EVENT_UNDERFLOWED (&(_ELM_FLIPSELECTOR_EVENT_UNDERFLOWED))
203
204EWAPI extern const Efl_Event_Description _ELM_FLIPSELECTOR_EVENT_OVERFLOWED;
205
206/** Called when flipselector is overflowed
207 *
208 * @ingroup Elm_Flipselector
209 */
210#define ELM_FLIPSELECTOR_EVENT_OVERFLOWED (&(_ELM_FLIPSELECTOR_EVENT_OVERFLOWED))
211
212#endif