1 /*
2  * This file is part of d-handy.
3  *
4  * d-handy is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser General Public License
6  * as published by the Free Software Foundation; either version 3
7  * of the License, or (at your option) any later version, with
8  * some exceptions, please read the COPYING file.
9  *
10  * d-handy is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public License
16  * along with d-handy; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
18  */
19 module handy.c.types;
20 
21 public import gdk.c.types;
22 public import gio.c.types;
23 public import glib.c.types;
24 public import gobject.c.types;
25 public import gtk.c.types;
26 public import pango.c.types;
27 
28 
29 public enum HdyArrowsDirection
30 {
31 	/**
32 	 * Arrows point upwards
33 	 */
34 	UP = 0,
35 	/**
36 	 * Arrows point to the left
37 	 */
38 	DOWN = 1,
39 	/**
40 	 * Arrows point to the right
41 	 */
42 	LEFT = 2,
43 	/**
44 	 * Arrows point downwards
45 	 */
46 	RIGHT = 3,
47 }
48 alias HdyArrowsDirection ArrowsDirection;
49 
50 public enum HdyCenteringPolicy
51 {
52 	/**
53 	 * Keep the title centered when possible
54 	 */
55 	LOOSE = 0,
56 	/**
57 	 * Keep the title centered at all cost
58 	 */
59 	STRICT = 1,
60 }
61 alias HdyCenteringPolicy CenteringPolicy;
62 
63 /**
64  * Represents the fold of widgets and other objects which can be switched
65  * between folded and unfolded state on the fly, like HdyLeaflet.
66  */
67 public enum HdyFold
68 {
69 	/**
70 	 * The element isn't folded
71 	 */
72 	UNFOLDED = 0,
73 	/**
74 	 * The element is folded
75 	 */
76 	FOLDED = 1,
77 }
78 alias HdyFold Fold;
79 
80 /**
81  * These enumeration values describe the possible transitions between pages in a
82  * #HdyLeaflet widget.
83  *
84  * New values may be added to this enumeration over time.
85  */
86 public enum HdyLeafletChildTransitionType
87 {
88 	/**
89 	 * No transition
90 	 */
91 	NONE = 0,
92 	/**
93 	 * A cross-fade
94 	 */
95 	CROSSFADE = 1,
96 	/**
97 	 * Slide from left, right, up or down according to the orientation, text direction and the children order
98 	 */
99 	SLIDE = 2,
100 	/**
101 	 * Cover the old page or uncover the new page, sliding from or towards the end according to orientation, text direction and children order
102 	 */
103 	OVER = 3,
104 	/**
105 	 * Uncover the new page or cover the old page, sliding from or towards the start according to orientation, text direction and children order
106 	 */
107 	UNDER = 4,
108 }
109 alias HdyLeafletChildTransitionType LeafletChildTransitionType;
110 
111 /**
112  * These enumeration values describe the possible transitions between pages in a
113  * #HdyLeaflet widget.
114  *
115  * New values may be added to this enumeration over time.
116  */
117 public enum HdyLeafletModeTransitionType
118 {
119 	/**
120 	 * No transition
121 	 */
122 	NONE = 0,
123 	/**
124 	 * Slide from left, right, up or down according to the orientation, text direction and the children order
125 	 */
126 	SLIDE = 1,
127 }
128 alias HdyLeafletModeTransitionType LeafletModeTransitionType;
129 
130 /**
131  * These enumeration values describe the possible page indicator styles in a
132  * #HdyPaginator widget.
133  *
134  * New values may be added to this enumeration over time.
135  */
136 public enum HdyPaginatorIndicatorStyle
137 {
138 	/**
139 	 * No indicators
140 	 */
141 	NONE = 0,
142 	/**
143 	 * Each page is represented by a dot. Active dot gradually becomes larger and more opaque.
144 	 */
145 	DOTS = 1,
146 	/**
147 	 * Each page is represented by a thin and long line, and active view is shown with another line that moves between them
148 	 */
149 	LINES = 2,
150 }
151 alias HdyPaginatorIndicatorStyle PaginatorIndicatorStyle;
152 
153 /**
154  * These enumeration values describe the possible transitions between children
155  * in a #HdySqueezer widget.
156  */
157 public enum HdySqueezerTransitionType
158 {
159 	/**
160 	 * No transition
161 	 */
162 	NONE = 0,
163 	/**
164 	 * A cross-fade
165 	 */
166 	CROSSFADE = 1,
167 }
168 alias HdySqueezerTransitionType SqueezerTransitionType;
169 
170 public enum HdyViewSwitcherPolicy
171 {
172 	/**
173 	 * Automatically adapt to the best fitting mode
174 	 */
175 	AUTO = 0,
176 	/**
177 	 * Force the narrow mode
178 	 */
179 	NARROW = 1,
180 	/**
181 	 * Force the wide mode
182 	 */
183 	WIDE = 2,
184 }
185 alias HdyViewSwitcherPolicy ViewSwitcherPolicy;
186 
187 struct HdyActionRow
188 {
189 	HdyPreferencesRow parentInstance;
190 }
191 
192 struct HdyActionRowClass
193 {
194 	/**
195 	 * The parent class
196 	 */
197 	GtkListBoxRowClass parentClass;
198 	/** */
199 	extern(C) void function(HdyActionRow* self) activate;
200 }
201 
202 struct HdyArrows
203 {
204 	GtkDrawingArea parentInstance;
205 }
206 
207 struct HdyArrowsClass
208 {
209 	/**
210 	 * The parent class
211 	 */
212 	GtkDrawingAreaClass parentClass;
213 }
214 
215 struct HdyColumn;
216 
217 struct HdyColumnClass
218 {
219 	GtkBinClass parentClass;
220 }
221 
222 struct HdyComboRow
223 {
224 	HdyActionRow parentInstance;
225 }
226 
227 struct HdyComboRowClass
228 {
229 	/**
230 	 * The parent class
231 	 */
232 	HdyActionRowClass parentClass;
233 }
234 
235 struct HdyDialer
236 {
237 	GtkBin parentInstance;
238 }
239 
240 struct HdyDialerButton
241 {
242 	GtkButton parentInstance;
243 }
244 
245 struct HdyDialerButtonClass
246 {
247 	GtkButtonClass parentClass;
248 }
249 
250 struct HdyDialerClass
251 {
252 	/**
253 	 * The parent class
254 	 */
255 	GtkBinClass parentClass;
256 	/** */
257 	extern(C) void function(HdyDialer* self, const(char)* number) submitted;
258 }
259 
260 struct HdyDialerCycleButton
261 {
262 	HdyDialerButton parentInstance;
263 }
264 
265 struct HdyDialerCycleButtonClass
266 {
267 	/**
268 	 * The parent classqn
269 	 */
270 	HdyDialerButtonClass parentClass;
271 	/** */
272 	extern(C) void function(HdyDialerCycleButton* self) cycleStart;
273 	/** */
274 	extern(C) void function(HdyDialerCycleButton* self) cycleEnd;
275 }
276 
277 struct HdyDialog
278 {
279 	GtkDialog parentInstance;
280 }
281 
282 struct HdyDialogClass
283 {
284 	GtkDialogClass parentClass;
285 }
286 
287 struct HdyEnumValueObject;
288 
289 struct HdyEnumValueObjectClass
290 {
291 	GObjectClass parentClass;
292 }
293 
294 struct HdyExpanderRow
295 {
296 	HdyActionRow parentInstance;
297 }
298 
299 struct HdyExpanderRowClass
300 {
301 	/**
302 	 * The parent class
303 	 */
304 	HdyActionRowClass parentClass;
305 }
306 
307 struct HdyHeaderBar
308 {
309 	GtkContainer parentInstance;
310 }
311 
312 struct HdyHeaderBarClass
313 {
314 	/**
315 	 * The parent class
316 	 */
317 	GtkContainerClass parentClass;
318 }
319 
320 struct HdyHeaderGroup
321 {
322 	GObject parentInstance;
323 }
324 
325 struct HdyHeaderGroupClass
326 {
327 	/**
328 	 * The parent class
329 	 */
330 	GObjectClass parentClass;
331 }
332 
333 struct HdyLeaflet
334 {
335 	GtkContainer parentInstance;
336 }
337 
338 struct HdyLeafletClass
339 {
340 	/**
341 	 * The parent class
342 	 */
343 	GtkContainerClass parentClass;
344 	/** */
345 	extern(C) void function(HdyLeaflet* self) todo;
346 }
347 
348 struct HdyPaginator;
349 
350 struct HdyPaginatorClass
351 {
352 	GtkEventBoxClass parentClass;
353 }
354 
355 struct HdyPreferencesGroup
356 {
357 	GtkBox parentInstance;
358 }
359 
360 struct HdyPreferencesGroupClass
361 {
362 	/**
363 	 * The parent class
364 	 */
365 	GtkBoxClass parentClass;
366 }
367 
368 struct HdyPreferencesPage
369 {
370 	GtkScrolledWindow parentInstance;
371 }
372 
373 struct HdyPreferencesPageClass
374 {
375 	/**
376 	 * The parent class
377 	 */
378 	GtkScrolledWindowClass parentClass;
379 }
380 
381 struct HdyPreferencesRow
382 {
383 	GtkListBoxRow parentInstance;
384 }
385 
386 struct HdyPreferencesRowClass
387 {
388 	/**
389 	 * The parent class
390 	 */
391 	GtkListBoxRowClass parentClass;
392 }
393 
394 struct HdyPreferencesWindow
395 {
396 	GtkWindow parentInstance;
397 }
398 
399 struct HdyPreferencesWindowClass
400 {
401 	/**
402 	 * The parent class
403 	 */
404 	GtkWindowClass parentClass;
405 }
406 
407 struct HdySearchBar
408 {
409 	GtkBin parentInstance;
410 }
411 
412 struct HdySearchBarClass
413 {
414 	GtkBinClass parentClass;
415 }
416 
417 struct HdySqueezer
418 {
419 	GtkContainer parentInstance;
420 }
421 
422 struct HdySqueezerClass
423 {
424 	/**
425 	 * The parent class
426 	 */
427 	GtkContainerClass parentClass;
428 }
429 
430 struct HdyTitleBar;
431 
432 struct HdyTitleBarClass
433 {
434 	GtkBinClass parentClass;
435 }
436 
437 struct HdyValueObject;
438 
439 struct HdyValueObjectClass
440 {
441 	GObjectClass parentClass;
442 }
443 
444 struct HdyViewSwitcher
445 {
446 	GtkBox parentInstance;
447 }
448 
449 struct HdyViewSwitcherBar
450 {
451 	GtkBin parentInstance;
452 }
453 
454 struct HdyViewSwitcherBarClass
455 {
456 	GtkBinClass parentClass;
457 }
458 
459 struct HdyViewSwitcherClass
460 {
461 	GtkBoxClass parentClass;
462 }
463 
464 /**
465  * Called for combo rows that are bound to an enumeration with
466  * hdy_combo_row_set_for_enum() for each value from that enumeration.
467  *
468  * Params:
469  *     value = the value from the enum from which to get a name
470  *     userData = user data
471  *
472  * Returns: a newly allocated displayable name that represents @value
473  */
474 public alias extern(C) char* function(HdyEnumValueObject* value, void* userData) HdyComboRowGetEnumValueNameFunc;
475 
476 /**
477  * Called for combo rows that are bound to a #GListModel with
478  * hdy_combo_row_bind_name_model() for each item that gets added to the model.
479  *
480  * Params:
481  *     item = the item from the model from which to get a name
482  *     userData = user data
483  *
484  * Returns: a newly allocated displayable name that represents @item
485  */
486 public alias extern(C) char* function(void* item, void* userData) HdyComboRowGetNameFunc;