summaryrefslogtreecommitdiff
path: root/src/lib/elc_naviframe.eo
blob: fe3daee54656bd7453a56d18b81b09b3f63f05df (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
class Elm_Naviframe (Elm_Layout)
{
   eo_prefix: elm_obj_naviframe;
   properties {
      event_enabled {
         set {
            /*@
            @brief Set the event enabled when pushing/popping items

            If @p enabled is @c EINA_TRUE, the contents of the naviframe item will
            receives events from mouse and keyboard during view changing such as
            item push/pop.

            @warning Events will be blocked by calling evas_object_freeze_events_set()
            internally. So don't call the API whiling pushing/popping items.

            @see elm_naviframe_event_enabled_get()
            @see evas_object_freeze_events_set()

            @ingroup Naviframe */
         }
         get {
            /*@
            @brief Get the value of event enabled status.

            @return @c EINA_TRUE, when event is enabled

            @see elm_naviframe_event_enabled_set()

            @ingroup Naviframe */
         }
         values {
            bool enabled; /*@ Events are received when enabled is @c EINA_TRUE, and
            ignored otherwise. */
         }
      }
      content_preserve_on_pop {
         set {
            /*@
            @brief preserve the content objects when items are popped.

            @see also elm_naviframe_content_preserve_on_pop_get()

            @ingroup Naviframe */
         }
         get {
            /*@
            @brief Get a value whether preserve mode is enabled or not.

            @return If @c EINA_TRUE, preserve mode is enabled

            @see also elm_naviframe_content_preserve_on_pop_set()

            @ingroup Naviframe */
         }
         values {
            bool preserve; /*@ Enable the preserve mode if @c EINA_TRUE, disable otherwise */
         }
      }
      prev_btn_auto_pushed {
         set {
            /*@
            @brief Set creating prev button automatically or not

            @see also elm_naviframe_item_push()

            @ingroup Naviframe */
         }
         get {
            /*@
            @brief Get a value whether prev button(back button) will be auto pushed or
            not.

            @return If @c EINA_TRUE, prev button will be auto pushed.

            @see also elm_naviframe_item_push()
            elm_naviframe_prev_btn_auto_pushed_set()

            @ingroup Naviframe */
         }
         values {
            bool auto_pushed; /*@ If @c EINA_TRUE, the previous button(back button) will
            be created internally when you pass the @c NULL to the prev_btn
            parameter in elm_naviframe_item_push */
         }
      }
      items {
         get {
            /*@
            @brief Get a list of all the naviframe items.

            @return An Eina_List of naviframe items, #Elm_Object_Item,
            or @c NULL on failure.
            @note The returned list MUST be freed.

            @ingroup Naviframe */
            return Eina_List * @warn_unused;
         }
      }
      top_item {
         get {
            /*@
            @brief Get a top item on the naviframe stack

            @return The top item on the naviframe stack or @c NULL, if the stack is
            empty

            @ingroup Naviframe */
            return Elm_Object_Item *;
         }
      }
      bottom_item {
         get {
            /*@
            @brief Get a bottom item on the naviframe stack

            @return The bottom item on the naviframe stack or @c NULL, if the stack is
            empty

            @ingroup Naviframe */
            return Elm_Object_Item *;
         }
      }
   }
   methods {
      item_pop {
         /*@
         @brief Pop an item that is on top of the stack

         @return @c NULL or the content object(if the
         elm_naviframe_content_preserve_on_pop_get is true).

         This pops an item that is on the top(visible) of the naviframe, makes it
         disappear, then deletes the item. The item that was underneath it on the
         stack will become visible.

         @see also elm_naviframe_content_preserve_on_pop_get()
         @see also elm_naviframe_item_pop_cb_set()

         @ingroup Naviframe */

         return Evas_Object *;
      }
      item_insert_before {
         /*@
         @brief Insert a new item into the naviframe before item @p before.

         @return The created item or @c NULL upon failure.

         The item is inserted into the naviframe straight away without any
         transition operations. This item will be deleted when it is popped.

         @see also elm_naviframe_item_style_set()
         @see also elm_naviframe_item_push()
         @see also elm_naviframe_item_insert_after()

         The following styles are available for this item:
         @li @c "default"

         @ingroup Naviframe */

         return Elm_Object_Item *;
         params {
            @in Elm_Object_Item *before; /*@ The naviframe item to insert before. */
            @in const(char)* title_label; /*@ The label in the title area. The name of the title
            label part is "elm.text.title" */
            @in Evas_Object *prev_btn; /*@ The button to go to the previous item. If it is NULL,
            then naviframe will create a back button automatically. The name of
            the prev_btn part is "elm.swallow.prev_btn" */
            @in Evas_Object *next_btn; /*@ The button to go to the next item. Or It could be just an
            extra function button. The name of the next_btn part is
            "elm.swallow.next_btn" */
            @in Evas_Object *content; /*@ The main content object. The name of content part is
            "elm.swallow.content" */
            @in const(char)* item_style; /*@ The current item style name. @c NULL would be default. */
         }
      }
      item_push {
         /*@
         @brief Push a new item to the top of the naviframe stack (and show it).

         @return The created item or @c NULL upon failure.

         The item pushed becomes one page of the naviframe, this item will be
         deleted when it is popped.

         @see also elm_naviframe_item_style_set()
         @see also elm_naviframe_item_insert_before()
         @see also elm_naviframe_item_insert_after()

         The following styles are available for this item:
         @li @c "default"

         @ingroup Naviframe */

         return Elm_Object_Item *;
         params {
            @in const(char)* title_label; /*@ The label in the title area. The name of the title
            label part is "elm.text.title" */
            @in Evas_Object *prev_btn; /*@ The button to go to the previous item. If it is NULL,
            then naviframe will create a back button automatically. The name of
            the prev_btn part is "elm.swallow.prev_btn" */
            @in Evas_Object *next_btn; /*@ The button to go to the next item. Or It could be just an
            extra function button. The name of the next_btn part is
            "elm.swallow.next_btn" */
            @in Evas_Object *content; /*@ The main content object. The name of content part is
            "elm.swallow.content" */
            @in const(char)* item_style; /*@ The current item style name. @c NULL would be default. */
         }
      }
      item_simple_promote {
         /*@
         @brief Simple version of item_promote.

         @see elm_naviframe_item_promote */

         params {
            @in Evas_Object *content;
         }
      }
      item_insert_after {
         /*@
         @brief Insert a new item into the naviframe after item @p after.

         @return The created item or @c NULL upon failure.

         The item is inserted into the naviframe straight away without any
         transition operations. This item will be deleted when it is popped.

         @see also elm_naviframe_item_style_set()
         @see also elm_naviframe_item_push()
         @see also elm_naviframe_item_insert_before()

         The following styles are available for this item:
         @li @c "default"

         @ingroup Naviframe */

         return Elm_Object_Item *;
         params {
            @in Elm_Object_Item *after; /*@ The naviframe item to insert after. */
            @in const(char)* title_label; /*@ The label in the title area. The name of the title
            label part is "elm.text.title" */
            @in Evas_Object *prev_btn; /*@ The button to go to the previous item. If it is NULL,
            then naviframe will create a back button automatically. The name of
            the prev_btn part is "elm.swallow.prev_btn" */
            @in Evas_Object *next_btn; /*@ The button to go to the next item. Or It could be just an
            extra function button. The name of the next_btn part is
            "elm.swallow.next_btn" */
            @in Evas_Object *content; /*@ The main content object. The name of content part is
            "elm.swallow.content" */
            @in const(char)* item_style; /*@ The current item style name. @c NULL would be default. */
         }
      }
   }
   implements {
      class.constructor;
      Eo.Base.constructor;
      Evas.Object_Smart.del;
      Evas.Object_Smart.show;
      Evas.Object_Smart.add;
      Elm_Widget.focus_direction;
      Elm_Widget.focus_next_manager_is;
      Elm_Widget.focus_direction_manager_is;
      Elm_Widget.access;
      Elm_Widget.focus_next;
      Elm_Widget.translate;
      Elm_Widget.theme_apply;
      Elm_Widget.event;
      Elm_Container.content_get;
      Elm_Container.content_set;
      Elm_Container.content_unset;
      Elm_Layout.text_set;
      Elm_Layout.text_get;
      Elm_Layout.signal_emit;
      Elm_Layout.sizing_eval;
   }
   events {
      transition,finished;
      title,transition,finished;
      title,clicked;
      language,changed;
      access,changed;
      focused;
      unfocused;
   }

}