tizen 2.4 release
[framework/uifw/elementary.git] / src / lib / elm_flipselector.eo
1 class Elm_Flipselector (Elm_Layout, Elm_Interface_Atspi_Widget_Action)
2 {
3    eo_prefix: elm_obj_flipselector;
4    properties {
5       first_interval {
6          set {
7             /*@
8             @MOBILE_ONLY
9
10             @brief Set the interval on time updates for a user mouse button hold
11             on a flip selector widget.
12
13             @remark This interval value is @b decreased while the user holds the
14             mouse pointer either flipping up or flipping down a given flip
15             selector.
16
17             @remark This helps the user to get to a given item distant from the
18             current one easier/faster, as it will start to flip quicker and
19             quicker on mouse button holds.
20
21             @remark The calculation for the next flip interval value, starting from
22             the one set with this call, is the previous interval divided by
23             1.05, so it decreases a little bit.
24
25             @remark The default starting interval value for automatic flips is
26             @b 0.85 seconds.
27
28             @see elm_flipselector_first_interval_get()
29
30             @if MOBILE @since_tizen 2.4
31             @endif
32
33             @ingroup Flipselector */
34          }
35          get {
36             /*@
37             @MOBILE_ONLY
38
39             @brief Get the interval on time updates for an user mouse button hold
40             on a flip selector widget.
41
42             @return The (first) interval value, in seconds, set on it
43
44             @see elm_flipselector_first_interval_set() for more details
45
46             @if MOBILE @since_tizen 2.4
47             @endif
48
49             @ingroup Flipselector */
50          }
51          values {
52             double interval; /*@ The (first) interval value in seconds */
53          }
54       }
55       items {
56          get {
57             /*@
58             @MOBILE_ONLY
59
60             @brief Get the internal list of items in a given flip selector widget.
61
62             @return The list of items (#Elm_Object_Item as data) or
63             @c NULL on errors.
64
65             @remark This list is @b not to be modified in any way and must not be
66             freed. Use the list members with functions like
67             @remark elm_object_item_text_set()
68             @remark elm_object_item_text_get()
69             @remark elm_object_item_del()
70             @remark elm_flipselector_item_selected_get()
71             @remark elm_flipselector_item_selected_set()
72
73             @warning This list is only valid until @p obj object's internal
74             items list is changed. It should be fetched again with another
75             call to this function when changes happen.
76
77             @if MOBILE @since_tizen 2.4
78             @endif
79
80             @ingroup Flipselector */
81             return: const(list)*;
82          }
83       }
84       first_item {
85          get {
86             /*@
87             @MOBILE_ONLY
88
89             @brief Get the first item in the given flip selector widget's list of
90             items.
91
92             @return The first item or @c NULL, if it has no items (and on
93             errors)
94
95             @see elm_flipselector_item_append()
96             @see elm_flipselector_last_item_get()
97
98             @if MOBILE @since_tizen 2.4
99             @endif
100
101             @ingroup Flipselector */
102             return: Elm_Object_Item *;
103          }
104       }
105       last_item {
106          get {
107             /*@
108             @MOBILE_ONLY
109
110             @brief Get the last item in the given flip selector widget's list of
111             items.
112
113             @return The last item or @c NULL, if it has no items (and on
114             errors)
115
116             @see elm_flipselector_item_prepend()
117             @see elm_flipselector_first_item_get()
118
119             @if MOBILE @since_tizen 2.4
120             @endif
121
122             @ingroup Flipselector */
123             return: Elm_Object_Item *;
124          }
125       }
126       selected_item {
127          get {
128             /*@
129             @MOBILE_ONLY
130
131             @brief Get the currently selected item in a flip selector widget.
132
133             @return The selected item or @c NULL, if the widget has no items
134             (and on errors)
135
136             @if MOBILE @since_tizen 2.4
137             @endif
138
139             @ingroup Flipselector */
140             return: Elm_Object_Item *;
141          }
142       }
143    }
144    methods {
145       item_prepend {
146          /*@
147          @MOBILE_ONLY
148
149          @brief Prepend a (text) item to a flip selector widget
150
151          @return A handle to the item added or @c NULL, on errors
152
153          @remark The widget's list of labels to show will be prepended with the
154          given value. If the user wishes so, a callback function pointer
155          can be passed, which will get called when this same item is
156          selected.
157
158          @note The current selection @b won't be modified by prepending
159          an element to the list.
160
161          @note The maximum length of the text label is going to be
162          determined <b>by the widget's theme</b>. Strings larger than
163          that value are going to be @b truncated.
164
165          @if MOBILE @since_tizen 2.4
166          @endif
167
168          @ingroup Flipselector */
169
170          return: Elm_Object_Item *;
171          params {
172             @in const(char)* label; /*@ The (text) label of the new item */
173             @in Evas_Smart_Cb func; /*@ Convenience callback function to take place when
174             item is selected */
175             @in void *data; /*@ Data passed to @p func, above */
176          }
177       }
178       flip_next {
179          /*@
180          @MOBILE_ONLY
181
182          @brief Programmatically select the next item of a flip selector widget
183
184          @note The selection will be animated. Also, if it reaches the
185          end of its list of member items, it will continue with the first
186          one onwards.
187
188          @if MOBILE @since_tizen 2.4
189          @endif
190
191          @ingroup Flipselector */
192
193       }
194       item_append {
195          /*@
196          @MOBILE_ONLY
197
198          @brief Append a (text) item to a flip selector widget
199
200          @return A handle to the item added or @c NULL, on errors
201
202          @remark The widget's list of labels to show will be appended with the
203          given value. If the user wishes so, a callback function pointer
204          can be passed, which will get called when this same item is
205          selected.
206
207          @note The current selection @b won't be modified by appending an
208          element to the list.
209
210          @note The maximum length of the text label is going to be
211          determined <b>by the widget's theme</b>. Strings larger than
212          that value are going to be @b truncated.
213
214          @if MOBILE @since_tizen 2.4
215          @endif
216
217          @ingroup Flipselector */
218
219          return: Elm_Object_Item *;
220          params {
221             @in const(char)* label; /*@ The (text) label of the new item */
222             @in Evas_Smart_Cb func; /*@ Convenience callback function to take place when
223             item is selected */
224             @in const(void)* data; /*@ Data passed to @p func, above */
225          }
226       }
227       flip_prev {
228          /*@
229          @MOBILE_ONLY
230
231          @brief Programmatically select the previous item of a flip selector
232          widget
233
234          @note The selection will be animated. Also, if it reaches the
235          beginning of its list of member items, it will continue with the
236          last one backwards.
237
238          @if MOBILE @since_tizen 2.4
239          @endif
240
241          @ingroup Flipselector */
242
243       }
244    }
245    implements {
246       class.constructor;
247       Eo.Base.constructor;
248       Evas.Object_Smart.add;
249       Evas.Object_Smart.del;
250       Elm_Widget.theme_apply;
251       Elm_Widget.focus_next_manager_is;
252       Elm_Widget.focus_direction_manager_is;
253       Elm_Widget.event;
254       Elm_Layout.sizing_eval;
255       ///TIZEN_ONLY(20150716) : fix accessible_at_point getter
256       Elm_Interface_Atspi_Component.accessible_at_point_get;
257       ///
258    }
259    events {
260       selected;
261       underflowed;
262       overflowed;
263       language,changed;
264       access,changed;
265       focused;
266       unfocused;
267    }
268
269 }