1 /*
2  * This file is part of gtkD.
3  *
4  * gtkD 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  * gtkD 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 gtkD; if not, write to the Free Software
17  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA
18  */
19 
20 // generated automatically - do not change
21 // find conversion definition on APILookup.txt
22 // implement new conversion functionalities on the wrap.utils pakage
23 
24 
25 module gtk.c.types;
26 
27 public import atk.c.types;
28 public import cairo.c.types;
29 public import gdk.c.types;
30 public import gdkpixbuf.c.types;
31 public import gio.c.types;
32 public import glib.c.types;
33 public import gobject.c.types;
34 public import pango.c.types;
35 
36 
37 extern(C) Object _d_newclass(ClassInfo ci);
38 
39 alias GtkAllocation* Allocation;
40 
41 /**
42  * A #GtkAllocation-struct of a widget represents region
43  * which has been allocated to the widget by its parent. It is a subregion
44  * of its parents allocation. See
45  * [GtkWidget’s geometry management section][geometry-management] for
46  * more information.
47  */
48 public alias GdkRectangle GtkAllocation;
49 
50 public alias char* GtkStock;
51 
52 /**
53  * Accelerator flags used with gtk_accel_group_connect().
54  */
55 public enum GtkAccelFlags
56 {
57 	/**
58 	 * Accelerator is visible
59 	 */
60 	VISIBLE = 1,
61 	/**
62 	 * Accelerator not removable
63 	 */
64 	LOCKED = 2,
65 	/**
66 	 * Mask
67 	 */
68 	MASK = 7,
69 }
70 alias GtkAccelFlags AccelFlags;
71 
72 /**
73  * Controls how a widget deals with extra space in a single (x or y)
74  * dimension.
75  *
76  * Alignment only matters if the widget receives a “too large” allocation,
77  * for example if you packed the widget with the #GtkWidget:expand
78  * flag inside a #GtkBox, then the widget might get extra space.  If
79  * you have for example a 16x16 icon inside a 32x32 space, the icon
80  * could be scaled and stretched, it could be centered, or it could be
81  * positioned to one side of the space.
82  *
83  * Note that in horizontal context @GTK_ALIGN_START and @GTK_ALIGN_END
84  * are interpreted relative to text direction.
85  *
86  * GTK_ALIGN_BASELINE support for it is optional for containers and widgets, and
87  * it is only supported for vertical alignment.  When its not supported by
88  * a child or a container it is treated as @GTK_ALIGN_FILL.
89  */
90 public enum GtkAlign
91 {
92 	/**
93 	 * stretch to fill all space if possible, center if
94 	 * no meaningful way to stretch
95 	 */
96 	FILL = 0,
97 	/**
98 	 * snap to left or top side, leaving space on right
99 	 * or bottom
100 	 */
101 	START = 1,
102 	/**
103 	 * snap to right or bottom side, leaving space on left
104 	 * or top
105 	 */
106 	END = 2,
107 	/**
108 	 * center natural width of widget inside the
109 	 * allocation
110 	 */
111 	CENTER = 3,
112 	/**
113 	 * align the widget according to the baseline. Since 3.10.
114 	 */
115 	BASELINE = 4,
116 }
117 alias GtkAlign Align;
118 
119 /**
120  * Types of user actions that may be blocked by gtk_application_inhibit().
121  *
122  * Since: 3.4
123  */
124 public enum GtkApplicationInhibitFlags
125 {
126 	/**
127 	 * Inhibit ending the user session
128 	 * by logging out or by shutting down the computer
129 	 */
130 	LOGOUT = 1,
131 	/**
132 	 * Inhibit user switching
133 	 */
134 	SWITCH = 2,
135 	/**
136 	 * Inhibit suspending the
137 	 * session or computer
138 	 */
139 	SUSPEND = 4,
140 	/**
141 	 * Inhibit the session being
142 	 * marked as idle (and possibly locked)
143 	 */
144 	IDLE = 8,
145 }
146 alias GtkApplicationInhibitFlags ApplicationInhibitFlags;
147 
148 /**
149  * Used to specify the placement of scroll arrows in scrolling menus.
150  */
151 public enum GtkArrowPlacement
152 {
153 	/**
154 	 * Place one arrow on each end of the menu.
155 	 */
156 	BOTH = 0,
157 	/**
158 	 * Place both arrows at the top of the menu.
159 	 */
160 	START = 1,
161 	/**
162 	 * Place both arrows at the bottom of the menu.
163 	 */
164 	END = 2,
165 }
166 alias GtkArrowPlacement ArrowPlacement;
167 
168 /**
169  * Used to indicate the direction in which an arrow should point.
170  */
171 public enum GtkArrowType
172 {
173 	/**
174 	 * Represents an upward pointing arrow.
175 	 */
176 	UP = 0,
177 	/**
178 	 * Represents a downward pointing arrow.
179 	 */
180 	DOWN = 1,
181 	/**
182 	 * Represents a left pointing arrow.
183 	 */
184 	LEFT = 2,
185 	/**
186 	 * Represents a right pointing arrow.
187 	 */
188 	RIGHT = 3,
189 	/**
190 	 * No arrow. Since 2.10.
191 	 */
192 	NONE = 4,
193 }
194 alias GtkArrowType ArrowType;
195 
196 /**
197  * An enum for determining the page role inside the #GtkAssistant. It's
198  * used to handle buttons sensitivity and visibility.
199  *
200  * Note that an assistant needs to end its page flow with a page of type
201  * %GTK_ASSISTANT_PAGE_CONFIRM, %GTK_ASSISTANT_PAGE_SUMMARY or
202  * %GTK_ASSISTANT_PAGE_PROGRESS to be correct.
203  *
204  * The Cancel button will only be shown if the page isn’t “committed”.
205  * See gtk_assistant_commit() for details.
206  */
207 public enum GtkAssistantPageType
208 {
209 	/**
210 	 * The page has regular contents. Both the
211 	 * Back and forward buttons will be shown.
212 	 */
213 	CONTENT = 0,
214 	/**
215 	 * The page contains an introduction to the
216 	 * assistant task. Only the Forward button will be shown if there is a
217 	 * next page.
218 	 */
219 	INTRO = 1,
220 	/**
221 	 * The page lets the user confirm or deny the
222 	 * changes. The Back and Apply buttons will be shown.
223 	 */
224 	CONFIRM = 2,
225 	/**
226 	 * The page informs the user of the changes
227 	 * done. Only the Close button will be shown.
228 	 */
229 	SUMMARY = 3,
230 	/**
231 	 * Used for tasks that take a long time to
232 	 * complete, blocks the assistant until the page is marked as complete.
233 	 * Only the back button will be shown.
234 	 */
235 	PROGRESS = 4,
236 	/**
237 	 * Used for when other page types are not
238 	 * appropriate. No buttons will be shown, and the application must
239 	 * add its own buttons through gtk_assistant_add_action_widget().
240 	 */
241 	CUSTOM = 5,
242 }
243 alias GtkAssistantPageType AssistantPageType;
244 
245 /**
246  * Denotes the expansion properties that a widget will have when it (or its
247  * parent) is resized.
248  */
249 public enum GtkAttachOptions
250 {
251 	/**
252 	 * the widget should expand to take up any extra space in its
253 	 * container that has been allocated.
254 	 */
255 	EXPAND = 1,
256 	/**
257 	 * the widget should shrink as and when possible.
258 	 */
259 	SHRINK = 2,
260 	/**
261 	 * the widget should fill the space allocated to it.
262 	 */
263 	FILL = 4,
264 }
265 alias GtkAttachOptions AttachOptions;
266 
267 /**
268  * Whenever a container has some form of natural row it may align
269  * children in that row along a common typographical baseline. If
270  * the amount of verical space in the row is taller than the total
271  * requested height of the baseline-aligned children then it can use a
272  * #GtkBaselinePosition to select where to put the baseline inside the
273  * extra availible space.
274  *
275  * Since: 3.10
276  */
277 public enum GtkBaselinePosition
278 {
279 	/**
280 	 * Align the baseline at the top
281 	 */
282 	TOP = 0,
283 	/**
284 	 * Center the baseline
285 	 */
286 	CENTER = 1,
287 	/**
288 	 * Align the baseline at the bottom
289 	 */
290 	BOTTOM = 2,
291 }
292 alias GtkBaselinePosition BaselinePosition;
293 
294 /**
295  * Describes how the border of a UI element should be rendered.
296  */
297 public enum GtkBorderStyle
298 {
299 	/**
300 	 * No visible border
301 	 */
302 	NONE = 0,
303 	/**
304 	 * A single line segment
305 	 */
306 	SOLID = 1,
307 	/**
308 	 * Looks as if the content is sunken into the canvas
309 	 */
310 	INSET = 2,
311 	/**
312 	 * Looks as if the content is coming out of the canvas
313 	 */
314 	OUTSET = 3,
315 	/**
316 	 * Same as @GTK_BORDER_STYLE_NONE
317 	 */
318 	HIDDEN = 4,
319 	/**
320 	 * A series of round dots
321 	 */
322 	DOTTED = 5,
323 	/**
324 	 * A series of square-ended dashes
325 	 */
326 	DASHED = 6,
327 	/**
328 	 * Two parallel lines with some space between them
329 	 */
330 	DOUBLE = 7,
331 	/**
332 	 * Looks as if it were carved in the canvas
333 	 */
334 	GROOVE = 8,
335 	/**
336 	 * Looks as if it were coming out of the canvas
337 	 */
338 	RIDGE = 9,
339 }
340 alias GtkBorderStyle BorderStyle;
341 
342 /**
343  * Error codes that identify various errors that can occur while using
344  * #GtkBuilder.
345  */
346 public enum GtkBuilderError
347 {
348 	/**
349 	 * A type-func attribute didn’t name
350 	 * a function that returns a #GType.
351 	 */
352 	INVALID_TYPE_FUNCTION = 0,
353 	/**
354 	 * The input contained a tag that #GtkBuilder
355 	 * can’t handle.
356 	 */
357 	UNHANDLED_TAG = 1,
358 	/**
359 	 * An attribute that is required by
360 	 * #GtkBuilder was missing.
361 	 */
362 	MISSING_ATTRIBUTE = 2,
363 	/**
364 	 * #GtkBuilder found an attribute that
365 	 * it doesn’t understand.
366 	 */
367 	INVALID_ATTRIBUTE = 3,
368 	/**
369 	 * #GtkBuilder found a tag that
370 	 * it doesn’t understand.
371 	 */
372 	INVALID_TAG = 4,
373 	/**
374 	 * A required property value was
375 	 * missing.
376 	 */
377 	MISSING_PROPERTY_VALUE = 5,
378 	/**
379 	 * #GtkBuilder couldn’t parse
380 	 * some attribute value.
381 	 */
382 	INVALID_VALUE = 6,
383 	/**
384 	 * The input file requires a newer version
385 	 * of GTK+.
386 	 */
387 	VERSION_MISMATCH = 7,
388 	/**
389 	 * An object id occurred twice.
390 	 */
391 	DUPLICATE_ID = 8,
392 	/**
393 	 * A specified object type is of the same type or
394 	 * derived from the type of the composite class being extended with builder XML.
395 	 */
396 	OBJECT_TYPE_REFUSED = 9,
397 	/**
398 	 * The wrong type was specified in a composite class’s template XML
399 	 */
400 	TEMPLATE_MISMATCH = 10,
401 	/**
402 	 * The specified property is unknown for the object class.
403 	 */
404 	INVALID_PROPERTY = 11,
405 	/**
406 	 * The specified signal is unknown for the object class.
407 	 */
408 	INVALID_SIGNAL = 12,
409 	/**
410 	 * An object id is unknown
411 	 */
412 	INVALID_ID = 13,
413 }
414 alias GtkBuilderError BuilderError;
415 
416 /**
417  * Used to dictate the style that a #GtkButtonBox uses to layout the buttons it
418  * contains.
419  */
420 public enum GtkButtonBoxStyle
421 {
422 	/**
423 	 * Buttons are evenly spread across the box.
424 	 */
425 	SPREAD = 1,
426 	/**
427 	 * Buttons are placed at the edges of the box.
428 	 */
429 	EDGE = 2,
430 	/**
431 	 * Buttons are grouped towards the start of the box,
432 	 * (on the left for a HBox, or the top for a VBox).
433 	 */
434 	START = 3,
435 	/**
436 	 * Buttons are grouped towards the end of the box,
437 	 * (on the right for a HBox, or the bottom for a VBox).
438 	 */
439 	END = 4,
440 	/**
441 	 * Buttons are centered in the box. Since 2.12.
442 	 */
443 	CENTER = 5,
444 	/**
445 	 * Buttons expand to fill the box. This entails giving
446 	 * buttons a "linked" appearance, making button sizes homogeneous, and
447 	 * setting spacing to 0 (same as calling gtk_box_set_homogeneous() and
448 	 * gtk_box_set_spacing() manually). Since 3.12.
449 	 */
450 	EXPAND = 6,
451 }
452 alias GtkButtonBoxStyle ButtonBoxStyle;
453 
454 /**
455  * The role specifies the desired appearance of a #GtkModelButton.
456  */
457 public enum GtkButtonRole
458 {
459 	/**
460 	 * A plain button
461 	 */
462 	NORMAL = 0,
463 	/**
464 	 * A check button
465 	 */
466 	CHECK = 1,
467 	/**
468 	 * A radio button
469 	 */
470 	RADIO = 2,
471 }
472 alias GtkButtonRole ButtonRole;
473 
474 /**
475  * Prebuilt sets of buttons for the dialog. If
476  * none of these choices are appropriate, simply use %GTK_BUTTONS_NONE
477  * then call gtk_dialog_add_buttons().
478  *
479  * > Please note that %GTK_BUTTONS_OK, %GTK_BUTTONS_YES_NO
480  * > and %GTK_BUTTONS_OK_CANCEL are discouraged by the
481  * > [GNOME Human Interface Guidelines](http://library.gnome.org/devel/hig-book/stable/).
482  */
483 public enum GtkButtonsType
484 {
485 	/**
486 	 * no buttons at all
487 	 */
488 	NONE = 0,
489 	/**
490 	 * an OK button
491 	 */
492 	OK = 1,
493 	/**
494 	 * a Close button
495 	 */
496 	CLOSE = 2,
497 	/**
498 	 * a Cancel button
499 	 */
500 	CANCEL = 3,
501 	/**
502 	 * Yes and No buttons
503 	 */
504 	YES_NO = 4,
505 	/**
506 	 * OK and Cancel buttons
507 	 */
508 	OK_CANCEL = 5,
509 }
510 alias GtkButtonsType ButtonsType;
511 
512 /**
513  * These options can be used to influence the display and behaviour of a #GtkCalendar.
514  */
515 public enum GtkCalendarDisplayOptions
516 {
517 	/**
518 	 * Specifies that the month and year should be displayed.
519 	 */
520 	SHOW_HEADING = 1,
521 	/**
522 	 * Specifies that three letter day descriptions should be present.
523 	 */
524 	SHOW_DAY_NAMES = 2,
525 	/**
526 	 * Prevents the user from switching months with the calendar.
527 	 */
528 	NO_MONTH_CHANGE = 4,
529 	/**
530 	 * Displays each week numbers of the current year, down the
531 	 * left side of the calendar.
532 	 */
533 	SHOW_WEEK_NUMBERS = 8,
534 	/**
535 	 * Just show an indicator, not the full details
536 	 * text when details are provided. See gtk_calendar_set_detail_func().
537 	 */
538 	SHOW_DETAILS = 32,
539 }
540 alias GtkCalendarDisplayOptions CalendarDisplayOptions;
541 
542 /**
543  * Determines if the edited accelerators are GTK+ accelerators. If
544  * they are, consumed modifiers are suppressed, only accelerators
545  * accepted by GTK+ are allowed, and the accelerators are rendered
546  * in the same way as they are in menus.
547  */
548 public enum GtkCellRendererAccelMode
549 {
550 	/**
551 	 * GTK+ accelerators mode
552 	 */
553 	GTK = 0,
554 	/**
555 	 * Other accelerator mode
556 	 */
557 	OTHER = 1,
558 }
559 alias GtkCellRendererAccelMode CellRendererAccelMode;
560 
561 /**
562  * Identifies how the user can interact with a particular cell.
563  */
564 public enum GtkCellRendererMode
565 {
566 	/**
567 	 * The cell is just for display
568 	 * and cannot be interacted with.  Note that this doesn’t mean that eg. the
569 	 * row being drawn can’t be selected -- just that a particular element of
570 	 * it cannot be individually modified.
571 	 */
572 	INERT = 0,
573 	/**
574 	 * The cell can be clicked.
575 	 */
576 	ACTIVATABLE = 1,
577 	/**
578 	 * The cell can be edited or otherwise modified.
579 	 */
580 	EDITABLE = 2,
581 }
582 alias GtkCellRendererMode CellRendererMode;
583 
584 /**
585  * Tells how a cell is to be rendered.
586  */
587 public enum GtkCellRendererState
588 {
589 	/**
590 	 * The cell is currently selected, and
591 	 * probably has a selection colored background to render to.
592 	 */
593 	SELECTED = 1,
594 	/**
595 	 * The mouse is hovering over the cell.
596 	 */
597 	PRELIT = 2,
598 	/**
599 	 * The cell is drawn in an insensitive manner
600 	 */
601 	INSENSITIVE = 4,
602 	/**
603 	 * The cell is in a sorted row
604 	 */
605 	SORTED = 8,
606 	/**
607 	 * The cell is in the focus row.
608 	 */
609 	FOCUSED = 16,
610 	/**
611 	 * The cell is in a row that can be expanded. Since 3.4
612 	 */
613 	EXPANDABLE = 32,
614 	/**
615 	 * The cell is in a row that is expanded. Since 3.4
616 	 */
617 	EXPANDED = 64,
618 }
619 alias GtkCellRendererState CellRendererState;
620 
621 /**
622  * Specifies which corner a child widget should be placed in when packed into
623  * a #GtkScrolledWindow. This is effectively the opposite of where the scroll
624  * bars are placed.
625  */
626 public enum GtkCornerType
627 {
628 	/**
629 	 * Place the scrollbars on the right and bottom of the
630 	 * widget (default behaviour).
631 	 */
632 	TOP_LEFT = 0,
633 	/**
634 	 * Place the scrollbars on the top and right of the
635 	 * widget.
636 	 */
637 	BOTTOM_LEFT = 1,
638 	/**
639 	 * Place the scrollbars on the left and bottom of the
640 	 * widget.
641 	 */
642 	TOP_RIGHT = 2,
643 	/**
644 	 * Place the scrollbars on the top and left of the
645 	 * widget.
646 	 */
647 	BOTTOM_RIGHT = 3,
648 }
649 alias GtkCornerType CornerType;
650 
651 /**
652  * Error codes for %GTK_CSS_PROVIDER_ERROR.
653  */
654 public enum GtkCssProviderError
655 {
656 	/**
657 	 * Failed.
658 	 */
659 	FAILED = 0,
660 	/**
661 	 * Syntax error.
662 	 */
663 	SYNTAX = 1,
664 	/**
665 	 * Import error.
666 	 */
667 	IMPORT = 2,
668 	/**
669 	 * Name error.
670 	 */
671 	NAME = 3,
672 	/**
673 	 * Deprecation error.
674 	 */
675 	DEPRECATED = 4,
676 	/**
677 	 * Unknown value.
678 	 */
679 	UNKNOWN_VALUE = 5,
680 }
681 alias GtkCssProviderError CssProviderError;
682 
683 /**
684  * The different types of sections indicate parts of a CSS document as
685  * parsed by GTK’s CSS parser. They are oriented towards the
686  * [CSS Grammar](http://www.w3.org/TR/CSS21/grammar.html),
687  * but may contain extensions.
688  *
689  * More types might be added in the future as the parser incorporates
690  * more features.
691  *
692  * Since: 3.2
693  */
694 public enum GtkCssSectionType
695 {
696 	/**
697 	 * The section describes a complete document.
698 	 * This section time is the only one where gtk_css_section_get_parent()
699 	 * might return %NULL.
700 	 */
701 	DOCUMENT = 0,
702 	/**
703 	 * The section defines an import rule.
704 	 */
705 	IMPORT = 1,
706 	/**
707 	 * The section defines a color. This
708 	 * is a GTK extension to CSS.
709 	 */
710 	COLOR_DEFINITION = 2,
711 	/**
712 	 * The section defines a binding set. This
713 	 * is a GTK extension to CSS.
714 	 */
715 	BINDING_SET = 3,
716 	/**
717 	 * The section defines a CSS ruleset.
718 	 */
719 	RULESET = 4,
720 	/**
721 	 * The section defines a CSS selector.
722 	 */
723 	SELECTOR = 5,
724 	/**
725 	 * The section defines the declaration of
726 	 * a CSS variable.
727 	 */
728 	DECLARATION = 6,
729 	/**
730 	 * The section defines the value of a CSS declaration.
731 	 */
732 	VALUE = 7,
733 	/**
734 	 * The section defines keyframes. See [CSS
735 	 * Animations](http://dev.w3.org/csswg/css3-animations/#keyframes) for details. Since 3.6
736 	 */
737 	KEYFRAMES = 8,
738 }
739 alias GtkCssSectionType CssSectionType;
740 
741 public enum GtkDebugFlag
742 {
743 	MISC = 1,
744 	PLUGSOCKET = 2,
745 	TEXT = 4,
746 	TREE = 8,
747 	UPDATES = 16,
748 	KEYBINDINGS = 32,
749 	MULTIHEAD = 64,
750 	MODULES = 128,
751 	GEOMETRY = 256,
752 	ICONTHEME = 512,
753 	PRINTING = 1024,
754 	BUILDER = 2048,
755 	SIZE_REQUEST = 4096,
756 	NO_CSS_CACHE = 8192,
757 	BASELINES = 16384,
758 	PIXEL_CACHE = 32768,
759 	NO_PIXEL_CACHE = 65536,
760 	INTERACTIVE = 131072,
761 	TOUCHSCREEN = 262144,
762 	ACTIONS = 524288,
763 	RESIZE = 1048576,
764 	LAYOUT = 2097152,
765 }
766 alias GtkDebugFlag DebugFlag;
767 
768 /**
769  * See also: #GtkEntry::delete-from-cursor.
770  */
771 public enum GtkDeleteType
772 {
773 	/**
774 	 * Delete characters.
775 	 */
776 	CHARS = 0,
777 	/**
778 	 * Delete only the portion of the word to the
779 	 * left/right of cursor if we’re in the middle of a word.
780 	 */
781 	WORD_ENDS = 1,
782 	/**
783 	 * Delete words.
784 	 */
785 	WORDS = 2,
786 	/**
787 	 * Delete display-lines. Display-lines
788 	 * refers to the visible lines, with respect to to the current line
789 	 * breaks. As opposed to paragraphs, which are defined by line
790 	 * breaks in the input.
791 	 */
792 	DISPLAY_LINES = 3,
793 	/**
794 	 * Delete only the portion of the
795 	 * display-line to the left/right of cursor.
796 	 */
797 	DISPLAY_LINE_ENDS = 4,
798 	/**
799 	 * Delete to the end of the
800 	 * paragraph. Like C-k in Emacs (or its reverse).
801 	 */
802 	PARAGRAPH_ENDS = 5,
803 	/**
804 	 * Delete entire line. Like C-k in pico.
805 	 */
806 	PARAGRAPHS = 6,
807 	/**
808 	 * Delete only whitespace. Like M-\ in Emacs.
809 	 */
810 	WHITESPACE = 7,
811 }
812 alias GtkDeleteType DeleteType;
813 
814 /**
815  * The #GtkDestDefaults enumeration specifies the various
816  * types of action that will be taken on behalf
817  * of the user for a drag destination site.
818  */
819 public enum GtkDestDefaults
820 {
821 	/**
822 	 * If set for a widget, GTK+, during a drag over this
823 	 * widget will check if the drag matches this widget’s list of possible targets
824 	 * and actions.
825 	 * GTK+ will then call gdk_drag_status() as appropriate.
826 	 */
827 	MOTION = 1,
828 	/**
829 	 * If set for a widget, GTK+ will draw a highlight on
830 	 * this widget as long as a drag is over this widget and the widget drag format
831 	 * and action are acceptable.
832 	 */
833 	HIGHLIGHT = 2,
834 	/**
835 	 * If set for a widget, when a drop occurs, GTK+ will
836 	 * will check if the drag matches this widget’s list of possible targets and
837 	 * actions. If so, GTK+ will call gtk_drag_get_data() on behalf of the widget.
838 	 * Whether or not the drop is successful, GTK+ will call gtk_drag_finish(). If
839 	 * the action was a move, then if the drag was successful, then %TRUE will be
840 	 * passed for the @delete parameter to gtk_drag_finish().
841 	 */
842 	DROP = 4,
843 	/**
844 	 * If set, specifies that all default actions should
845 	 * be taken.
846 	 */
847 	ALL = 7,
848 }
849 alias GtkDestDefaults DestDefaults;
850 
851 /**
852  * Flags used to influence dialog construction.
853  */
854 public enum GtkDialogFlags
855 {
856 	/**
857 	 * Make the constructed dialog modal,
858 	 * see gtk_window_set_modal()
859 	 */
860 	MODAL = 1,
861 	/**
862 	 * Destroy the dialog when its
863 	 * parent is destroyed, see gtk_window_set_destroy_with_parent()
864 	 */
865 	DESTROY_WITH_PARENT = 2,
866 	/**
867 	 * Create dialog with actions in header
868 	 * bar instead of action area. Since 3.12.
869 	 */
870 	USE_HEADER_BAR = 4,
871 }
872 alias GtkDialogFlags DialogFlags;
873 
874 /**
875  * Focus movement types.
876  */
877 public enum GtkDirectionType
878 {
879 	/**
880 	 * Move forward.
881 	 */
882 	TAB_FORWARD = 0,
883 	/**
884 	 * Move backward.
885 	 */
886 	TAB_BACKWARD = 1,
887 	/**
888 	 * Move up.
889 	 */
890 	UP = 2,
891 	/**
892 	 * Move down.
893 	 */
894 	DOWN = 3,
895 	/**
896 	 * Move left.
897 	 */
898 	LEFT = 4,
899 	/**
900 	 * Move right.
901 	 */
902 	RIGHT = 5,
903 }
904 alias GtkDirectionType DirectionType;
905 
906 /**
907  * Gives an indication why a drag operation failed.
908  * The value can by obtained by connecting to the
909  * #GtkWidget::drag-failed signal.
910  */
911 public enum GtkDragResult
912 {
913 	/**
914 	 * The drag operation was successful.
915 	 */
916 	SUCCESS = 0,
917 	/**
918 	 * No suitable drag target.
919 	 */
920 	NO_TARGET = 1,
921 	/**
922 	 * The user cancelled the drag operation.
923 	 */
924 	USER_CANCELLED = 2,
925 	/**
926 	 * The drag operation timed out.
927 	 */
928 	TIMEOUT_EXPIRED = 3,
929 	/**
930 	 * The pointer or keyboard grab used
931 	 * for the drag operation was broken.
932 	 */
933 	GRAB_BROKEN = 4,
934 	/**
935 	 * The drag operation failed due to some
936 	 * unspecified error.
937 	 */
938 	ERROR = 5,
939 }
940 alias GtkDragResult DragResult;
941 
942 /**
943  * Specifies the side of the entry at which an icon is placed.
944  *
945  * Since: 2.16
946  */
947 public enum GtkEntryIconPosition
948 {
949 	/**
950 	 * At the beginning of the entry (depending on the text direction).
951 	 */
952 	PRIMARY = 0,
953 	/**
954 	 * At the end of the entry (depending on the text direction).
955 	 */
956 	SECONDARY = 1,
957 }
958 alias GtkEntryIconPosition EntryIconPosition;
959 
960 /**
961  * Describes the state of a #GdkEventSequence in a #GtkGesture.
962  *
963  * Since: 3.14
964  */
965 public enum GtkEventSequenceState
966 {
967 	/**
968 	 * The sequence is handled, but not grabbed.
969 	 */
970 	NONE = 0,
971 	/**
972 	 * The sequence is handled and grabbed.
973 	 */
974 	CLAIMED = 1,
975 	/**
976 	 * The sequence is denied.
977 	 */
978 	DENIED = 2,
979 }
980 alias GtkEventSequenceState EventSequenceState;
981 
982 /**
983  * Used to specify the style of the expanders drawn by a #GtkTreeView.
984  */
985 public enum GtkExpanderStyle
986 {
987 	/**
988 	 * The style used for a collapsed subtree.
989 	 */
990 	COLLAPSED = 0,
991 	/**
992 	 * Intermediate style used during animation.
993 	 */
994 	SEMI_COLLAPSED = 1,
995 	/**
996 	 * Intermediate style used during animation.
997 	 */
998 	SEMI_EXPANDED = 2,
999 	/**
1000 	 * The style used for an expanded subtree.
1001 	 */
1002 	EXPANDED = 3,
1003 }
1004 alias GtkExpanderStyle ExpanderStyle;
1005 
1006 /**
1007  * Describes whether a #GtkFileChooser is being used to open existing files
1008  * or to save to a possibly new file.
1009  */
1010 public enum GtkFileChooserAction
1011 {
1012 	/**
1013 	 * Indicates open mode.  The file chooser
1014 	 * will only let the user pick an existing file.
1015 	 */
1016 	OPEN = 0,
1017 	/**
1018 	 * Indicates save mode.  The file chooser
1019 	 * will let the user pick an existing file, or type in a new
1020 	 * filename.
1021 	 */
1022 	SAVE = 1,
1023 	/**
1024 	 * Indicates an Open mode for
1025 	 * selecting folders.  The file chooser will let the user pick an
1026 	 * existing folder.
1027 	 */
1028 	SELECT_FOLDER = 2,
1029 	/**
1030 	 * Indicates a mode for creating a
1031 	 * new folder.  The file chooser will let the user name an existing or
1032 	 * new folder.
1033 	 */
1034 	CREATE_FOLDER = 3,
1035 }
1036 alias GtkFileChooserAction FileChooserAction;
1037 
1038 /**
1039  * Used as a return value of handlers for the
1040  * #GtkFileChooser::confirm-overwrite signal of a #GtkFileChooser. This
1041  * value determines whether the file chooser will present the stock
1042  * confirmation dialog, accept the user’s choice of a filename, or
1043  * let the user choose another filename.
1044  *
1045  * Since: 2.8
1046  */
1047 public enum GtkFileChooserConfirmation
1048 {
1049 	/**
1050 	 * The file chooser will present
1051 	 * its stock dialog to confirm about overwriting an existing file.
1052 	 */
1053 	CONFIRM = 0,
1054 	/**
1055 	 * The file chooser will
1056 	 * terminate and accept the user’s choice of a file name.
1057 	 */
1058 	ACCEPT_FILENAME = 1,
1059 	/**
1060 	 * The file chooser will
1061 	 * continue running, so as to let the user select another file name.
1062 	 */
1063 	SELECT_AGAIN = 2,
1064 }
1065 alias GtkFileChooserConfirmation FileChooserConfirmation;
1066 
1067 /**
1068  * These identify the various errors that can occur while calling
1069  * #GtkFileChooser functions.
1070  */
1071 public enum GtkFileChooserError
1072 {
1073 	/**
1074 	 * Indicates that a file does not exist.
1075 	 */
1076 	NONEXISTENT = 0,
1077 	/**
1078 	 * Indicates a malformed filename.
1079 	 */
1080 	BAD_FILENAME = 1,
1081 	/**
1082 	 * Indicates a duplicate path (e.g. when
1083 	 * adding a bookmark).
1084 	 */
1085 	ALREADY_EXISTS = 2,
1086 	/**
1087 	 * Indicates an incomplete hostname (e.g. "http://foo" without a slash after that).
1088 	 */
1089 	INCOMPLETE_HOSTNAME = 3,
1090 }
1091 alias GtkFileChooserError FileChooserError;
1092 
1093 /**
1094  * These flags indicate what parts of a #GtkFileFilterInfo struct
1095  * are filled or need to be filled.
1096  */
1097 public enum GtkFileFilterFlags
1098 {
1099 	/**
1100 	 * the filename of the file being tested
1101 	 */
1102 	FILENAME = 1,
1103 	/**
1104 	 * the URI for the file being tested
1105 	 */
1106 	URI = 2,
1107 	/**
1108 	 * the string that will be used to
1109 	 * display the file in the file chooser
1110 	 */
1111 	DISPLAY_NAME = 4,
1112 	/**
1113 	 * the mime type of the file
1114 	 */
1115 	MIME_TYPE = 8,
1116 }
1117 alias GtkFileFilterFlags FileFilterFlags;
1118 
1119 /**
1120  * Style for input method preedit. See also
1121  * #GtkSettings:gtk-im-preedit-style
1122  */
1123 public enum GtkIMPreeditStyle
1124 {
1125 	/**
1126 	 * Deprecated
1127 	 */
1128 	NOTHING = 0,
1129 	/**
1130 	 * Deprecated
1131 	 */
1132 	CALLBACK = 1,
1133 	/**
1134 	 * Deprecated
1135 	 */
1136 	NONE = 2,
1137 }
1138 alias GtkIMPreeditStyle IMPreeditStyle;
1139 
1140 /**
1141  * Style for input method status. See also
1142  * #GtkSettings:gtk-im-status-style
1143  */
1144 public enum GtkIMStatusStyle
1145 {
1146 	/**
1147 	 * Deprecated
1148 	 */
1149 	NOTHING = 0,
1150 	/**
1151 	 * Deprecated
1152 	 */
1153 	CALLBACK = 1,
1154 	/**
1155 	 * Deprecated
1156 	 */
1157 	NONE = 2,
1158 }
1159 alias GtkIMStatusStyle IMStatusStyle;
1160 
1161 /**
1162  * Used to specify options for gtk_icon_theme_lookup_icon()
1163  */
1164 public enum GtkIconLookupFlags
1165 {
1166 	/**
1167 	 * Never get SVG icons, even if gdk-pixbuf
1168 	 * supports them. Cannot be used together with %GTK_ICON_LOOKUP_FORCE_SVG.
1169 	 */
1170 	NO_SVG = 1,
1171 	/**
1172 	 * Get SVG icons, even if gdk-pixbuf
1173 	 * doesn’t support them.
1174 	 * Cannot be used together with %GTK_ICON_LOOKUP_NO_SVG.
1175 	 */
1176 	FORCE_SVG = 2,
1177 	/**
1178 	 * When passed to
1179 	 * gtk_icon_theme_lookup_icon() includes builtin icons
1180 	 * as well as files. For a builtin icon, gtk_icon_info_get_filename()
1181 	 * is %NULL and you need to call gtk_icon_info_get_builtin_pixbuf().
1182 	 */
1183 	USE_BUILTIN = 4,
1184 	/**
1185 	 * Try to shorten icon name at '-'
1186 	 * characters before looking at inherited themes. This flag is only
1187 	 * supported in functions that take a single icon name. For more general
1188 	 * fallback, see gtk_icon_theme_choose_icon(). Since 2.12.
1189 	 */
1190 	GENERIC_FALLBACK = 8,
1191 	/**
1192 	 * Always get the icon scaled to the
1193 	 * requested size. Since 2.14.
1194 	 */
1195 	FORCE_SIZE = 16,
1196 	/**
1197 	 * Try to always load regular icons, even
1198 	 * when symbolic icon names are given. Since 3.14.
1199 	 */
1200 	FORCE_REGULAR = 32,
1201 	/**
1202 	 * Try to always load symbolic icons, even
1203 	 * when regular icon names are given. Since 3.14.
1204 	 */
1205 	FORCE_SYMBOLIC = 64,
1206 	/**
1207 	 * Try to load a variant of the icon for left-to-right
1208 	 * text direction. Since 3.14.
1209 	 */
1210 	DIR_LTR = 128,
1211 	/**
1212 	 * Try to load a variant of the icon for right-to-left
1213 	 * text direction. Since 3.14.
1214 	 */
1215 	DIR_RTL = 256,
1216 }
1217 alias GtkIconLookupFlags IconLookupFlags;
1218 
1219 /**
1220  * Built-in stock icon sizes.
1221  */
1222 public enum GtkIconSize
1223 {
1224 	/**
1225 	 * Invalid size.
1226 	 */
1227 	INVALID = 0,
1228 	/**
1229 	 * Size appropriate for menus (16px).
1230 	 */
1231 	MENU = 1,
1232 	/**
1233 	 * Size appropriate for small toolbars (16px).
1234 	 */
1235 	SMALL_TOOLBAR = 2,
1236 	/**
1237 	 * Size appropriate for large toolbars (24px)
1238 	 */
1239 	LARGE_TOOLBAR = 3,
1240 	/**
1241 	 * Size appropriate for buttons (16px)
1242 	 */
1243 	BUTTON = 4,
1244 	/**
1245 	 * Size appropriate for drag and drop (32px)
1246 	 */
1247 	DND = 5,
1248 	/**
1249 	 * Size appropriate for dialogs (48px)
1250 	 */
1251 	DIALOG = 6,
1252 }
1253 alias GtkIconSize IconSize;
1254 
1255 /**
1256  * Error codes for GtkIconTheme operations.
1257  */
1258 public enum GtkIconThemeError
1259 {
1260 	/**
1261 	 * The icon specified does not exist in the theme
1262 	 */
1263 	NOT_FOUND = 0,
1264 	/**
1265 	 * An unspecified error occurred.
1266 	 */
1267 	FAILED = 1,
1268 }
1269 alias GtkIconThemeError IconThemeError;
1270 
1271 /**
1272  * An enum for determining where a dropped item goes.
1273  */
1274 public enum GtkIconViewDropPosition
1275 {
1276 	/**
1277 	 * no drop possible
1278 	 */
1279 	NO_DROP = 0,
1280 	/**
1281 	 * dropped item replaces the item
1282 	 */
1283 	DROP_INTO = 1,
1284 	/**
1285 	 * droppped item is inserted to the left
1286 	 */
1287 	DROP_LEFT = 2,
1288 	/**
1289 	 * dropped item is inserted to the right
1290 	 */
1291 	DROP_RIGHT = 3,
1292 	/**
1293 	 * dropped item is inserted above
1294 	 */
1295 	DROP_ABOVE = 4,
1296 	/**
1297 	 * dropped item is inserted below
1298 	 */
1299 	DROP_BELOW = 5,
1300 }
1301 alias GtkIconViewDropPosition IconViewDropPosition;
1302 
1303 /**
1304  * Describes the image data representation used by a #GtkImage. If you
1305  * want to get the image from the widget, you can only get the
1306  * currently-stored representation. e.g.  if the
1307  * gtk_image_get_storage_type() returns #GTK_IMAGE_PIXBUF, then you can
1308  * call gtk_image_get_pixbuf() but not gtk_image_get_stock().  For empty
1309  * images, you can request any storage type (call any of the "get"
1310  * functions), but they will all return %NULL values.
1311  */
1312 public enum GtkImageType
1313 {
1314 	/**
1315 	 * there is no image displayed by the widget
1316 	 */
1317 	EMPTY = 0,
1318 	/**
1319 	 * the widget contains a #GdkPixbuf
1320 	 */
1321 	PIXBUF = 1,
1322 	/**
1323 	 * the widget contains a [stock item name][gtkstock]
1324 	 */
1325 	STOCK = 2,
1326 	/**
1327 	 * the widget contains a #GtkIconSet
1328 	 */
1329 	ICON_SET = 3,
1330 	/**
1331 	 * the widget contains a #GdkPixbufAnimation
1332 	 */
1333 	ANIMATION = 4,
1334 	/**
1335 	 * the widget contains a named icon.
1336 	 * This image type was added in GTK+ 2.6
1337 	 */
1338 	ICON_NAME = 5,
1339 	/**
1340 	 * the widget contains a #GIcon.
1341 	 * This image type was added in GTK+ 2.14
1342 	 */
1343 	GICON = 6,
1344 	/**
1345 	 * the widget contains a #cairo_surface_t.
1346 	 * This image type was added in GTK+ 3.10
1347 	 */
1348 	SURFACE = 7,
1349 }
1350 alias GtkImageType ImageType;
1351 
1352 /**
1353  * Describes hints that might be taken into account by input methods
1354  * or applications. Note that input methods may already tailor their
1355  * behaviour according to the #GtkInputPurpose of the entry.
1356  *
1357  * Some common sense is expected when using these flags - mixing
1358  * @GTK_INPUT_HINT_LOWERCASE with any of the uppercase hints makes no sense.
1359  *
1360  * This enumeration may be extended in the future; input methods should
1361  * ignore unknown values.
1362  *
1363  * Since: 3.6
1364  */
1365 public enum GtkInputHints
1366 {
1367 	/**
1368 	 * No special behaviour suggested
1369 	 */
1370 	NONE = 0,
1371 	/**
1372 	 * Suggest checking for typos
1373 	 */
1374 	SPELLCHECK = 1,
1375 	/**
1376 	 * Suggest not checking for typos
1377 	 */
1378 	NO_SPELLCHECK = 2,
1379 	/**
1380 	 * Suggest word completion
1381 	 */
1382 	WORD_COMPLETION = 4,
1383 	/**
1384 	 * Suggest to convert all text to lowercase
1385 	 */
1386 	LOWERCASE = 8,
1387 	/**
1388 	 * Suggest to capitalize all text
1389 	 */
1390 	UPPERCASE_CHARS = 16,
1391 	/**
1392 	 * Suggest to capitalize the first
1393 	 * character of each word
1394 	 */
1395 	UPPERCASE_WORDS = 32,
1396 	/**
1397 	 * Suggest to capitalize the
1398 	 * first word of each sentence
1399 	 */
1400 	UPPERCASE_SENTENCES = 64,
1401 	/**
1402 	 * Suggest to not show an onscreen keyboard
1403 	 * (e.g for a calculator that already has all the keys).
1404 	 */
1405 	INHIBIT_OSK = 128,
1406 	/**
1407 	 * The text is vertical. Since 3.18
1408 	 */
1409 	VERTICAL_WRITING = 256,
1410 	/**
1411 	 * Suggest offering Emoji support. Since 3.22.20
1412 	 */
1413 	EMOJI = 512,
1414 	/**
1415 	 * Suggest not offering Emoji support. Since 3.22.20
1416 	 */
1417 	NO_EMOJI = 1024,
1418 }
1419 alias GtkInputHints InputHints;
1420 
1421 /**
1422  * Describes primary purpose of the input widget. This information is
1423  * useful for on-screen keyboards and similar input methods to decide
1424  * which keys should be presented to the user.
1425  *
1426  * Note that the purpose is not meant to impose a totally strict rule
1427  * about allowed characters, and does not replace input validation.
1428  * It is fine for an on-screen keyboard to let the user override the
1429  * character set restriction that is expressed by the purpose. The
1430  * application is expected to validate the entry contents, even if
1431  * it specified a purpose.
1432  *
1433  * The difference between @GTK_INPUT_PURPOSE_DIGITS and
1434  * @GTK_INPUT_PURPOSE_NUMBER is that the former accepts only digits
1435  * while the latter also some punctuation (like commas or points, plus,
1436  * minus) and “e” or “E” as in 3.14E+000.
1437  *
1438  * This enumeration may be extended in the future; input methods should
1439  * interpret unknown values as “free form”.
1440  *
1441  * Since: 3.6
1442  */
1443 public enum GtkInputPurpose
1444 {
1445 	/**
1446 	 * Allow any character
1447 	 */
1448 	FREE_FORM = 0,
1449 	/**
1450 	 * Allow only alphabetic characters
1451 	 */
1452 	ALPHA = 1,
1453 	/**
1454 	 * Allow only digits
1455 	 */
1456 	DIGITS = 2,
1457 	/**
1458 	 * Edited field expects numbers
1459 	 */
1460 	NUMBER = 3,
1461 	/**
1462 	 * Edited field expects phone number
1463 	 */
1464 	PHONE = 4,
1465 	/**
1466 	 * Edited field expects URL
1467 	 */
1468 	URL = 5,
1469 	/**
1470 	 * Edited field expects email address
1471 	 */
1472 	EMAIL = 6,
1473 	/**
1474 	 * Edited field expects the name of a person
1475 	 */
1476 	NAME = 7,
1477 	/**
1478 	 * Like @GTK_INPUT_PURPOSE_FREE_FORM, but characters are hidden
1479 	 */
1480 	PASSWORD = 8,
1481 	/**
1482 	 * Like @GTK_INPUT_PURPOSE_DIGITS, but characters are hidden
1483 	 */
1484 	PIN = 9,
1485 }
1486 alias GtkInputPurpose InputPurpose;
1487 
1488 /**
1489  * Describes how a rendered element connects to adjacent elements.
1490  */
1491 public enum GtkJunctionSides
1492 {
1493 	/**
1494 	 * No junctions.
1495 	 */
1496 	NONE = 0,
1497 	/**
1498 	 * Element connects on the top-left corner.
1499 	 */
1500 	CORNER_TOPLEFT = 1,
1501 	/**
1502 	 * Element connects on the top-right corner.
1503 	 */
1504 	CORNER_TOPRIGHT = 2,
1505 	/**
1506 	 * Element connects on the bottom-left corner.
1507 	 */
1508 	CORNER_BOTTOMLEFT = 4,
1509 	/**
1510 	 * Element connects on the bottom-right corner.
1511 	 */
1512 	CORNER_BOTTOMRIGHT = 8,
1513 	/**
1514 	 * Element connects on the top side.
1515 	 */
1516 	TOP = 3,
1517 	/**
1518 	 * Element connects on the bottom side.
1519 	 */
1520 	BOTTOM = 12,
1521 	/**
1522 	 * Element connects on the left side.
1523 	 */
1524 	LEFT = 5,
1525 	/**
1526 	 * Element connects on the right side.
1527 	 */
1528 	RIGHT = 10,
1529 }
1530 alias GtkJunctionSides JunctionSides;
1531 
1532 /**
1533  * Used for justifying the text inside a #GtkLabel widget. (See also
1534  * #GtkAlignment).
1535  */
1536 public enum GtkJustification
1537 {
1538 	/**
1539 	 * The text is placed at the left edge of the label.
1540 	 */
1541 	LEFT = 0,
1542 	/**
1543 	 * The text is placed at the right edge of the label.
1544 	 */
1545 	RIGHT = 1,
1546 	/**
1547 	 * The text is placed in the center of the label.
1548 	 */
1549 	CENTER = 2,
1550 	/**
1551 	 * The text is placed is distributed across the label.
1552 	 */
1553 	FILL = 3,
1554 }
1555 alias GtkJustification Justification;
1556 
1557 /**
1558  * Describes how #GtkLevelBar contents should be rendered.
1559  * Note that this enumeration could be extended with additional modes
1560  * in the future.
1561  *
1562  * Since: 3.6
1563  */
1564 public enum GtkLevelBarMode
1565 {
1566 	/**
1567 	 * the bar has a continuous mode
1568 	 */
1569 	CONTINUOUS = 0,
1570 	/**
1571 	 * the bar has a discrete mode
1572 	 */
1573 	DISCRETE = 1,
1574 }
1575 alias GtkLevelBarMode LevelBarMode;
1576 
1577 /**
1578  * The type of license for an application.
1579  *
1580  * This enumeration can be expanded at later date.
1581  *
1582  * Since: 3.0
1583  */
1584 public enum GtkLicense
1585 {
1586 	/**
1587 	 * No license specified
1588 	 */
1589 	UNKNOWN = 0,
1590 	/**
1591 	 * A license text is going to be specified by the
1592 	 * developer
1593 	 */
1594 	CUSTOM = 1,
1595 	/**
1596 	 * The GNU General Public License, version 2.0 or later
1597 	 */
1598 	GPL_2_0 = 2,
1599 	/**
1600 	 * The GNU General Public License, version 3.0 or later
1601 	 */
1602 	GPL_3_0 = 3,
1603 	/**
1604 	 * The GNU Lesser General Public License, version 2.1 or later
1605 	 */
1606 	LGPL_2_1 = 4,
1607 	/**
1608 	 * The GNU Lesser General Public License, version 3.0 or later
1609 	 */
1610 	LGPL_3_0 = 5,
1611 	/**
1612 	 * The BSD standard license
1613 	 */
1614 	BSD = 6,
1615 	/**
1616 	 * The MIT/X11 standard license
1617 	 */
1618 	MIT_X11 = 7,
1619 	/**
1620 	 * The Artistic License, version 2.0
1621 	 */
1622 	ARTISTIC = 8,
1623 	/**
1624 	 * The GNU General Public License, version 2.0 only. Since 3.12.
1625 	 */
1626 	GPL_2_0_ONLY = 9,
1627 	/**
1628 	 * The GNU General Public License, version 3.0 only. Since 3.12.
1629 	 */
1630 	GPL_3_0_ONLY = 10,
1631 	/**
1632 	 * The GNU Lesser General Public License, version 2.1 only. Since 3.12.
1633 	 */
1634 	LGPL_2_1_ONLY = 11,
1635 	/**
1636 	 * The GNU Lesser General Public License, version 3.0 only. Since 3.12.
1637 	 */
1638 	LGPL_3_0_ONLY = 12,
1639 	/**
1640 	 * The GNU Affero General Public License, version 3.0 or later. Since: 3.22.
1641 	 */
1642 	AGPL_3_0 = 13,
1643 }
1644 alias GtkLicense License;
1645 
1646 /**
1647  * An enumeration representing directional movements within a menu.
1648  */
1649 public enum GtkMenuDirectionType
1650 {
1651 	/**
1652 	 * To the parent menu shell
1653 	 */
1654 	PARENT = 0,
1655 	/**
1656 	 * To the submenu, if any, associated with the item
1657 	 */
1658 	CHILD = 1,
1659 	/**
1660 	 * To the next menu item
1661 	 */
1662 	NEXT = 2,
1663 	/**
1664 	 * To the previous menu item
1665 	 */
1666 	PREV = 3,
1667 }
1668 alias GtkMenuDirectionType MenuDirectionType;
1669 
1670 /**
1671  * The type of message being displayed in the dialog.
1672  */
1673 public enum GtkMessageType : uint
1674 {
1675 	/**
1676 	 * Informational message
1677 	 */
1678 	INFO = 0,
1679 	/**
1680 	 * Non-fatal warning message
1681 	 */
1682 	WARNING = 1,
1683 	/**
1684 	 * Question requiring a choice
1685 	 */
1686 	QUESTION = 2,
1687 	/**
1688 	 * Fatal error message
1689 	 */
1690 	ERROR = 3,
1691 	/**
1692 	 * None of the above
1693 	 */
1694 	OTHER = 4,
1695 }
1696 alias GtkMessageType MessageType;
1697 
1698 public enum GtkMovementStep
1699 {
1700 	/**
1701 	 * Move forward or back by graphemes
1702 	 */
1703 	LOGICAL_POSITIONS = 0,
1704 	/**
1705 	 * Move left or right by graphemes
1706 	 */
1707 	VISUAL_POSITIONS = 1,
1708 	/**
1709 	 * Move forward or back by words
1710 	 */
1711 	WORDS = 2,
1712 	/**
1713 	 * Move up or down lines (wrapped lines)
1714 	 */
1715 	DISPLAY_LINES = 3,
1716 	/**
1717 	 * Move to either end of a line
1718 	 */
1719 	DISPLAY_LINE_ENDS = 4,
1720 	/**
1721 	 * Move up or down paragraphs (newline-ended lines)
1722 	 */
1723 	PARAGRAPHS = 5,
1724 	/**
1725 	 * Move to either end of a paragraph
1726 	 */
1727 	PARAGRAPH_ENDS = 6,
1728 	/**
1729 	 * Move by pages
1730 	 */
1731 	PAGES = 7,
1732 	/**
1733 	 * Move to ends of the buffer
1734 	 */
1735 	BUFFER_ENDS = 8,
1736 	/**
1737 	 * Move horizontally by pages
1738 	 */
1739 	HORIZONTAL_PAGES = 9,
1740 }
1741 alias GtkMovementStep MovementStep;
1742 
1743 public enum GtkNotebookTab
1744 {
1745 	FIRST = 0,
1746 	LAST = 1,
1747 }
1748 alias GtkNotebookTab NotebookTab;
1749 
1750 /**
1751  * Used to determine the layout of pages on a sheet when printing
1752  * multiple pages per sheet.
1753  */
1754 public enum GtkNumberUpLayout
1755 {
1756 	/**
1757 	 * ![](layout-lrtb.png)
1758 	 */
1759 	LRTB = 0,
1760 	/**
1761 	 * ![](layout-lrbt.png)
1762 	 */
1763 	LRBT = 1,
1764 	/**
1765 	 * ![](layout-rltb.png)
1766 	 */
1767 	RLTB = 2,
1768 	/**
1769 	 * ![](layout-rlbt.png)
1770 	 */
1771 	RLBT = 3,
1772 	/**
1773 	 * ![](layout-tblr.png)
1774 	 */
1775 	TBLR = 4,
1776 	/**
1777 	 * ![](layout-tbrl.png)
1778 	 */
1779 	TBRL = 5,
1780 	/**
1781 	 * ![](layout-btlr.png)
1782 	 */
1783 	BTLR = 6,
1784 	/**
1785 	 * ![](layout-btrl.png)
1786 	 */
1787 	BTRL = 7,
1788 }
1789 alias GtkNumberUpLayout NumberUpLayout;
1790 
1791 /**
1792  * Represents the orientation of widgets and other objects which can be switched
1793  * between horizontal and vertical orientation on the fly, like #GtkToolbar or
1794  * #GtkGesturePan.
1795  */
1796 public enum GtkOrientation
1797 {
1798 	/**
1799 	 * The element is in horizontal orientation.
1800 	 */
1801 	HORIZONTAL = 0,
1802 	/**
1803 	 * The element is in vertical orientation.
1804 	 */
1805 	VERTICAL = 1,
1806 }
1807 alias GtkOrientation Orientation;
1808 
1809 /**
1810  * Determines how widgets should be packed inside menubars
1811  * and menuitems contained in menubars.
1812  */
1813 public enum GtkPackDirection
1814 {
1815 	/**
1816 	 * Widgets are packed left-to-right
1817 	 */
1818 	LTR = 0,
1819 	/**
1820 	 * Widgets are packed right-to-left
1821 	 */
1822 	RTL = 1,
1823 	/**
1824 	 * Widgets are packed top-to-bottom
1825 	 */
1826 	TTB = 2,
1827 	/**
1828 	 * Widgets are packed bottom-to-top
1829 	 */
1830 	BTT = 3,
1831 }
1832 alias GtkPackDirection PackDirection;
1833 
1834 /**
1835  * Represents the packing location #GtkBox children. (See: #GtkVBox,
1836  * #GtkHBox, and #GtkButtonBox).
1837  */
1838 public enum GtkPackType
1839 {
1840 	/**
1841 	 * The child is packed into the start of the box
1842 	 */
1843 	START = 0,
1844 	/**
1845 	 * The child is packed into the end of the box
1846 	 */
1847 	END = 1,
1848 }
1849 alias GtkPackType PackType;
1850 
1851 /**
1852  * The type of a pad action.
1853  */
1854 public enum GtkPadActionType
1855 {
1856 	/**
1857 	 * Action is triggered by a pad button
1858 	 */
1859 	BUTTON = 0,
1860 	/**
1861 	 * Action is triggered by a pad ring
1862 	 */
1863 	RING = 1,
1864 	/**
1865 	 * Action is triggered by a pad strip
1866 	 */
1867 	STRIP = 2,
1868 }
1869 alias GtkPadActionType PadActionType;
1870 
1871 /**
1872  * See also gtk_print_settings_set_orientation().
1873  */
1874 public enum GtkPageOrientation
1875 {
1876 	/**
1877 	 * Portrait mode.
1878 	 */
1879 	PORTRAIT = 0,
1880 	/**
1881 	 * Landscape mode.
1882 	 */
1883 	LANDSCAPE = 1,
1884 	/**
1885 	 * Reverse portrait mode.
1886 	 */
1887 	REVERSE_PORTRAIT = 2,
1888 	/**
1889 	 * Reverse landscape mode.
1890 	 */
1891 	REVERSE_LANDSCAPE = 3,
1892 }
1893 alias GtkPageOrientation PageOrientation;
1894 
1895 /**
1896  * See also gtk_print_job_set_page_set().
1897  */
1898 public enum GtkPageSet
1899 {
1900 	/**
1901 	 * All pages.
1902 	 */
1903 	ALL = 0,
1904 	/**
1905 	 * Even pages.
1906 	 */
1907 	EVEN = 1,
1908 	/**
1909 	 * Odd pages.
1910 	 */
1911 	ODD = 2,
1912 }
1913 alias GtkPageSet PageSet;
1914 
1915 /**
1916  * Describes the panning direction of a #GtkGesturePan
1917  *
1918  * Since: 3.14
1919  */
1920 public enum GtkPanDirection
1921 {
1922 	/**
1923 	 * panned towards the left
1924 	 */
1925 	LEFT = 0,
1926 	/**
1927 	 * panned towards the right
1928 	 */
1929 	RIGHT = 1,
1930 	/**
1931 	 * panned upwards
1932 	 */
1933 	UP = 2,
1934 	/**
1935 	 * panned downwards
1936 	 */
1937 	DOWN = 3,
1938 }
1939 alias GtkPanDirection PanDirection;
1940 
1941 /**
1942  * Priorities for path lookups.
1943  * See also gtk_binding_set_add_path().
1944  */
1945 public enum GtkPathPriorityType
1946 {
1947 	/**
1948 	 * Deprecated
1949 	 */
1950 	LOWEST = 0,
1951 	/**
1952 	 * Deprecated
1953 	 */
1954 	GTK = 4,
1955 	/**
1956 	 * Deprecated
1957 	 */
1958 	APPLICATION = 8,
1959 	/**
1960 	 * Deprecated
1961 	 */
1962 	THEME = 10,
1963 	/**
1964 	 * Deprecated
1965 	 */
1966 	RC = 12,
1967 	/**
1968 	 * Deprecated
1969 	 */
1970 	HIGHEST = 15,
1971 }
1972 alias GtkPathPriorityType PathPriorityType;
1973 
1974 /**
1975  * Widget path types.
1976  * See also gtk_binding_set_add_path().
1977  */
1978 public enum GtkPathType
1979 {
1980 	/**
1981 	 * Deprecated
1982 	 */
1983 	WIDGET = 0,
1984 	/**
1985 	 * Deprecated
1986 	 */
1987 	WIDGET_CLASS = 1,
1988 	/**
1989 	 * Deprecated
1990 	 */
1991 	CLASS = 2,
1992 }
1993 alias GtkPathType PathType;
1994 
1995 /**
1996  * These flags serve two purposes.  First, the application can call gtk_places_sidebar_set_open_flags()
1997  * using these flags as a bitmask.  This tells the sidebar that the application is able to open
1998  * folders selected from the sidebar in various ways, for example, in new tabs or in new windows in
1999  * addition to the normal mode.
2000  *
2001  * Second, when one of these values gets passed back to the application in the
2002  * #GtkPlacesSidebar::open-location signal, it means that the application should
2003  * open the selected location in the normal way, in a new tab, or in a new
2004  * window.  The sidebar takes care of determining the desired way to open the location,
2005  * based on the modifier keys that the user is pressing at the time the selection is made.
2006  *
2007  * If the application never calls gtk_places_sidebar_set_open_flags(), then the sidebar will only
2008  * use #GTK_PLACES_OPEN_NORMAL in the #GtkPlacesSidebar::open-location signal.  This is the
2009  * default mode of operation.
2010  */
2011 public enum GtkPlacesOpenFlags
2012 {
2013 	/**
2014 	 * This is the default mode that #GtkPlacesSidebar uses if no other flags
2015 	 * are specified.  It indicates that the calling application should open the selected location
2016 	 * in the normal way, for example, in the folder view beside the sidebar.
2017 	 */
2018 	NORMAL = 1,
2019 	/**
2020 	 * When passed to gtk_places_sidebar_set_open_flags(), this indicates
2021 	 * that the application can open folders selected from the sidebar in new tabs.  This value
2022 	 * will be passed to the #GtkPlacesSidebar::open-location signal when the user selects
2023 	 * that a location be opened in a new tab instead of in the standard fashion.
2024 	 */
2025 	NEW_TAB = 2,
2026 	/**
2027 	 * Similar to @GTK_PLACES_OPEN_NEW_TAB, but indicates that the application
2028 	 * can open folders in new windows.
2029 	 */
2030 	NEW_WINDOW = 4,
2031 }
2032 alias GtkPlacesOpenFlags PlacesOpenFlags;
2033 
2034 /**
2035  * Determines how the size should be computed to achieve the one of the
2036  * visibility mode for the scrollbars.
2037  */
2038 public enum GtkPolicyType
2039 {
2040 	/**
2041 	 * The scrollbar is always visible. The view size is
2042 	 * independent of the content.
2043 	 */
2044 	ALWAYS = 0,
2045 	/**
2046 	 * The scrollbar will appear and disappear as necessary.
2047 	 * For example, when all of a #GtkTreeView can not be seen.
2048 	 */
2049 	AUTOMATIC = 1,
2050 	/**
2051 	 * The scrollbar should never appear. In this mode the
2052 	 * content determines the size.
2053 	 */
2054 	NEVER = 2,
2055 	/**
2056 	 * Don't show a scrollbar, but don't force the
2057 	 * size to follow the content. This can be used e.g. to make multiple
2058 	 * scrolled windows share a scrollbar. Since: 3.16
2059 	 */
2060 	EXTERNAL = 3,
2061 }
2062 alias GtkPolicyType PolicyType;
2063 
2064 /**
2065  * Describes constraints to positioning of popovers. More values
2066  * may be added to this enumeration in the future.
2067  *
2068  * Since: 3.20
2069  */
2070 public enum GtkPopoverConstraint
2071 {
2072 	/**
2073 	 * Don't constrain the popover position
2074 	 * beyond what is imposed by the implementation
2075 	 */
2076 	NONE = 0,
2077 	/**
2078 	 * Constrain the popover to the boundaries
2079 	 * of the window that it is attached to
2080 	 */
2081 	WINDOW = 1,
2082 }
2083 alias GtkPopoverConstraint PopoverConstraint;
2084 
2085 /**
2086  * Describes which edge of a widget a certain feature is positioned at, e.g. the
2087  * tabs of a #GtkNotebook, the handle of a #GtkHandleBox or the label of a
2088  * #GtkScale.
2089  */
2090 public enum GtkPositionType
2091 {
2092 	/**
2093 	 * The feature is at the left edge.
2094 	 */
2095 	LEFT = 0,
2096 	/**
2097 	 * The feature is at the right edge.
2098 	 */
2099 	RIGHT = 1,
2100 	/**
2101 	 * The feature is at the top edge.
2102 	 */
2103 	TOP = 2,
2104 	/**
2105 	 * The feature is at the bottom edge.
2106 	 */
2107 	BOTTOM = 3,
2108 }
2109 alias GtkPositionType PositionType;
2110 
2111 /**
2112  * See also gtk_print_settings_set_duplex().
2113  */
2114 public enum GtkPrintDuplex
2115 {
2116 	/**
2117 	 * No duplex.
2118 	 */
2119 	SIMPLEX = 0,
2120 	/**
2121 	 * Horizontal duplex.
2122 	 */
2123 	HORIZONTAL = 1,
2124 	/**
2125 	 * Vertical duplex.
2126 	 */
2127 	VERTICAL = 2,
2128 }
2129 alias GtkPrintDuplex PrintDuplex;
2130 
2131 /**
2132  * Error codes that identify various errors that can occur while
2133  * using the GTK+ printing support.
2134  */
2135 public enum GtkPrintError
2136 {
2137 	/**
2138 	 * An unspecified error occurred.
2139 	 */
2140 	GENERAL = 0,
2141 	/**
2142 	 * An internal error occurred.
2143 	 */
2144 	INTERNAL_ERROR = 1,
2145 	/**
2146 	 * A memory allocation failed.
2147 	 */
2148 	NOMEM = 2,
2149 	/**
2150 	 * An error occurred while loading a page setup
2151 	 * or paper size from a key file.
2152 	 */
2153 	INVALID_FILE = 3,
2154 }
2155 alias GtkPrintError PrintError;
2156 
2157 /**
2158  * The @action parameter to gtk_print_operation_run()
2159  * determines what action the print operation should perform.
2160  */
2161 public enum GtkPrintOperationAction
2162 {
2163 	/**
2164 	 * Show the print dialog.
2165 	 */
2166 	PRINT_DIALOG = 0,
2167 	/**
2168 	 * Start to print without showing
2169 	 * the print dialog, based on the current print settings.
2170 	 */
2171 	PRINT = 1,
2172 	/**
2173 	 * Show the print preview.
2174 	 */
2175 	PREVIEW = 2,
2176 	/**
2177 	 * Export to a file. This requires
2178 	 * the export-filename property to be set.
2179 	 */
2180 	EXPORT = 3,
2181 }
2182 alias GtkPrintOperationAction PrintOperationAction;
2183 
2184 /**
2185  * A value of this type is returned by gtk_print_operation_run().
2186  */
2187 public enum GtkPrintOperationResult
2188 {
2189 	/**
2190 	 * An error has occurred.
2191 	 */
2192 	ERROR = 0,
2193 	/**
2194 	 * The print settings should be stored.
2195 	 */
2196 	APPLY = 1,
2197 	/**
2198 	 * The print operation has been canceled,
2199 	 * the print settings should not be stored.
2200 	 */
2201 	CANCEL = 2,
2202 	/**
2203 	 * The print operation is not complete
2204 	 * yet. This value will only be returned when running asynchronously.
2205 	 */
2206 	IN_PROGRESS = 3,
2207 }
2208 alias GtkPrintOperationResult PrintOperationResult;
2209 
2210 /**
2211  * See also gtk_print_job_set_pages()
2212  */
2213 public enum GtkPrintPages
2214 {
2215 	/**
2216 	 * All pages.
2217 	 */
2218 	ALL = 0,
2219 	/**
2220 	 * Current page.
2221 	 */
2222 	CURRENT = 1,
2223 	/**
2224 	 * Range of pages.
2225 	 */
2226 	RANGES = 2,
2227 	/**
2228 	 * Selected pages.
2229 	 */
2230 	SELECTION = 3,
2231 }
2232 alias GtkPrintPages PrintPages;
2233 
2234 /**
2235  * See also gtk_print_settings_set_quality().
2236  */
2237 public enum GtkPrintQuality
2238 {
2239 	/**
2240 	 * Low quality.
2241 	 */
2242 	LOW = 0,
2243 	/**
2244 	 * Normal quality.
2245 	 */
2246 	NORMAL = 1,
2247 	/**
2248 	 * High quality.
2249 	 */
2250 	HIGH = 2,
2251 	/**
2252 	 * Draft quality.
2253 	 */
2254 	DRAFT = 3,
2255 }
2256 alias GtkPrintQuality PrintQuality;
2257 
2258 /**
2259  * The status gives a rough indication of the completion of a running
2260  * print operation.
2261  */
2262 public enum GtkPrintStatus
2263 {
2264 	/**
2265 	 * The printing has not started yet; this
2266 	 * status is set initially, and while the print dialog is shown.
2267 	 */
2268 	INITIAL = 0,
2269 	/**
2270 	 * This status is set while the begin-print
2271 	 * signal is emitted and during pagination.
2272 	 */
2273 	PREPARING = 1,
2274 	/**
2275 	 * This status is set while the
2276 	 * pages are being rendered.
2277 	 */
2278 	GENERATING_DATA = 2,
2279 	/**
2280 	 * The print job is being sent off to the
2281 	 * printer.
2282 	 */
2283 	SENDING_DATA = 3,
2284 	/**
2285 	 * The print job has been sent to the printer,
2286 	 * but is not printed for some reason, e.g. the printer may be stopped.
2287 	 */
2288 	PENDING = 4,
2289 	/**
2290 	 * Some problem has occurred during
2291 	 * printing, e.g. a paper jam.
2292 	 */
2293 	PENDING_ISSUE = 5,
2294 	/**
2295 	 * The printer is processing the print job.
2296 	 */
2297 	PRINTING = 6,
2298 	/**
2299 	 * The printing has been completed successfully.
2300 	 */
2301 	FINISHED = 7,
2302 	/**
2303 	 * The printing has been aborted.
2304 	 */
2305 	FINISHED_ABORTED = 8,
2306 }
2307 alias GtkPrintStatus PrintStatus;
2308 
2309 /**
2310  * Describes the stage at which events are fed into a #GtkEventController.
2311  *
2312  * Since: 3.14
2313  */
2314 public enum GtkPropagationPhase
2315 {
2316 	/**
2317 	 * Events are not delivered automatically. Those can be
2318 	 * manually fed through gtk_event_controller_handle_event(). This should
2319 	 * only be used when full control about when, or whether the controller
2320 	 * handles the event is needed.
2321 	 */
2322 	NONE = 0,
2323 	/**
2324 	 * Events are delivered in the capture phase. The
2325 	 * capture phase happens before the bubble phase, runs from the toplevel down
2326 	 * to the event widget. This option should only be used on containers that
2327 	 * might possibly handle events before their children do.
2328 	 */
2329 	CAPTURE = 1,
2330 	/**
2331 	 * Events are delivered in the bubble phase. The bubble
2332 	 * phase happens after the capture phase, and before the default handlers
2333 	 * are run. This phase runs from the event widget, up to the toplevel.
2334 	 */
2335 	BUBBLE = 2,
2336 	/**
2337 	 * Events are delivered in the default widget event handlers,
2338 	 * note that widget implementations must chain up on button, motion, touch and
2339 	 * grab broken handlers for controllers in this phase to be run.
2340 	 */
2341 	TARGET = 3,
2342 }
2343 alias GtkPropagationPhase PropagationPhase;
2344 
2345 /**
2346  * Deprecated
2347  */
2348 public enum GtkRcFlags
2349 {
2350 	/**
2351 	 * Deprecated
2352 	 */
2353 	FG = 1,
2354 	/**
2355 	 * Deprecated
2356 	 */
2357 	BG = 2,
2358 	/**
2359 	 * Deprecated
2360 	 */
2361 	TEXT = 4,
2362 	/**
2363 	 * Deprecated
2364 	 */
2365 	BASE = 8,
2366 }
2367 alias GtkRcFlags RcFlags;
2368 
2369 /**
2370  * The #GtkRcTokenType enumeration represents the tokens
2371  * in the RC file. It is exposed so that theme engines
2372  * can reuse these tokens when parsing the theme-engine
2373  * specific portions of a RC file.
2374  *
2375  * Deprecated: Use #GtkCssProvider instead.
2376  */
2377 public enum GtkRcTokenType
2378 {
2379 	/**
2380 	 * Deprecated
2381 	 */
2382 	INVALID = 270,
2383 	/**
2384 	 * Deprecated
2385 	 */
2386 	INCLUDE = 271,
2387 	/**
2388 	 * Deprecated
2389 	 */
2390 	NORMAL = 272,
2391 	/**
2392 	 * Deprecated
2393 	 */
2394 	ACTIVE = 273,
2395 	/**
2396 	 * Deprecated
2397 	 */
2398 	PRELIGHT = 274,
2399 	/**
2400 	 * Deprecated
2401 	 */
2402 	SELECTED = 275,
2403 	/**
2404 	 * Deprecated
2405 	 */
2406 	INSENSITIVE = 276,
2407 	/**
2408 	 * Deprecated
2409 	 */
2410 	FG = 277,
2411 	/**
2412 	 * Deprecated
2413 	 */
2414 	BG = 278,
2415 	/**
2416 	 * Deprecated
2417 	 */
2418 	TEXT = 279,
2419 	/**
2420 	 * Deprecated
2421 	 */
2422 	BASE = 280,
2423 	/**
2424 	 * Deprecated
2425 	 */
2426 	XTHICKNESS = 281,
2427 	/**
2428 	 * Deprecated
2429 	 */
2430 	YTHICKNESS = 282,
2431 	/**
2432 	 * Deprecated
2433 	 */
2434 	FONT = 283,
2435 	/**
2436 	 * Deprecated
2437 	 */
2438 	FONTSET = 284,
2439 	/**
2440 	 * Deprecated
2441 	 */
2442 	FONT_NAME = 285,
2443 	/**
2444 	 * Deprecated
2445 	 */
2446 	BG_PIXMAP = 286,
2447 	/**
2448 	 * Deprecated
2449 	 */
2450 	PIXMAP_PATH = 287,
2451 	/**
2452 	 * Deprecated
2453 	 */
2454 	STYLE = 288,
2455 	/**
2456 	 * Deprecated
2457 	 */
2458 	BINDING = 289,
2459 	/**
2460 	 * Deprecated
2461 	 */
2462 	BIND = 290,
2463 	/**
2464 	 * Deprecated
2465 	 */
2466 	WIDGET = 291,
2467 	/**
2468 	 * Deprecated
2469 	 */
2470 	WIDGET_CLASS = 292,
2471 	/**
2472 	 * Deprecated
2473 	 */
2474 	CLASS = 293,
2475 	/**
2476 	 * Deprecated
2477 	 */
2478 	LOWEST = 294,
2479 	/**
2480 	 * Deprecated
2481 	 */
2482 	GTK = 295,
2483 	/**
2484 	 * Deprecated
2485 	 */
2486 	APPLICATION = 296,
2487 	/**
2488 	 * Deprecated
2489 	 */
2490 	THEME = 297,
2491 	/**
2492 	 * Deprecated
2493 	 */
2494 	RC = 298,
2495 	/**
2496 	 * Deprecated
2497 	 */
2498 	HIGHEST = 299,
2499 	/**
2500 	 * Deprecated
2501 	 */
2502 	ENGINE = 300,
2503 	/**
2504 	 * Deprecated
2505 	 */
2506 	MODULE_PATH = 301,
2507 	/**
2508 	 * Deprecated
2509 	 */
2510 	IM_MODULE_PATH = 302,
2511 	/**
2512 	 * Deprecated
2513 	 */
2514 	IM_MODULE_FILE = 303,
2515 	/**
2516 	 * Deprecated
2517 	 */
2518 	STOCK = 304,
2519 	/**
2520 	 * Deprecated
2521 	 */
2522 	LTR = 305,
2523 	/**
2524 	 * Deprecated
2525 	 */
2526 	RTL = 306,
2527 	/**
2528 	 * Deprecated
2529 	 */
2530 	COLOR = 307,
2531 	/**
2532 	 * Deprecated
2533 	 */
2534 	UNBIND = 308,
2535 	/**
2536 	 * Deprecated
2537 	 */
2538 	LAST = 309,
2539 }
2540 alias GtkRcTokenType RcTokenType;
2541 
2542 /**
2543  * These identify the various errors that can occur while calling
2544  * #GtkRecentChooser functions.
2545  *
2546  * Since: 2.10
2547  */
2548 public enum GtkRecentChooserError
2549 {
2550 	/**
2551 	 * Indicates that a file does not exist
2552 	 */
2553 	NOT_FOUND = 0,
2554 	/**
2555 	 * Indicates a malformed URI
2556 	 */
2557 	INVALID_URI = 1,
2558 }
2559 alias GtkRecentChooserError RecentChooserError;
2560 
2561 /**
2562  * These flags indicate what parts of a #GtkRecentFilterInfo struct
2563  * are filled or need to be filled.
2564  */
2565 public enum GtkRecentFilterFlags
2566 {
2567 	/**
2568 	 * the URI of the file being tested
2569 	 */
2570 	URI = 1,
2571 	/**
2572 	 * the string that will be used to
2573 	 * display the file in the recent chooser
2574 	 */
2575 	DISPLAY_NAME = 2,
2576 	/**
2577 	 * the mime type of the file
2578 	 */
2579 	MIME_TYPE = 4,
2580 	/**
2581 	 * the list of applications that have
2582 	 * registered the file
2583 	 */
2584 	APPLICATION = 8,
2585 	/**
2586 	 * the groups to which the file belongs to
2587 	 */
2588 	GROUP = 16,
2589 	/**
2590 	 * the number of days elapsed since the file
2591 	 * has been registered
2592 	 */
2593 	AGE = 32,
2594 }
2595 alias GtkRecentFilterFlags RecentFilterFlags;
2596 
2597 /**
2598  * Error codes for #GtkRecentManager operations
2599  *
2600  * Since: 2.10
2601  */
2602 public enum GtkRecentManagerError
2603 {
2604 	/**
2605 	 * the URI specified does not exists in
2606 	 * the recently used resources list.
2607 	 */
2608 	NOT_FOUND = 0,
2609 	/**
2610 	 * the URI specified is not valid.
2611 	 */
2612 	INVALID_URI = 1,
2613 	/**
2614 	 * the supplied string is not
2615 	 * UTF-8 encoded.
2616 	 */
2617 	INVALID_ENCODING = 2,
2618 	/**
2619 	 * no application has registered
2620 	 * the specified item.
2621 	 */
2622 	NOT_REGISTERED = 3,
2623 	/**
2624 	 * failure while reading the recently used
2625 	 * resources file.
2626 	 */
2627 	READ = 4,
2628 	/**
2629 	 * failure while writing the recently used
2630 	 * resources file.
2631 	 */
2632 	WRITE = 5,
2633 	/**
2634 	 * unspecified error.
2635 	 */
2636 	UNKNOWN = 6,
2637 }
2638 alias GtkRecentManagerError RecentManagerError;
2639 
2640 /**
2641  * Used to specify the sorting method to be applyed to the recently
2642  * used resource list.
2643  *
2644  * Since: 2.10
2645  */
2646 public enum GtkRecentSortType
2647 {
2648 	/**
2649 	 * Do not sort the returned list of recently used
2650 	 * resources.
2651 	 */
2652 	NONE = 0,
2653 	/**
2654 	 * Sort the returned list with the most recently used
2655 	 * items first.
2656 	 */
2657 	MRU = 1,
2658 	/**
2659 	 * Sort the returned list with the least recently used
2660 	 * items first.
2661 	 */
2662 	LRU = 2,
2663 	/**
2664 	 * Sort the returned list using a custom sorting
2665 	 * function passed using gtk_recent_chooser_set_sort_func().
2666 	 */
2667 	CUSTOM = 3,
2668 }
2669 alias GtkRecentSortType RecentSortType;
2670 
2671 /**
2672  * Describes a region within a widget.
2673  */
2674 public enum GtkRegionFlags
2675 {
2676 	/**
2677 	 * Region has an even number within a set.
2678 	 */
2679 	EVEN = 1,
2680 	/**
2681 	 * Region has an odd number within a set.
2682 	 */
2683 	ODD = 2,
2684 	/**
2685 	 * Region is the first one within a set.
2686 	 */
2687 	FIRST = 4,
2688 	/**
2689 	 * Region is the last one within a set.
2690 	 */
2691 	LAST = 8,
2692 	/**
2693 	 * Region is the only one within a set.
2694 	 */
2695 	ONLY = 16,
2696 	/**
2697 	 * Region is part of a sorted area.
2698 	 */
2699 	SORTED = 32,
2700 }
2701 alias GtkRegionFlags RegionFlags;
2702 
2703 /**
2704  * Indicated the relief to be drawn around a #GtkButton.
2705  */
2706 public enum GtkReliefStyle
2707 {
2708 	/**
2709 	 * Draw a normal relief.
2710 	 */
2711 	NORMAL = 0,
2712 	/**
2713 	 * A half relief. Deprecated in 3.14, does the same as @GTK_RELIEF_NORMAL
2714 	 */
2715 	HALF = 1,
2716 	/**
2717 	 * No relief.
2718 	 */
2719 	NONE = 2,
2720 }
2721 alias GtkReliefStyle ReliefStyle;
2722 
2723 public enum GtkResizeMode
2724 {
2725 	/**
2726 	 * Pass resize request to the parent
2727 	 */
2728 	PARENT = 0,
2729 	/**
2730 	 * Queue resizes on this widget
2731 	 */
2732 	QUEUE = 1,
2733 	/**
2734 	 * Resize immediately. Deprecated.
2735 	 */
2736 	IMMEDIATE = 2,
2737 }
2738 alias GtkResizeMode ResizeMode;
2739 
2740 /**
2741  * Predefined values for use as response ids in gtk_dialog_add_button().
2742  * All predefined values are negative; GTK+ leaves values of 0 or greater for
2743  * application-defined response ids.
2744  */
2745 public enum GtkResponseType
2746 {
2747 	/**
2748 	 * Returned if an action widget has no response id,
2749 	 * or if the dialog gets programmatically hidden or destroyed
2750 	 */
2751 	NONE = -1,
2752 	/**
2753 	 * Generic response id, not used by GTK+ dialogs
2754 	 */
2755 	REJECT = -2,
2756 	/**
2757 	 * Generic response id, not used by GTK+ dialogs
2758 	 */
2759 	ACCEPT = -3,
2760 	/**
2761 	 * Returned if the dialog is deleted
2762 	 */
2763 	DELETE_EVENT = -4,
2764 	/**
2765 	 * Returned by OK buttons in GTK+ dialogs
2766 	 */
2767 	OK = -5,
2768 	/**
2769 	 * Returned by Cancel buttons in GTK+ dialogs
2770 	 */
2771 	CANCEL = -6,
2772 	/**
2773 	 * Returned by Close buttons in GTK+ dialogs
2774 	 */
2775 	CLOSE = -7,
2776 	/**
2777 	 * Returned by Yes buttons in GTK+ dialogs
2778 	 */
2779 	YES = -8,
2780 	/**
2781 	 * Returned by No buttons in GTK+ dialogs
2782 	 */
2783 	NO = -9,
2784 	/**
2785 	 * Returned by Apply buttons in GTK+ dialogs
2786 	 */
2787 	APPLY = -10,
2788 	/**
2789 	 * Returned by Help buttons in GTK+ dialogs
2790 	 */
2791 	HELP = -11,
2792 }
2793 alias GtkResponseType ResponseType;
2794 
2795 /**
2796  * These enumeration values describe the possible transitions
2797  * when the child of a #GtkRevealer widget is shown or hidden.
2798  */
2799 public enum GtkRevealerTransitionType
2800 {
2801 	/**
2802 	 * No transition
2803 	 */
2804 	NONE = 0,
2805 	/**
2806 	 * Fade in
2807 	 */
2808 	CROSSFADE = 1,
2809 	/**
2810 	 * Slide in from the left
2811 	 */
2812 	SLIDE_RIGHT = 2,
2813 	/**
2814 	 * Slide in from the right
2815 	 */
2816 	SLIDE_LEFT = 3,
2817 	/**
2818 	 * Slide in from the bottom
2819 	 */
2820 	SLIDE_UP = 4,
2821 	/**
2822 	 * Slide in from the top
2823 	 */
2824 	SLIDE_DOWN = 5,
2825 }
2826 alias GtkRevealerTransitionType RevealerTransitionType;
2827 
2828 public enum GtkScrollStep
2829 {
2830 	/**
2831 	 * Scroll in steps.
2832 	 */
2833 	STEPS = 0,
2834 	/**
2835 	 * Scroll by pages.
2836 	 */
2837 	PAGES = 1,
2838 	/**
2839 	 * Scroll to ends.
2840 	 */
2841 	ENDS = 2,
2842 	/**
2843 	 * Scroll in horizontal steps.
2844 	 */
2845 	HORIZONTAL_STEPS = 3,
2846 	/**
2847 	 * Scroll by horizontal pages.
2848 	 */
2849 	HORIZONTAL_PAGES = 4,
2850 	/**
2851 	 * Scroll to the horizontal ends.
2852 	 */
2853 	HORIZONTAL_ENDS = 5,
2854 }
2855 alias GtkScrollStep ScrollStep;
2856 
2857 /**
2858  * Scrolling types.
2859  */
2860 public enum GtkScrollType
2861 {
2862 	/**
2863 	 * No scrolling.
2864 	 */
2865 	NONE = 0,
2866 	/**
2867 	 * Jump to new location.
2868 	 */
2869 	JUMP = 1,
2870 	/**
2871 	 * Step backward.
2872 	 */
2873 	STEP_BACKWARD = 2,
2874 	/**
2875 	 * Step forward.
2876 	 */
2877 	STEP_FORWARD = 3,
2878 	/**
2879 	 * Page backward.
2880 	 */
2881 	PAGE_BACKWARD = 4,
2882 	/**
2883 	 * Page forward.
2884 	 */
2885 	PAGE_FORWARD = 5,
2886 	/**
2887 	 * Step up.
2888 	 */
2889 	STEP_UP = 6,
2890 	/**
2891 	 * Step down.
2892 	 */
2893 	STEP_DOWN = 7,
2894 	/**
2895 	 * Page up.
2896 	 */
2897 	PAGE_UP = 8,
2898 	/**
2899 	 * Page down.
2900 	 */
2901 	PAGE_DOWN = 9,
2902 	/**
2903 	 * Step to the left.
2904 	 */
2905 	STEP_LEFT = 10,
2906 	/**
2907 	 * Step to the right.
2908 	 */
2909 	STEP_RIGHT = 11,
2910 	/**
2911 	 * Page to the left.
2912 	 */
2913 	PAGE_LEFT = 12,
2914 	/**
2915 	 * Page to the right.
2916 	 */
2917 	PAGE_RIGHT = 13,
2918 	/**
2919 	 * Scroll to start.
2920 	 */
2921 	START = 14,
2922 	/**
2923 	 * Scroll to end.
2924 	 */
2925 	END = 15,
2926 }
2927 alias GtkScrollType ScrollType;
2928 
2929 /**
2930  * Defines the policy to be used in a scrollable widget when updating
2931  * the scrolled window adjustments in a given orientation.
2932  */
2933 public enum GtkScrollablePolicy
2934 {
2935 	/**
2936 	 * Scrollable adjustments are based on the minimum size
2937 	 */
2938 	MINIMUM = 0,
2939 	/**
2940 	 * Scrollable adjustments are based on the natural size
2941 	 */
2942 	NATURAL = 1,
2943 }
2944 alias GtkScrollablePolicy ScrollablePolicy;
2945 
2946 /**
2947  * Used to control what selections users are allowed to make.
2948  */
2949 public enum GtkSelectionMode
2950 {
2951 	/**
2952 	 * No selection is possible.
2953 	 */
2954 	NONE = 0,
2955 	/**
2956 	 * Zero or one element may be selected.
2957 	 */
2958 	SINGLE = 1,
2959 	/**
2960 	 * Exactly one element is selected.
2961 	 * In some circumstances, such as initially or during a search
2962 	 * operation, it’s possible for no element to be selected with
2963 	 * %GTK_SELECTION_BROWSE. What is really enforced is that the user
2964 	 * can’t deselect a currently selected element except by selecting
2965 	 * another element.
2966 	 */
2967 	BROWSE = 2,
2968 	/**
2969 	 * Any number of elements may be selected.
2970 	 * The Ctrl key may be used to enlarge the selection, and Shift
2971 	 * key to select between the focus and the child pointed to.
2972 	 * Some widgets may also allow Click-drag to select a range of elements.
2973 	 */
2974 	MULTIPLE = 3,
2975 }
2976 alias GtkSelectionMode SelectionMode;
2977 
2978 /**
2979  * Determines how GTK+ handles the sensitivity of stepper arrows
2980  * at the end of range widgets.
2981  */
2982 public enum GtkSensitivityType
2983 {
2984 	/**
2985 	 * The arrow is made insensitive if the
2986 	 * thumb is at the end
2987 	 */
2988 	AUTO = 0,
2989 	/**
2990 	 * The arrow is always sensitive
2991 	 */
2992 	ON = 1,
2993 	/**
2994 	 * The arrow is always insensitive
2995 	 */
2996 	OFF = 2,
2997 }
2998 alias GtkSensitivityType SensitivityType;
2999 
3000 /**
3001  * Used to change the appearance of an outline typically provided by a #GtkFrame.
3002  *
3003  * Note that many themes do not differentiate the appearance of the
3004  * various shadow types: Either their is no visible shadow (@GTK_SHADOW_NONE),
3005  * or there is (any other value).
3006  */
3007 public enum GtkShadowType
3008 {
3009 	/**
3010 	 * No outline.
3011 	 */
3012 	NONE = 0,
3013 	/**
3014 	 * The outline is bevelled inwards.
3015 	 */
3016 	IN = 1,
3017 	/**
3018 	 * The outline is bevelled outwards like a button.
3019 	 */
3020 	OUT = 2,
3021 	/**
3022 	 * The outline has a sunken 3d appearance.
3023 	 */
3024 	ETCHED_IN = 3,
3025 	/**
3026 	 * The outline has a raised 3d appearance.
3027 	 */
3028 	ETCHED_OUT = 4,
3029 }
3030 alias GtkShadowType ShadowType;
3031 
3032 /**
3033  * GtkShortcutType specifies the kind of shortcut that is being described.
3034  * More values may be added to this enumeration over time.
3035  *
3036  * Since: 3.20
3037  */
3038 public enum GtkShortcutType
3039 {
3040 	/**
3041 	 * The shortcut is a keyboard accelerator. The #GtkShortcutsShortcut:accelerator
3042 	 * property will be used.
3043 	 */
3044 	ACCELERATOR = 0,
3045 	/**
3046 	 * The shortcut is a pinch gesture. GTK+ provides an icon and subtitle.
3047 	 */
3048 	GESTURE_PINCH = 1,
3049 	/**
3050 	 * The shortcut is a stretch gesture. GTK+ provides an icon and subtitle.
3051 	 */
3052 	GESTURE_STRETCH = 2,
3053 	/**
3054 	 * The shortcut is a clockwise rotation gesture. GTK+ provides an icon and subtitle.
3055 	 */
3056 	GESTURE_ROTATE_CLOCKWISE = 3,
3057 	/**
3058 	 * The shortcut is a counterclockwise rotation gesture. GTK+ provides an icon and subtitle.
3059 	 */
3060 	GESTURE_ROTATE_COUNTERCLOCKWISE = 4,
3061 	/**
3062 	 * The shortcut is a two-finger swipe gesture. GTK+ provides an icon and subtitle.
3063 	 */
3064 	GESTURE_TWO_FINGER_SWIPE_LEFT = 5,
3065 	/**
3066 	 * The shortcut is a two-finger swipe gesture. GTK+ provides an icon and subtitle.
3067 	 */
3068 	GESTURE_TWO_FINGER_SWIPE_RIGHT = 6,
3069 	/**
3070 	 * The shortcut is a gesture. The #GtkShortcutsShortcut:icon property will be
3071 	 * used.
3072 	 */
3073 	GESTURE = 7,
3074 }
3075 alias GtkShortcutType ShortcutType;
3076 
3077 /**
3078  * The mode of the size group determines the directions in which the size
3079  * group affects the requested sizes of its component widgets.
3080  */
3081 public enum GtkSizeGroupMode
3082 {
3083 	/**
3084 	 * group has no effect
3085 	 */
3086 	NONE = 0,
3087 	/**
3088 	 * group affects horizontal requisition
3089 	 */
3090 	HORIZONTAL = 1,
3091 	/**
3092 	 * group affects vertical requisition
3093 	 */
3094 	VERTICAL = 2,
3095 	/**
3096 	 * group affects both horizontal and vertical requisition
3097 	 */
3098 	BOTH = 3,
3099 }
3100 alias GtkSizeGroupMode SizeGroupMode;
3101 
3102 /**
3103  * Specifies a preference for height-for-width or
3104  * width-for-height geometry management.
3105  */
3106 public enum GtkSizeRequestMode
3107 {
3108 	/**
3109 	 * Prefer height-for-width geometry management
3110 	 */
3111 	HEIGHT_FOR_WIDTH = 0,
3112 	/**
3113 	 * Prefer width-for-height geometry management
3114 	 */
3115 	WIDTH_FOR_HEIGHT = 1,
3116 	/**
3117 	 * Don’t trade height-for-width or width-for-height
3118 	 */
3119 	CONSTANT_SIZE = 2,
3120 }
3121 alias GtkSizeRequestMode SizeRequestMode;
3122 
3123 /**
3124  * Determines the direction of a sort.
3125  */
3126 public enum GtkSortType
3127 {
3128 	/**
3129 	 * Sorting is in ascending order.
3130 	 */
3131 	ASCENDING = 0,
3132 	/**
3133 	 * Sorting is in descending order.
3134 	 */
3135 	DESCENDING = 1,
3136 }
3137 alias GtkSortType SortType;
3138 
3139 /**
3140  * The spin button update policy determines whether the spin button displays
3141  * values even if they are outside the bounds of its adjustment.
3142  * See gtk_spin_button_set_update_policy().
3143  */
3144 public enum GtkSpinButtonUpdatePolicy
3145 {
3146 	/**
3147 	 * When refreshing your #GtkSpinButton, the value is
3148 	 * always displayed
3149 	 */
3150 	ALWAYS = 0,
3151 	/**
3152 	 * When refreshing your #GtkSpinButton, the value is
3153 	 * only displayed if it is valid within the bounds of the spin button's
3154 	 * adjustment
3155 	 */
3156 	IF_VALID = 1,
3157 }
3158 alias GtkSpinButtonUpdatePolicy SpinButtonUpdatePolicy;
3159 
3160 /**
3161  * The values of the GtkSpinType enumeration are used to specify the
3162  * change to make in gtk_spin_button_spin().
3163  */
3164 public enum GtkSpinType
3165 {
3166 	/**
3167 	 * Increment by the adjustments step increment.
3168 	 */
3169 	STEP_FORWARD = 0,
3170 	/**
3171 	 * Decrement by the adjustments step increment.
3172 	 */
3173 	STEP_BACKWARD = 1,
3174 	/**
3175 	 * Increment by the adjustments page increment.
3176 	 */
3177 	PAGE_FORWARD = 2,
3178 	/**
3179 	 * Decrement by the adjustments page increment.
3180 	 */
3181 	PAGE_BACKWARD = 3,
3182 	/**
3183 	 * Go to the adjustments lower bound.
3184 	 */
3185 	HOME = 4,
3186 	/**
3187 	 * Go to the adjustments upper bound.
3188 	 */
3189 	END = 5,
3190 	/**
3191 	 * Change by a specified amount.
3192 	 */
3193 	USER_DEFINED = 6,
3194 }
3195 alias GtkSpinType SpinType;
3196 
3197 /**
3198  * These enumeration values describe the possible transitions
3199  * between pages in a #GtkStack widget.
3200  *
3201  * New values may be added to this enumeration over time.
3202  */
3203 public enum GtkStackTransitionType
3204 {
3205 	/**
3206 	 * No transition
3207 	 */
3208 	NONE = 0,
3209 	/**
3210 	 * A cross-fade
3211 	 */
3212 	CROSSFADE = 1,
3213 	/**
3214 	 * Slide from left to right
3215 	 */
3216 	SLIDE_RIGHT = 2,
3217 	/**
3218 	 * Slide from right to left
3219 	 */
3220 	SLIDE_LEFT = 3,
3221 	/**
3222 	 * Slide from bottom up
3223 	 */
3224 	SLIDE_UP = 4,
3225 	/**
3226 	 * Slide from top down
3227 	 */
3228 	SLIDE_DOWN = 5,
3229 	/**
3230 	 * Slide from left or right according to the children order
3231 	 */
3232 	SLIDE_LEFT_RIGHT = 6,
3233 	/**
3234 	 * Slide from top down or bottom up according to the order
3235 	 */
3236 	SLIDE_UP_DOWN = 7,
3237 	/**
3238 	 * Cover the old page by sliding up. Since 3.12
3239 	 */
3240 	OVER_UP = 8,
3241 	/**
3242 	 * Cover the old page by sliding down. Since: 3.12
3243 	 */
3244 	OVER_DOWN = 9,
3245 	/**
3246 	 * Cover the old page by sliding to the left. Since: 3.12
3247 	 */
3248 	OVER_LEFT = 10,
3249 	/**
3250 	 * Cover the old page by sliding to the right. Since: 3.12
3251 	 */
3252 	OVER_RIGHT = 11,
3253 	/**
3254 	 * Uncover the new page by sliding up. Since 3.12
3255 	 */
3256 	UNDER_UP = 12,
3257 	/**
3258 	 * Uncover the new page by sliding down. Since: 3.12
3259 	 */
3260 	UNDER_DOWN = 13,
3261 	/**
3262 	 * Uncover the new page by sliding to the left. Since: 3.12
3263 	 */
3264 	UNDER_LEFT = 14,
3265 	/**
3266 	 * Uncover the new page by sliding to the right. Since: 3.12
3267 	 */
3268 	UNDER_RIGHT = 15,
3269 	/**
3270 	 * Cover the old page sliding up or uncover the new page sliding down, according to order. Since: 3.12
3271 	 */
3272 	OVER_UP_DOWN = 16,
3273 	/**
3274 	 * Cover the old page sliding down or uncover the new page sliding up, according to order. Since: 3.14
3275 	 */
3276 	OVER_DOWN_UP = 17,
3277 	/**
3278 	 * Cover the old page sliding left or uncover the new page sliding right, according to order. Since: 3.14
3279 	 */
3280 	OVER_LEFT_RIGHT = 18,
3281 	/**
3282 	 * Cover the old page sliding right or uncover the new page sliding left, according to order. Since: 3.14
3283 	 */
3284 	OVER_RIGHT_LEFT = 19,
3285 }
3286 alias GtkStackTransitionType StackTransitionType;
3287 
3288 /**
3289  * Describes a widget state. Widget states are used to match the widget
3290  * against CSS pseudo-classes. Note that GTK extends the regular CSS
3291  * classes and sometimes uses different names.
3292  */
3293 public enum GtkStateFlags
3294 {
3295 	/**
3296 	 * State during normal operation.
3297 	 */
3298 	NORMAL = 0,
3299 	/**
3300 	 * Widget is active.
3301 	 */
3302 	ACTIVE = 1,
3303 	/**
3304 	 * Widget has a mouse pointer over it.
3305 	 */
3306 	PRELIGHT = 2,
3307 	/**
3308 	 * Widget is selected.
3309 	 */
3310 	SELECTED = 4,
3311 	/**
3312 	 * Widget is insensitive.
3313 	 */
3314 	INSENSITIVE = 8,
3315 	/**
3316 	 * Widget is inconsistent.
3317 	 */
3318 	INCONSISTENT = 16,
3319 	/**
3320 	 * Widget has the keyboard focus.
3321 	 */
3322 	FOCUSED = 32,
3323 	/**
3324 	 * Widget is in a background toplevel window.
3325 	 */
3326 	BACKDROP = 64,
3327 	/**
3328 	 * Widget is in left-to-right text direction. Since 3.8
3329 	 */
3330 	DIR_LTR = 128,
3331 	/**
3332 	 * Widget is in right-to-left text direction. Since 3.8
3333 	 */
3334 	DIR_RTL = 256,
3335 	/**
3336 	 * Widget is a link. Since 3.12
3337 	 */
3338 	LINK = 512,
3339 	/**
3340 	 * The location the widget points to has already been visited. Since 3.12
3341 	 */
3342 	VISITED = 1024,
3343 	/**
3344 	 * Widget is checked. Since 3.14
3345 	 */
3346 	CHECKED = 2048,
3347 	/**
3348 	 * Widget is highlighted as a drop target for DND. Since 3.20
3349 	 */
3350 	DROP_ACTIVE = 4096,
3351 }
3352 alias GtkStateFlags StateFlags;
3353 
3354 /**
3355  * This type indicates the current state of a widget; the state determines how
3356  * the widget is drawn. The #GtkStateType enumeration is also used to
3357  * identify different colors in a #GtkStyle for drawing, so states can be
3358  * used for subparts of a widget as well as entire widgets.
3359  *
3360  * Deprecated: All APIs that are using this enumeration have been deprecated
3361  * in favor of alternatives using #GtkStateFlags.
3362  */
3363 public enum GtkStateType
3364 {
3365 	/**
3366 	 * State during normal operation.
3367 	 */
3368 	NORMAL = 0,
3369 	/**
3370 	 * State of a currently active widget, such as a depressed button.
3371 	 */
3372 	ACTIVE = 1,
3373 	/**
3374 	 * State indicating that the mouse pointer is over
3375 	 * the widget and the widget will respond to mouse clicks.
3376 	 */
3377 	PRELIGHT = 2,
3378 	/**
3379 	 * State of a selected item, such the selected row in a list.
3380 	 */
3381 	SELECTED = 3,
3382 	/**
3383 	 * State indicating that the widget is
3384 	 * unresponsive to user actions.
3385 	 */
3386 	INSENSITIVE = 4,
3387 	/**
3388 	 * The widget is inconsistent, such as checkbuttons
3389 	 * or radiobuttons that aren’t either set to %TRUE nor %FALSE,
3390 	 * or buttons requiring the user attention.
3391 	 */
3392 	INCONSISTENT = 5,
3393 	/**
3394 	 * The widget has the keyboard focus.
3395 	 */
3396 	FOCUSED = 6,
3397 }
3398 alias GtkStateType StateType;
3399 
3400 /**
3401  * Flags that modify the behavior of gtk_style_context_to_string().
3402  * New values may be added to this enumeration.
3403  */
3404 public enum GtkStyleContextPrintFlags
3405 {
3406 	NONE = 0,
3407 	/**
3408 	 * Print the entire tree of
3409 	 * CSS nodes starting at the style context's node
3410 	 */
3411 	RECURSE = 1,
3412 	/**
3413 	 * Show the values of the
3414 	 * CSS properties for each node
3415 	 */
3416 	SHOW_STYLE = 2,
3417 }
3418 alias GtkStyleContextPrintFlags StyleContextPrintFlags;
3419 
3420 /**
3421  * The #GtkTargetFlags enumeration is used to specify
3422  * constraints on a #GtkTargetEntry.
3423  */
3424 public enum GtkTargetFlags
3425 {
3426 	/**
3427 	 * If this is set, the target will only be selected
3428 	 * for drags within a single application.
3429 	 */
3430 	SAME_APP = 1,
3431 	/**
3432 	 * If this is set, the target will only be selected
3433 	 * for drags within a single widget.
3434 	 */
3435 	SAME_WIDGET = 2,
3436 	/**
3437 	 * If this is set, the target will not be selected
3438 	 * for drags within a single application.
3439 	 */
3440 	OTHER_APP = 4,
3441 	/**
3442 	 * If this is set, the target will not be selected
3443 	 * for drags withing a single widget.
3444 	 */
3445 	OTHER_WIDGET = 8,
3446 }
3447 alias GtkTargetFlags TargetFlags;
3448 
3449 /**
3450  * These values are used as “info” for the targets contained in the
3451  * lists returned by gtk_text_buffer_get_copy_target_list() and
3452  * gtk_text_buffer_get_paste_target_list().
3453  *
3454  * The values counts down from `-1` to avoid clashes
3455  * with application added drag destinations which usually start at 0.
3456  */
3457 public enum GtkTextBufferTargetInfo
3458 {
3459 	/**
3460 	 * Buffer contents
3461 	 */
3462 	BUFFER_CONTENTS = -1,
3463 	/**
3464 	 * Rich text
3465 	 */
3466 	RICH_TEXT = -2,
3467 	/**
3468 	 * Text
3469 	 */
3470 	TEXT = -3,
3471 }
3472 alias GtkTextBufferTargetInfo TextBufferTargetInfo;
3473 
3474 /**
3475  * Reading directions for text.
3476  */
3477 public enum GtkTextDirection
3478 {
3479 	/**
3480 	 * No direction.
3481 	 */
3482 	NONE = 0,
3483 	/**
3484 	 * Left to right text direction.
3485 	 */
3486 	LTR = 1,
3487 	/**
3488 	 * Right to left text direction.
3489 	 */
3490 	RTL = 2,
3491 }
3492 alias GtkTextDirection TextDirection;
3493 
3494 /**
3495  * Granularity types that extend the text selection. Use the
3496  * #GtkTextView::extend-selection signal to customize the selection.
3497  *
3498  * Since: 3.16
3499  */
3500 public enum GtkTextExtendSelection
3501 {
3502 	/**
3503 	 * Selects the current word. It is triggered by
3504 	 * a double-click for example.
3505 	 */
3506 	WORD = 0,
3507 	/**
3508 	 * Selects the current line. It is triggered by
3509 	 * a triple-click for example.
3510 	 */
3511 	LINE = 1,
3512 }
3513 alias GtkTextExtendSelection TextExtendSelection;
3514 
3515 /**
3516  * Flags affecting how a search is done.
3517  *
3518  * If neither #GTK_TEXT_SEARCH_VISIBLE_ONLY nor #GTK_TEXT_SEARCH_TEXT_ONLY are
3519  * enabled, the match must be exact; the special 0xFFFC character will match
3520  * embedded pixbufs or child widgets.
3521  */
3522 public enum GtkTextSearchFlags
3523 {
3524 	/**
3525 	 * Search only visible data. A search match may
3526 	 * have invisible text interspersed.
3527 	 */
3528 	VISIBLE_ONLY = 1,
3529 	/**
3530 	 * Search only text. A match may have pixbufs or
3531 	 * child widgets mixed inside the matched range.
3532 	 */
3533 	TEXT_ONLY = 2,
3534 	/**
3535 	 * The text will be matched regardless of
3536 	 * what case it is in.
3537 	 */
3538 	CASE_INSENSITIVE = 4,
3539 }
3540 alias GtkTextSearchFlags TextSearchFlags;
3541 
3542 /**
3543  * Used to reference the layers of #GtkTextView for the purpose of customized
3544  * drawing with the ::draw_layer vfunc.
3545  */
3546 public enum GtkTextViewLayer
3547 {
3548 	/**
3549 	 * Old deprecated layer, use %GTK_TEXT_VIEW_LAYER_BELOW_TEXT instead
3550 	 */
3551 	BELOW = 0,
3552 	/**
3553 	 * Old deprecated layer, use %GTK_TEXT_VIEW_LAYER_ABOVE_TEXT instead
3554 	 */
3555 	ABOVE = 1,
3556 	/**
3557 	 * The layer rendered below the text (but above the background).  Since: 3.20
3558 	 */
3559 	BELOW_TEXT = 2,
3560 	/**
3561 	 * The layer rendered above the text.  Since: 3.20
3562 	 */
3563 	ABOVE_TEXT = 3,
3564 }
3565 alias GtkTextViewLayer TextViewLayer;
3566 
3567 /**
3568  * Used to reference the parts of #GtkTextView.
3569  */
3570 public enum GtkTextWindowType
3571 {
3572 	/**
3573 	 * Invalid value, used as a marker
3574 	 */
3575 	PRIVATE = 0,
3576 	/**
3577 	 * Window that floats over scrolling areas.
3578 	 */
3579 	WIDGET = 1,
3580 	/**
3581 	 * Scrollable text window.
3582 	 */
3583 	TEXT = 2,
3584 	/**
3585 	 * Left side border window.
3586 	 */
3587 	LEFT = 3,
3588 	/**
3589 	 * Right side border window.
3590 	 */
3591 	RIGHT = 4,
3592 	/**
3593 	 * Top border window.
3594 	 */
3595 	TOP = 5,
3596 	/**
3597 	 * Bottom border window.
3598 	 */
3599 	BOTTOM = 6,
3600 }
3601 alias GtkTextWindowType TextWindowType;
3602 
3603 /**
3604  * Flags used to specify the supported drag targets.
3605  */
3606 public enum GtkToolPaletteDragTargets
3607 {
3608 	/**
3609 	 * Support drag of items.
3610 	 */
3611 	ITEMS = 1,
3612 	/**
3613 	 * Support drag of groups.
3614 	 */
3615 	GROUPS = 2,
3616 }
3617 alias GtkToolPaletteDragTargets ToolPaletteDragTargets;
3618 
3619 /**
3620  * Whether spacers are vertical lines or just blank.
3621  */
3622 public enum GtkToolbarSpaceStyle
3623 {
3624 	/**
3625 	 * Use blank spacers.
3626 	 */
3627 	EMPTY = 0,
3628 	/**
3629 	 * Use vertical lines for spacers.
3630 	 */
3631 	LINE = 1,
3632 }
3633 alias GtkToolbarSpaceStyle ToolbarSpaceStyle;
3634 
3635 /**
3636  * Used to customize the appearance of a #GtkToolbar. Note that
3637  * setting the toolbar style overrides the user’s preferences
3638  * for the default toolbar style.  Note that if the button has only
3639  * a label set and GTK_TOOLBAR_ICONS is used, the label will be
3640  * visible, and vice versa.
3641  */
3642 public enum GtkToolbarStyle
3643 {
3644 	/**
3645 	 * Buttons display only icons in the toolbar.
3646 	 */
3647 	ICONS = 0,
3648 	/**
3649 	 * Buttons display only text labels in the toolbar.
3650 	 */
3651 	TEXT = 1,
3652 	/**
3653 	 * Buttons display text and icons in the toolbar.
3654 	 */
3655 	BOTH = 2,
3656 	/**
3657 	 * Buttons display icons and text alongside each
3658 	 * other, rather than vertically stacked
3659 	 */
3660 	BOTH_HORIZ = 3,
3661 }
3662 alias GtkToolbarStyle ToolbarStyle;
3663 
3664 /**
3665  * These flags indicate various properties of a #GtkTreeModel.
3666  *
3667  * They are returned by gtk_tree_model_get_flags(), and must be
3668  * static for the lifetime of the object. A more complete description
3669  * of #GTK_TREE_MODEL_ITERS_PERSIST can be found in the overview of
3670  * this section.
3671  */
3672 public enum GtkTreeModelFlags
3673 {
3674 	/**
3675 	 * iterators survive all signals
3676 	 * emitted by the tree
3677 	 */
3678 	ITERS_PERSIST = 1,
3679 	/**
3680 	 * the model is a list only, and never
3681 	 * has children
3682 	 */
3683 	LIST_ONLY = 2,
3684 }
3685 alias GtkTreeModelFlags TreeModelFlags;
3686 
3687 /**
3688  * The sizing method the column uses to determine its width.  Please note
3689  * that @GTK_TREE_VIEW_COLUMN_AUTOSIZE are inefficient for large views, and
3690  * can make columns appear choppy.
3691  */
3692 public enum GtkTreeViewColumnSizing
3693 {
3694 	/**
3695 	 * Columns only get bigger in reaction to changes in the model
3696 	 */
3697 	GROW_ONLY = 0,
3698 	/**
3699 	 * Columns resize to be the optimal size everytime the model changes.
3700 	 */
3701 	AUTOSIZE = 1,
3702 	/**
3703 	 * Columns are a fixed numbers of pixels wide.
3704 	 */
3705 	FIXED = 2,
3706 }
3707 alias GtkTreeViewColumnSizing TreeViewColumnSizing;
3708 
3709 /**
3710  * An enum for determining where a dropped row goes.
3711  */
3712 public enum GtkTreeViewDropPosition
3713 {
3714 	/**
3715 	 * dropped row is inserted before
3716 	 */
3717 	BEFORE = 0,
3718 	/**
3719 	 * dropped row is inserted after
3720 	 */
3721 	AFTER = 1,
3722 	/**
3723 	 * dropped row becomes a child or is inserted before
3724 	 */
3725 	INTO_OR_BEFORE = 2,
3726 	/**
3727 	 * dropped row becomes a child or is inserted after
3728 	 */
3729 	INTO_OR_AFTER = 3,
3730 }
3731 alias GtkTreeViewDropPosition TreeViewDropPosition;
3732 
3733 /**
3734  * Used to indicate which grid lines to draw in a tree view.
3735  */
3736 public enum GtkTreeViewGridLines
3737 {
3738 	/**
3739 	 * No grid lines.
3740 	 */
3741 	NONE = 0,
3742 	/**
3743 	 * Horizontal grid lines.
3744 	 */
3745 	HORIZONTAL = 1,
3746 	/**
3747 	 * Vertical grid lines.
3748 	 */
3749 	VERTICAL = 2,
3750 	/**
3751 	 * Horizontal and vertical grid lines.
3752 	 */
3753 	BOTH = 3,
3754 }
3755 alias GtkTreeViewGridLines TreeViewGridLines;
3756 
3757 /**
3758  * These enumeration values are used by gtk_ui_manager_add_ui() to determine
3759  * what UI element to create.
3760  */
3761 public enum GtkUIManagerItemType
3762 {
3763 	/**
3764 	 * Pick the type of the UI element according to context.
3765 	 */
3766 	AUTO = 0,
3767 	/**
3768 	 * Create a menubar.
3769 	 */
3770 	MENUBAR = 1,
3771 	/**
3772 	 * Create a menu.
3773 	 */
3774 	MENU = 2,
3775 	/**
3776 	 * Create a toolbar.
3777 	 */
3778 	TOOLBAR = 4,
3779 	/**
3780 	 * Insert a placeholder.
3781 	 */
3782 	PLACEHOLDER = 8,
3783 	/**
3784 	 * Create a popup menu.
3785 	 */
3786 	POPUP = 16,
3787 	/**
3788 	 * Create a menuitem.
3789 	 */
3790 	MENUITEM = 32,
3791 	/**
3792 	 * Create a toolitem.
3793 	 */
3794 	TOOLITEM = 64,
3795 	/**
3796 	 * Create a separator.
3797 	 */
3798 	SEPARATOR = 128,
3799 	/**
3800 	 * Install an accelerator.
3801 	 */
3802 	ACCELERATOR = 256,
3803 	/**
3804 	 * Same as %GTK_UI_MANAGER_POPUP, but the
3805 	 * actions’ accelerators are shown.
3806 	 */
3807 	POPUP_WITH_ACCELS = 512,
3808 }
3809 alias GtkUIManagerItemType UIManagerItemType;
3810 
3811 /**
3812  * See also gtk_print_settings_set_paper_width().
3813  */
3814 public enum GtkUnit
3815 {
3816 	/**
3817 	 * No units.
3818 	 */
3819 	NONE = 0,
3820 	/**
3821 	 * Dimensions in points.
3822 	 */
3823 	POINTS = 1,
3824 	/**
3825 	 * Dimensions in inches.
3826 	 */
3827 	INCH = 2,
3828 	/**
3829 	 * Dimensions in millimeters
3830 	 */
3831 	MM = 3,
3832 }
3833 alias GtkUnit Unit;
3834 
3835 /**
3836  * Kinds of widget-specific help. Used by the ::show-help signal.
3837  */
3838 public enum GtkWidgetHelpType
3839 {
3840 	/**
3841 	 * Tooltip.
3842 	 */
3843 	TOOLTIP = 0,
3844 	/**
3845 	 * What’s this.
3846 	 */
3847 	WHATS_THIS = 1,
3848 }
3849 alias GtkWidgetHelpType WidgetHelpType;
3850 
3851 /**
3852  * Window placement can be influenced using this enumeration. Note that
3853  * using #GTK_WIN_POS_CENTER_ALWAYS is almost always a bad idea.
3854  * It won’t necessarily work well with all window managers or on all windowing systems.
3855  */
3856 public enum GtkWindowPosition
3857 {
3858 	/**
3859 	 * No influence is made on placement.
3860 	 */
3861 	NONE = 0,
3862 	/**
3863 	 * Windows should be placed in the center of the screen.
3864 	 */
3865 	CENTER = 1,
3866 	/**
3867 	 * Windows should be placed at the current mouse position.
3868 	 */
3869 	MOUSE = 2,
3870 	/**
3871 	 * Keep window centered as it changes size, etc.
3872 	 */
3873 	CENTER_ALWAYS = 3,
3874 	/**
3875 	 * Center the window on its transient
3876 	 * parent (see gtk_window_set_transient_for()).
3877 	 */
3878 	CENTER_ON_PARENT = 4,
3879 }
3880 alias GtkWindowPosition WindowPosition;
3881 
3882 /**
3883  * A #GtkWindow can be one of these types. Most things you’d consider a
3884  * “window” should have type #GTK_WINDOW_TOPLEVEL; windows with this type
3885  * are managed by the window manager and have a frame by default (call
3886  * gtk_window_set_decorated() to toggle the frame).  Windows with type
3887  * #GTK_WINDOW_POPUP are ignored by the window manager; window manager
3888  * keybindings won’t work on them, the window manager won’t decorate the
3889  * window with a frame, many GTK+ features that rely on the window
3890  * manager will not work (e.g. resize grips and
3891  * maximization/minimization). #GTK_WINDOW_POPUP is used to implement
3892  * widgets such as #GtkMenu or tooltips that you normally don’t think of
3893  * as windows per se. Nearly all windows should be #GTK_WINDOW_TOPLEVEL.
3894  * In particular, do not use #GTK_WINDOW_POPUP just to turn off
3895  * the window borders; use gtk_window_set_decorated() for that.
3896  */
3897 public enum GtkWindowType
3898 {
3899 	/**
3900 	 * A regular window, such as a dialog.
3901 	 */
3902 	TOPLEVEL = 0,
3903 	/**
3904 	 * A special window such as a tooltip.
3905 	 */
3906 	POPUP = 1,
3907 }
3908 alias GtkWindowType WindowType;
3909 
3910 /**
3911  * Describes a type of line wrapping.
3912  */
3913 public enum GtkWrapMode
3914 {
3915 	/**
3916 	 * do not wrap lines; just make the text area wider
3917 	 */
3918 	NONE = 0,
3919 	/**
3920 	 * wrap text, breaking lines anywhere the cursor can
3921 	 * appear (between characters, usually - if you want to be technical,
3922 	 * between graphemes, see pango_get_log_attrs())
3923 	 */
3924 	CHAR = 1,
3925 	/**
3926 	 * wrap text, breaking lines in between words
3927 	 */
3928 	WORD = 2,
3929 	/**
3930 	 * wrap text, breaking lines in between words, or if
3931 	 * that is not enough, also between graphemes
3932 	 */
3933 	WORD_CHAR = 3,
3934 }
3935 alias GtkWrapMode WrapMode;
3936 
3937 struct GtkAboutDialog
3938 {
3939 	GtkDialog parentInstance;
3940 	GtkAboutDialogPrivate* priv;
3941 }
3942 
3943 struct GtkAboutDialogClass
3944 {
3945 	GtkDialogClass parentClass;
3946 	/** */
3947 	extern(C) int function(GtkAboutDialog* dialog, const(char)* uri) activateLink;
3948 	/** */
3949 	extern(C) void function() GtkReserved1;
3950 	/** */
3951 	extern(C) void function() GtkReserved2;
3952 	/** */
3953 	extern(C) void function() GtkReserved3;
3954 	/** */
3955 	extern(C) void function() GtkReserved4;
3956 }
3957 
3958 struct GtkAboutDialogPrivate;
3959 
3960 struct GtkAccelGroup
3961 {
3962 	GObject parent;
3963 	GtkAccelGroupPrivate* priv;
3964 }
3965 
3966 struct GtkAccelGroupClass
3967 {
3968 	/**
3969 	 * The parent class.
3970 	 */
3971 	GObjectClass parentClass;
3972 	/** */
3973 	extern(C) void function(GtkAccelGroup* accelGroup, uint keyval, GdkModifierType modifier, GClosure* accelClosure) accelChanged;
3974 	/** */
3975 	extern(C) void function() GtkReserved1;
3976 	/** */
3977 	extern(C) void function() GtkReserved2;
3978 	/** */
3979 	extern(C) void function() GtkReserved3;
3980 	/** */
3981 	extern(C) void function() GtkReserved4;
3982 }
3983 
3984 struct GtkAccelGroupEntry
3985 {
3986 	GtkAccelKey key;
3987 	GClosure* closure;
3988 	GQuark accelPathQuark;
3989 }
3990 
3991 struct GtkAccelGroupPrivate;
3992 
3993 struct GtkAccelKey
3994 {
3995 	/**
3996 	 * The accelerator keyval
3997 	 */
3998 	uint accelKey;
3999 	/**
4000 	 * The accelerator modifiers
4001 	 */
4002 	GdkModifierType accelMods;
4003 	import std.bitmanip: bitfields;
4004 	mixin(bitfields!(
4005 		uint, "accelFlags", 16,
4006 		uint, "", 16
4007 	));
4008 }
4009 
4010 struct GtkAccelLabel
4011 {
4012 	GtkLabel label;
4013 	GtkAccelLabelPrivate* priv;
4014 }
4015 
4016 struct GtkAccelLabelClass
4017 {
4018 	GtkLabelClass parentClass;
4019 	char* signalQuote1;
4020 	char* signalQuote2;
4021 	char* modNameShift;
4022 	char* modNameControl;
4023 	char* modNameAlt;
4024 	char* modSeparator;
4025 	/** */
4026 	extern(C) void function() GtkReserved1;
4027 	/** */
4028 	extern(C) void function() GtkReserved2;
4029 	/** */
4030 	extern(C) void function() GtkReserved3;
4031 	/** */
4032 	extern(C) void function() GtkReserved4;
4033 }
4034 
4035 struct GtkAccelLabelPrivate;
4036 
4037 struct GtkAccelMap;
4038 
4039 struct GtkAccelMapClass;
4040 
4041 struct GtkAccessible
4042 {
4043 	AtkObject parent;
4044 	GtkAccessiblePrivate* priv;
4045 }
4046 
4047 struct GtkAccessibleClass
4048 {
4049 	AtkObjectClass parentClass;
4050 	/** */
4051 	extern(C) void function(GtkAccessible* accessible) connectWidgetDestroyed;
4052 	/** */
4053 	extern(C) void function(GtkAccessible* accessible) widgetSet;
4054 	/** */
4055 	extern(C) void function(GtkAccessible* accessible) widgetUnset;
4056 	/** */
4057 	extern(C) void function() GtkReserved3;
4058 	/** */
4059 	extern(C) void function() GtkReserved4;
4060 }
4061 
4062 struct GtkAccessiblePrivate;
4063 
4064 struct GtkAction
4065 {
4066 	GObject object;
4067 	GtkActionPrivate* privateData;
4068 }
4069 
4070 struct GtkActionBar
4071 {
4072 	GtkBin bin;
4073 }
4074 
4075 struct GtkActionBarClass
4076 {
4077 	GtkBinClass parentClass;
4078 	/** */
4079 	extern(C) void function() GtkReserved1;
4080 	/** */
4081 	extern(C) void function() GtkReserved2;
4082 	/** */
4083 	extern(C) void function() GtkReserved3;
4084 	/** */
4085 	extern(C) void function() GtkReserved4;
4086 }
4087 
4088 struct GtkActionBarPrivate;
4089 
4090 struct GtkActionClass
4091 {
4092 	/**
4093 	 * The parent class.
4094 	 */
4095 	GObjectClass parentClass;
4096 	/** */
4097 	extern(C) void function(GtkAction* action) activate;
4098 	GType menuItemType;
4099 	GType toolbarItemType;
4100 	/**
4101 	 *
4102 	 * Params:
4103 	 *     action = the action object
4104 	 * Returns: a menu item connected to the action.
4105 	 */
4106 	extern(C) GtkWidget* function(GtkAction* action) createMenuItem;
4107 	/**
4108 	 *
4109 	 * Params:
4110 	 *     action = the action object
4111 	 * Returns: a toolbar item connected to the action.
4112 	 */
4113 	extern(C) GtkWidget* function(GtkAction* action) createToolItem;
4114 	/** */
4115 	extern(C) void function(GtkAction* action, GtkWidget* proxy) connectProxy;
4116 	/** */
4117 	extern(C) void function(GtkAction* action, GtkWidget* proxy) disconnectProxy;
4118 	/**
4119 	 *
4120 	 * Params:
4121 	 *     action = a #GtkAction
4122 	 * Returns: the menu item provided by the
4123 	 *     action, or %NULL.
4124 	 */
4125 	extern(C) GtkWidget* function(GtkAction* action) createMenu;
4126 	/** */
4127 	extern(C) void function() GtkReserved1;
4128 	/** */
4129 	extern(C) void function() GtkReserved2;
4130 	/** */
4131 	extern(C) void function() GtkReserved3;
4132 	/** */
4133 	extern(C) void function() GtkReserved4;
4134 }
4135 
4136 /**
4137  * #GtkActionEntry structs are used with gtk_action_group_add_actions() to
4138  * construct actions.
4139  */
4140 struct GtkActionEntry
4141 {
4142 	/**
4143 	 * The name of the action.
4144 	 */
4145 	const(char)* name;
4146 	/**
4147 	 * The stock id for the action, or the name of an icon from the
4148 	 * icon theme.
4149 	 */
4150 	const(char)* stockId;
4151 	/**
4152 	 * The label for the action. This field should typically be marked
4153 	 * for translation, see gtk_action_group_set_translation_domain(). If
4154 	 * @label is %NULL, the label of the stock item with id @stock_id is used.
4155 	 */
4156 	const(char)* label;
4157 	/**
4158 	 * The accelerator for the action, in the format understood by
4159 	 * gtk_accelerator_parse().
4160 	 */
4161 	const(char)* accelerator;
4162 	/**
4163 	 * The tooltip for the action. This field should typically be
4164 	 * marked for translation, see gtk_action_group_set_translation_domain().
4165 	 */
4166 	const(char)* tooltip;
4167 	/**
4168 	 * The function to call when the action is activated.
4169 	 */
4170 	GCallback callback;
4171 }
4172 
4173 struct GtkActionGroup
4174 {
4175 	GObject parent;
4176 	GtkActionGroupPrivate* priv;
4177 }
4178 
4179 struct GtkActionGroupClass
4180 {
4181 	/**
4182 	 * The parent class.
4183 	 */
4184 	GObjectClass parentClass;
4185 	/**
4186 	 *
4187 	 * Params:
4188 	 *     actionGroup = the action group
4189 	 *     actionName = the name of the action
4190 	 * Returns: the action, or %NULL if no action by that name exists
4191 	 */
4192 	extern(C) GtkAction* function(GtkActionGroup* actionGroup, const(char)* actionName) getAction;
4193 	/** */
4194 	extern(C) void function() GtkReserved1;
4195 	/** */
4196 	extern(C) void function() GtkReserved2;
4197 	/** */
4198 	extern(C) void function() GtkReserved3;
4199 	/** */
4200 	extern(C) void function() GtkReserved4;
4201 }
4202 
4203 struct GtkActionGroupPrivate;
4204 
4205 struct GtkActionPrivate;
4206 
4207 struct GtkActionable;
4208 
4209 /**
4210  * The interface vtable for #GtkActionable.
4211  */
4212 struct GtkActionableInterface
4213 {
4214 	GTypeInterface gIface;
4215 	/**
4216 	 *
4217 	 * Params:
4218 	 *     actionable = a #GtkActionable widget
4219 	 * Returns: the action name, or %NULL if none is set
4220 	 */
4221 	extern(C) const(char)* function(GtkActionable* actionable) getActionName;
4222 	/** */
4223 	extern(C) void function(GtkActionable* actionable, const(char)* actionName) setActionName;
4224 	/**
4225 	 *
4226 	 * Params:
4227 	 *     actionable = a #GtkActionable widget
4228 	 * Returns: the current target value
4229 	 */
4230 	extern(C) GVariant* function(GtkActionable* actionable) getActionTargetValue;
4231 	/** */
4232 	extern(C) void function(GtkActionable* actionable, GVariant* targetValue) setActionTargetValue;
4233 }
4234 
4235 struct GtkActivatable;
4236 
4237 /**
4238  * > This method can be called with a %NULL action at times.
4239  *
4240  * Since: 2.16
4241  */
4242 struct GtkActivatableIface
4243 {
4244 	GTypeInterface gIface;
4245 	/** */
4246 	extern(C) void function(GtkActivatable* activatable, GtkAction* action, const(char)* propertyName) update;
4247 	/** */
4248 	extern(C) void function(GtkActivatable* activatable, GtkAction* action) syncActionProperties;
4249 }
4250 
4251 struct GtkAdjustment
4252 {
4253 	GObject parentInstance;
4254 	GtkAdjustmentPrivate* priv;
4255 }
4256 
4257 struct GtkAdjustmentClass
4258 {
4259 	GObjectClass parentClass;
4260 	/** */
4261 	extern(C) void function(GtkAdjustment* adjustment) changed;
4262 	/** */
4263 	extern(C) void function(GtkAdjustment* adjustment) valueChanged;
4264 	/** */
4265 	extern(C) void function() GtkReserved1;
4266 	/** */
4267 	extern(C) void function() GtkReserved2;
4268 	/** */
4269 	extern(C) void function() GtkReserved3;
4270 	/** */
4271 	extern(C) void function() GtkReserved4;
4272 }
4273 
4274 struct GtkAdjustmentPrivate;
4275 
4276 struct GtkAlignment
4277 {
4278 	GtkBin bin;
4279 	GtkAlignmentPrivate* priv;
4280 }
4281 
4282 struct GtkAlignmentClass
4283 {
4284 	/**
4285 	 * The parent class.
4286 	 */
4287 	GtkBinClass parentClass;
4288 	/** */
4289 	extern(C) void function() GtkReserved1;
4290 	/** */
4291 	extern(C) void function() GtkReserved2;
4292 	/** */
4293 	extern(C) void function() GtkReserved3;
4294 	/** */
4295 	extern(C) void function() GtkReserved4;
4296 }
4297 
4298 struct GtkAlignmentPrivate;
4299 
4300 struct GtkAppChooser;
4301 
4302 struct GtkAppChooserButton
4303 {
4304 	GtkComboBox parent;
4305 	GtkAppChooserButtonPrivate* priv;
4306 }
4307 
4308 struct GtkAppChooserButtonClass
4309 {
4310 	/**
4311 	 * The parent class.
4312 	 */
4313 	GtkComboBoxClass parentClass;
4314 	/** */
4315 	extern(C) void function(GtkAppChooserButton* self, const(char)* itemName) customItemActivated;
4316 	void*[16] padding;
4317 }
4318 
4319 struct GtkAppChooserButtonPrivate;
4320 
4321 struct GtkAppChooserDialog
4322 {
4323 	GtkDialog parent;
4324 	GtkAppChooserDialogPrivate* priv;
4325 }
4326 
4327 struct GtkAppChooserDialogClass
4328 {
4329 	/**
4330 	 * The parent class.
4331 	 */
4332 	GtkDialogClass parentClass;
4333 	void*[16] padding;
4334 }
4335 
4336 struct GtkAppChooserDialogPrivate;
4337 
4338 struct GtkAppChooserWidget
4339 {
4340 	GtkBox parent;
4341 	GtkAppChooserWidgetPrivate* priv;
4342 }
4343 
4344 struct GtkAppChooserWidgetClass
4345 {
4346 	/**
4347 	 * The parent class.
4348 	 */
4349 	GtkBoxClass parentClass;
4350 	/** */
4351 	extern(C) void function(GtkAppChooserWidget* self, GAppInfo* appInfo) applicationSelected;
4352 	/** */
4353 	extern(C) void function(GtkAppChooserWidget* self, GAppInfo* appInfo) applicationActivated;
4354 	/** */
4355 	extern(C) void function(GtkAppChooserWidget* self, GtkMenu* menu, GAppInfo* appInfo) populatePopup;
4356 	void*[16] padding;
4357 }
4358 
4359 struct GtkAppChooserWidgetPrivate;
4360 
4361 struct GtkApplication
4362 {
4363 	GApplication parent;
4364 	GtkApplicationPrivate* priv;
4365 }
4366 
4367 struct GtkApplicationClass
4368 {
4369 	/**
4370 	 * The parent class.
4371 	 */
4372 	GApplicationClass parentClass;
4373 	/** */
4374 	extern(C) void function(GtkApplication* application, GtkWindow* window) windowAdded;
4375 	/** */
4376 	extern(C) void function(GtkApplication* application, GtkWindow* window) windowRemoved;
4377 	void*[12] padding;
4378 }
4379 
4380 struct GtkApplicationPrivate;
4381 
4382 struct GtkApplicationWindow
4383 {
4384 	GtkWindow parentInstance;
4385 	GtkApplicationWindowPrivate* priv;
4386 }
4387 
4388 struct GtkApplicationWindowClass
4389 {
4390 	/**
4391 	 * The parent class.
4392 	 */
4393 	GtkWindowClass parentClass;
4394 	void*[14] padding;
4395 }
4396 
4397 struct GtkApplicationWindowPrivate;
4398 
4399 struct GtkArrow
4400 {
4401 	GtkMisc misc;
4402 	GtkArrowPrivate* priv;
4403 }
4404 
4405 struct GtkArrowAccessible
4406 {
4407 	GtkWidgetAccessible parent;
4408 	GtkArrowAccessiblePrivate* priv;
4409 }
4410 
4411 struct GtkArrowAccessibleClass
4412 {
4413 	GtkWidgetAccessibleClass parentClass;
4414 }
4415 
4416 struct GtkArrowAccessiblePrivate;
4417 
4418 struct GtkArrowClass
4419 {
4420 	GtkMiscClass parentClass;
4421 	/** */
4422 	extern(C) void function() GtkReserved1;
4423 	/** */
4424 	extern(C) void function() GtkReserved2;
4425 	/** */
4426 	extern(C) void function() GtkReserved3;
4427 	/** */
4428 	extern(C) void function() GtkReserved4;
4429 }
4430 
4431 struct GtkArrowPrivate;
4432 
4433 struct GtkAspectFrame
4434 {
4435 	GtkFrame frame;
4436 	GtkAspectFramePrivate* priv;
4437 }
4438 
4439 struct GtkAspectFrameClass
4440 {
4441 	/**
4442 	 * The parent class.
4443 	 */
4444 	GtkFrameClass parentClass;
4445 	/** */
4446 	extern(C) void function() GtkReserved1;
4447 	/** */
4448 	extern(C) void function() GtkReserved2;
4449 	/** */
4450 	extern(C) void function() GtkReserved3;
4451 	/** */
4452 	extern(C) void function() GtkReserved4;
4453 }
4454 
4455 struct GtkAspectFramePrivate;
4456 
4457 struct GtkAssistant
4458 {
4459 	GtkWindow parent;
4460 	GtkAssistantPrivate* priv;
4461 }
4462 
4463 struct GtkAssistantClass
4464 {
4465 	/**
4466 	 * The parent class.
4467 	 */
4468 	GtkWindowClass parentClass;
4469 	/** */
4470 	extern(C) void function(GtkAssistant* assistant, GtkWidget* page) prepare;
4471 	/** */
4472 	extern(C) void function(GtkAssistant* assistant) apply;
4473 	/** */
4474 	extern(C) void function(GtkAssistant* assistant) close;
4475 	/** */
4476 	extern(C) void function(GtkAssistant* assistant) cancel;
4477 	/** */
4478 	extern(C) void function() GtkReserved1;
4479 	/** */
4480 	extern(C) void function() GtkReserved2;
4481 	/** */
4482 	extern(C) void function() GtkReserved3;
4483 	/** */
4484 	extern(C) void function() GtkReserved4;
4485 	/** */
4486 	extern(C) void function() GtkReserved5;
4487 }
4488 
4489 struct GtkAssistantPrivate;
4490 
4491 struct GtkBin
4492 {
4493 	GtkContainer container;
4494 	GtkBinPrivate* priv;
4495 }
4496 
4497 struct GtkBinClass
4498 {
4499 	/**
4500 	 * The parent class.
4501 	 */
4502 	GtkContainerClass parentClass;
4503 	/** */
4504 	extern(C) void function() GtkReserved1;
4505 	/** */
4506 	extern(C) void function() GtkReserved2;
4507 	/** */
4508 	extern(C) void function() GtkReserved3;
4509 	/** */
4510 	extern(C) void function() GtkReserved4;
4511 }
4512 
4513 struct GtkBinPrivate;
4514 
4515 /**
4516  * A #GtkBindingArg holds the data associated with
4517  * an argument for a key binding signal emission as
4518  * stored in #GtkBindingSignal.
4519  */
4520 struct GtkBindingArg
4521 {
4522 	/**
4523 	 * implementation detail
4524 	 */
4525 	GType argType;
4526 	union D
4527 	{
4528 		glong longData;
4529 		double doubleData;
4530 		char* stringData;
4531 	}
4532 	D d;
4533 }
4534 
4535 /**
4536  * Each key binding element of a binding sets binding list is
4537  * represented by a GtkBindingEntry.
4538  */
4539 struct GtkBindingEntry
4540 {
4541 	/**
4542 	 * key value to match
4543 	 */
4544 	uint keyval;
4545 	/**
4546 	 * key modifiers to match
4547 	 */
4548 	GdkModifierType modifiers;
4549 	/**
4550 	 * binding set this entry belongs to
4551 	 */
4552 	GtkBindingSet* bindingSet;
4553 	import std.bitmanip: bitfields;
4554 	mixin(bitfields!(
4555 		uint, "destroyed", 1,
4556 		uint, "inEmission", 1,
4557 		uint, "marksUnbound", 1,
4558 		uint, "", 29
4559 	));
4560 	/**
4561 	 * linked list of entries maintained by binding set
4562 	 */
4563 	GtkBindingEntry* setNext;
4564 	/**
4565 	 * implementation detail
4566 	 */
4567 	GtkBindingEntry* hashNext;
4568 	/**
4569 	 * action signals of this entry
4570 	 */
4571 	GtkBindingSignal* signals;
4572 }
4573 
4574 struct GtkBindingSet
4575 {
4576 	/**
4577 	 * unique name of this binding set
4578 	 */
4579 	char* setName;
4580 	/**
4581 	 * unused
4582 	 */
4583 	int priority;
4584 	/**
4585 	 * unused
4586 	 */
4587 	GSList* widgetPathPspecs;
4588 	/**
4589 	 * unused
4590 	 */
4591 	GSList* widgetClassPspecs;
4592 	/**
4593 	 * unused
4594 	 */
4595 	GSList* classBranchPspecs;
4596 	/**
4597 	 * the key binding entries in this binding set
4598 	 */
4599 	GtkBindingEntry* entries;
4600 	/**
4601 	 * implementation detail
4602 	 */
4603 	GtkBindingEntry* current;
4604 	import std.bitmanip: bitfields;
4605 	mixin(bitfields!(
4606 		uint, "parsed", 1,
4607 		uint, "", 31
4608 	));
4609 }
4610 
4611 /**
4612  * A GtkBindingSignal stores the necessary information to
4613  * activate a widget in response to a key press via a signal
4614  * emission.
4615  */
4616 struct GtkBindingSignal
4617 {
4618 	/**
4619 	 * implementation detail
4620 	 */
4621 	GtkBindingSignal* next;
4622 	/**
4623 	 * the action signal to be emitted
4624 	 */
4625 	char* signalName;
4626 	/**
4627 	 * number of arguments specified for the signal
4628 	 */
4629 	uint nArgs;
4630 	/**
4631 	 * the arguments specified for the signal
4632 	 */
4633 	GtkBindingArg* args;
4634 }
4635 
4636 struct GtkBooleanCellAccessible
4637 {
4638 	GtkRendererCellAccessible parent;
4639 	GtkBooleanCellAccessiblePrivate* priv;
4640 }
4641 
4642 struct GtkBooleanCellAccessibleClass
4643 {
4644 	GtkRendererCellAccessibleClass parentClass;
4645 }
4646 
4647 struct GtkBooleanCellAccessiblePrivate;
4648 
4649 struct GtkBorder
4650 {
4651 	/**
4652 	 * The width of the left border
4653 	 */
4654 	short left;
4655 	/**
4656 	 * The width of the right border
4657 	 */
4658 	short right;
4659 	/**
4660 	 * The width of the top border
4661 	 */
4662 	short top;
4663 	/**
4664 	 * The width of the bottom border
4665 	 */
4666 	short bottom;
4667 }
4668 
4669 struct GtkBox
4670 {
4671 	GtkContainer container;
4672 	GtkBoxPrivate* priv;
4673 }
4674 
4675 struct GtkBoxClass
4676 {
4677 	/**
4678 	 * The parent class.
4679 	 */
4680 	GtkContainerClass parentClass;
4681 	/** */
4682 	extern(C) void function() GtkReserved1;
4683 	/** */
4684 	extern(C) void function() GtkReserved2;
4685 	/** */
4686 	extern(C) void function() GtkReserved3;
4687 	/** */
4688 	extern(C) void function() GtkReserved4;
4689 }
4690 
4691 struct GtkBoxPrivate;
4692 
4693 struct GtkBuildable;
4694 
4695 /**
4696  * The #GtkBuildableIface interface contains method that are
4697  * necessary to allow #GtkBuilder to construct an object from
4698  * a #GtkBuilder UI definition.
4699  */
4700 struct GtkBuildableIface
4701 {
4702 	/**
4703 	 * the parent class
4704 	 */
4705 	GTypeInterface gIface;
4706 	/** */
4707 	extern(C) void function(GtkBuildable* buildable, const(char)* name) setName;
4708 	/**
4709 	 *
4710 	 * Params:
4711 	 *     buildable = a #GtkBuildable
4712 	 * Returns: the name set with gtk_buildable_set_name()
4713 	 */
4714 	extern(C) const(char)* function(GtkBuildable* buildable) getName;
4715 	/** */
4716 	extern(C) void function(GtkBuildable* buildable, GtkBuilder* builder, GObject* child, const(char)* type) addChild;
4717 	/** */
4718 	extern(C) void function(GtkBuildable* buildable, GtkBuilder* builder, const(char)* name, GValue* value) setBuildableProperty;
4719 	/**
4720 	 *
4721 	 * Params:
4722 	 *     buildable = A #GtkBuildable
4723 	 *     builder = #GtkBuilder used to construct this object
4724 	 *     name = name of child to construct
4725 	 * Returns: the constructed child
4726 	 */
4727 	extern(C) GObject* function(GtkBuildable* buildable, GtkBuilder* builder, const(char)* name) constructChild;
4728 	/**
4729 	 *
4730 	 * Params:
4731 	 *     buildable = a #GtkBuildable
4732 	 *     builder = a #GtkBuilder used to construct this object
4733 	 *     child = child object or %NULL for non-child tags
4734 	 *     tagname = name of tag
4735 	 *     parser = a #GMarkupParser to fill in
4736 	 *     data = return location for user data that will be passed in
4737 	 *         to parser functions
4738 	 * Returns: %TRUE if a object has a custom implementation, %FALSE
4739 	 *     if it doesn't.
4740 	 */
4741 	extern(C) int function(GtkBuildable* buildable, GtkBuilder* builder, GObject* child, const(char)* tagname, GMarkupParser* parser, void** data) customTagStart;
4742 	/** */
4743 	extern(C) void function(GtkBuildable* buildable, GtkBuilder* builder, GObject* child, const(char)* tagname, void** data) customTagEnd;
4744 	/** */
4745 	extern(C) void function(GtkBuildable* buildable, GtkBuilder* builder, GObject* child, const(char)* tagname, void* data) customFinished;
4746 	/** */
4747 	extern(C) void function(GtkBuildable* buildable, GtkBuilder* builder) parserFinished;
4748 	/**
4749 	 *
4750 	 * Params:
4751 	 *     buildable = a #GtkBuildable
4752 	 *     builder = a #GtkBuilder
4753 	 *     childname = name of child
4754 	 * Returns: the internal child of the buildable object
4755 	 */
4756 	extern(C) GObject* function(GtkBuildable* buildable, GtkBuilder* builder, const(char)* childname) getInternalChild;
4757 }
4758 
4759 struct GtkBuilder
4760 {
4761 	GObject parentInstance;
4762 	GtkBuilderPrivate* priv;
4763 }
4764 
4765 struct GtkBuilderClass
4766 {
4767 	GObjectClass parentClass;
4768 	/**
4769 	 *
4770 	 * Params:
4771 	 *     builder = a #GtkBuilder
4772 	 *     typeName = type name to lookup
4773 	 * Returns: the #GType found for @type_name or #G_TYPE_INVALID
4774 	 *     if no type was found
4775 	 */
4776 	extern(C) GType function(GtkBuilder* builder, const(char)* typeName) getTypeFromName;
4777 	/** */
4778 	extern(C) void function() GtkReserved1;
4779 	/** */
4780 	extern(C) void function() GtkReserved2;
4781 	/** */
4782 	extern(C) void function() GtkReserved3;
4783 	/** */
4784 	extern(C) void function() GtkReserved4;
4785 	/** */
4786 	extern(C) void function() GtkReserved5;
4787 	/** */
4788 	extern(C) void function() GtkReserved6;
4789 	/** */
4790 	extern(C) void function() GtkReserved7;
4791 	/** */
4792 	extern(C) void function() GtkReserved8;
4793 }
4794 
4795 struct GtkBuilderPrivate;
4796 
4797 struct GtkButton
4798 {
4799 	GtkBin bin;
4800 	GtkButtonPrivate* priv;
4801 }
4802 
4803 struct GtkButtonAccessible
4804 {
4805 	GtkContainerAccessible parent;
4806 	GtkButtonAccessiblePrivate* priv;
4807 }
4808 
4809 struct GtkButtonAccessibleClass
4810 {
4811 	GtkContainerAccessibleClass parentClass;
4812 }
4813 
4814 struct GtkButtonAccessiblePrivate;
4815 
4816 struct GtkButtonBox
4817 {
4818 	GtkBox box;
4819 	GtkButtonBoxPrivate* priv;
4820 }
4821 
4822 struct GtkButtonBoxClass
4823 {
4824 	/**
4825 	 * The parent class.
4826 	 */
4827 	GtkBoxClass parentClass;
4828 	/** */
4829 	extern(C) void function() GtkReserved1;
4830 	/** */
4831 	extern(C) void function() GtkReserved2;
4832 	/** */
4833 	extern(C) void function() GtkReserved3;
4834 	/** */
4835 	extern(C) void function() GtkReserved4;
4836 }
4837 
4838 struct GtkButtonBoxPrivate;
4839 
4840 struct GtkButtonClass
4841 {
4842 	/**
4843 	 * The parent class.
4844 	 */
4845 	GtkBinClass parentClass;
4846 	/** */
4847 	extern(C) void function(GtkButton* button) pressed;
4848 	/** */
4849 	extern(C) void function(GtkButton* button) released;
4850 	/** */
4851 	extern(C) void function(GtkButton* button) clicked;
4852 	/** */
4853 	extern(C) void function(GtkButton* button) enter;
4854 	/** */
4855 	extern(C) void function(GtkButton* button) leave;
4856 	/** */
4857 	extern(C) void function(GtkButton* button) activate;
4858 	/** */
4859 	extern(C) void function() GtkReserved1;
4860 	/** */
4861 	extern(C) void function() GtkReserved2;
4862 	/** */
4863 	extern(C) void function() GtkReserved3;
4864 	/** */
4865 	extern(C) void function() GtkReserved4;
4866 }
4867 
4868 struct GtkButtonPrivate;
4869 
4870 struct GtkCalendar
4871 {
4872 	GtkWidget widget;
4873 	GtkCalendarPrivate* priv;
4874 }
4875 
4876 struct GtkCalendarClass
4877 {
4878 	GtkWidgetClass parentClass;
4879 	/** */
4880 	extern(C) void function(GtkCalendar* calendar) monthChanged;
4881 	/** */
4882 	extern(C) void function(GtkCalendar* calendar) daySelected;
4883 	/** */
4884 	extern(C) void function(GtkCalendar* calendar) daySelectedDoubleClick;
4885 	/** */
4886 	extern(C) void function(GtkCalendar* calendar) prevMonth;
4887 	/** */
4888 	extern(C) void function(GtkCalendar* calendar) nextMonth;
4889 	/** */
4890 	extern(C) void function(GtkCalendar* calendar) prevYear;
4891 	/** */
4892 	extern(C) void function(GtkCalendar* calendar) nextYear;
4893 	/** */
4894 	extern(C) void function() GtkReserved1;
4895 	/** */
4896 	extern(C) void function() GtkReserved2;
4897 	/** */
4898 	extern(C) void function() GtkReserved3;
4899 	/** */
4900 	extern(C) void function() GtkReserved4;
4901 }
4902 
4903 struct GtkCalendarPrivate;
4904 
4905 struct GtkCellAccessible
4906 {
4907 	GtkAccessible parent;
4908 	GtkCellAccessiblePrivate* priv;
4909 }
4910 
4911 struct GtkCellAccessibleClass
4912 {
4913 	GtkAccessibleClass parentClass;
4914 	/** */
4915 	extern(C) void function(GtkCellAccessible* cell, int emitSignal) updateCache;
4916 }
4917 
4918 struct GtkCellAccessibleParent;
4919 
4920 struct GtkCellAccessibleParentIface
4921 {
4922 	GTypeInterface parent;
4923 	/** */
4924 	extern(C) void function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell, int* x, int* y, int* width, int* height, AtkCoordType coordType) getCellExtents;
4925 	/** */
4926 	extern(C) void function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell, GdkRectangle* cellRect) getCellArea;
4927 	/** */
4928 	extern(C) int function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell) grabFocus;
4929 	/** */
4930 	extern(C) int function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell) getChildIndex;
4931 	/** */
4932 	extern(C) GtkCellRendererState function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell) getRendererState;
4933 	/** */
4934 	extern(C) void function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell) expandCollapse;
4935 	/** */
4936 	extern(C) void function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell) activate;
4937 	/** */
4938 	extern(C) void function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell) edit;
4939 	/** */
4940 	extern(C) void function(GtkCellAccessibleParent* parent, GtkCellAccessible* cell, AtkRelationSet* relationset) updateRelationset;
4941 }
4942 
4943 struct GtkCellAccessiblePrivate;
4944 
4945 struct GtkCellArea
4946 {
4947 	GObject parentInstance;
4948 	GtkCellAreaPrivate* priv;
4949 }
4950 
4951 struct GtkCellAreaBox
4952 {
4953 	GtkCellArea parentInstance;
4954 	GtkCellAreaBoxPrivate* priv;
4955 }
4956 
4957 struct GtkCellAreaBoxClass
4958 {
4959 	GtkCellAreaClass parentClass;
4960 	/** */
4961 	extern(C) void function() GtkReserved1;
4962 	/** */
4963 	extern(C) void function() GtkReserved2;
4964 	/** */
4965 	extern(C) void function() GtkReserved3;
4966 	/** */
4967 	extern(C) void function() GtkReserved4;
4968 }
4969 
4970 struct GtkCellAreaBoxPrivate;
4971 
4972 struct GtkCellAreaClass
4973 {
4974 	GObjectClass parentClass;
4975 	/** */
4976 	extern(C) void function(GtkCellArea* area, GtkCellRenderer* renderer) add;
4977 	/** */
4978 	extern(C) void function(GtkCellArea* area, GtkCellRenderer* renderer) remove;
4979 	/** */
4980 	extern(C) void function(GtkCellArea* area, GtkCellCallback callback, void* callbackData) foreac;
4981 	/** */
4982 	extern(C) void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, GdkRectangle* cellArea, GdkRectangle* backgroundArea, GtkCellAllocCallback callback, void* callbackData) foreachAlloc;
4983 	/**
4984 	 *
4985 	 * Params:
4986 	 *     area = a #GtkCellArea
4987 	 *     context = the #GtkCellAreaContext for this row of data.
4988 	 *     widget = the #GtkWidget that @area is rendering to
4989 	 *     event = the #GdkEvent to handle
4990 	 *     cellArea = the @widget relative coordinates for @area
4991 	 *     flags = the #GtkCellRendererState for @area in this row.
4992 	 * Returns: %TRUE if the event was handled by @area.
4993 	 */
4994 	extern(C) int function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, GdkEvent* event, GdkRectangle* cellArea, GtkCellRendererState flags) event;
4995 	/** */
4996 	extern(C) void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, cairo_t* cr, GdkRectangle* backgroundArea, GdkRectangle* cellArea, GtkCellRendererState flags, int paintFocus) render;
4997 	/** */
4998 	extern(C) void function(GtkCellArea* area, GtkTreeModel* treeModel, GtkTreeIter* iter, int isExpander, int isExpanded) applyAttributes;
4999 	/**
5000 	 *
5001 	 * Params:
5002 	 *     area = a #GtkCellArea
5003 	 * Returns: a newly created #GtkCellAreaContext which can be used with @area.
5004 	 */
5005 	extern(C) GtkCellAreaContext* function(GtkCellArea* area) createContext;
5006 	/**
5007 	 *
5008 	 * Params:
5009 	 *     area = a #GtkCellArea
5010 	 *     context = the #GtkCellAreaContext to copy
5011 	 * Returns: a newly created #GtkCellAreaContext copy of @context.
5012 	 */
5013 	extern(C) GtkCellAreaContext* function(GtkCellArea* area, GtkCellAreaContext* context) copyContext;
5014 	/**
5015 	 *
5016 	 * Params:
5017 	 *     area = a #GtkCellArea
5018 	 * Returns: The #GtkSizeRequestMode preferred by @area.
5019 	 */
5020 	extern(C) GtkSizeRequestMode function(GtkCellArea* area) getRequestMode;
5021 	/** */
5022 	extern(C) void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, int* minimumWidth, int* naturalWidth) getPreferredWidth;
5023 	/** */
5024 	extern(C) void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, int width, int* minimumHeight, int* naturalHeight) getPreferredHeightForWidth;
5025 	/** */
5026 	extern(C) void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, int* minimumHeight, int* naturalHeight) getPreferredHeight;
5027 	/** */
5028 	extern(C) void function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, int height, int* minimumWidth, int* naturalWidth) getPreferredWidthForHeight;
5029 	/** */
5030 	extern(C) void function(GtkCellArea* area, GtkCellRenderer* renderer, uint propertyId, GValue* value, GParamSpec* pspec) setCellProperty;
5031 	/** */
5032 	extern(C) void function(GtkCellArea* area, GtkCellRenderer* renderer, uint propertyId, GValue* value, GParamSpec* pspec) getCellProperty;
5033 	/**
5034 	 *
5035 	 * Params:
5036 	 *     area = a #GtkCellArea
5037 	 *     direction = the #GtkDirectionType
5038 	 * Returns: %TRUE if focus remains inside @area as a result of this call.
5039 	 */
5040 	extern(C) int function(GtkCellArea* area, GtkDirectionType direction) focus;
5041 	/**
5042 	 *
5043 	 * Params:
5044 	 *     area = a #GtkCellArea
5045 	 * Returns: whether @area can do anything when activated.
5046 	 */
5047 	extern(C) int function(GtkCellArea* area) isActivatable;
5048 	/**
5049 	 *
5050 	 * Params:
5051 	 *     area = a #GtkCellArea
5052 	 *     context = the #GtkCellAreaContext in context with the current row data
5053 	 *     widget = the #GtkWidget that @area is rendering on
5054 	 *     cellArea = the size and location of @area relative to @widget’s allocation
5055 	 *     flags = the #GtkCellRendererState flags for @area for this row of data.
5056 	 *     editOnly = if %TRUE then only cell renderers that are %GTK_CELL_RENDERER_MODE_EDITABLE
5057 	 *         will be activated.
5058 	 * Returns: Whether @area was successfully activated.
5059 	 */
5060 	extern(C) int function(GtkCellArea* area, GtkCellAreaContext* context, GtkWidget* widget, GdkRectangle* cellArea, GtkCellRendererState flags, int editOnly) activate;
5061 	/** */
5062 	extern(C) void function() GtkReserved1;
5063 	/** */
5064 	extern(C) void function() GtkReserved2;
5065 	/** */
5066 	extern(C) void function() GtkReserved3;
5067 	/** */
5068 	extern(C) void function() GtkReserved4;
5069 	/** */
5070 	extern(C) void function() GtkReserved5;
5071 	/** */
5072 	extern(C) void function() GtkReserved6;
5073 	/** */
5074 	extern(C) void function() GtkReserved7;
5075 	/** */
5076 	extern(C) void function() GtkReserved8;
5077 }
5078 
5079 struct GtkCellAreaContext
5080 {
5081 	GObject parentInstance;
5082 	GtkCellAreaContextPrivate* priv;
5083 }
5084 
5085 struct GtkCellAreaContextClass
5086 {
5087 	GObjectClass parentClass;
5088 	/** */
5089 	extern(C) void function(GtkCellAreaContext* context, int width, int height) allocate;
5090 	/** */
5091 	extern(C) void function(GtkCellAreaContext* context) reset;
5092 	/** */
5093 	extern(C) void function(GtkCellAreaContext* context, int width, int* minimumHeight, int* naturalHeight) getPreferredHeightForWidth;
5094 	/** */
5095 	extern(C) void function(GtkCellAreaContext* context, int height, int* minimumWidth, int* naturalWidth) getPreferredWidthForHeight;
5096 	/** */
5097 	extern(C) void function() GtkReserved1;
5098 	/** */
5099 	extern(C) void function() GtkReserved2;
5100 	/** */
5101 	extern(C) void function() GtkReserved3;
5102 	/** */
5103 	extern(C) void function() GtkReserved4;
5104 	/** */
5105 	extern(C) void function() GtkReserved5;
5106 	/** */
5107 	extern(C) void function() GtkReserved6;
5108 }
5109 
5110 struct GtkCellAreaContextPrivate;
5111 
5112 struct GtkCellAreaPrivate;
5113 
5114 struct GtkCellEditable;
5115 
5116 struct GtkCellEditableIface
5117 {
5118 	GTypeInterface gIface;
5119 	/** */
5120 	extern(C) void function(GtkCellEditable* cellEditable) editingDone;
5121 	/** */
5122 	extern(C) void function(GtkCellEditable* cellEditable) removeWidget;
5123 	/** */
5124 	extern(C) void function(GtkCellEditable* cellEditable, GdkEvent* event) startEditing;
5125 }
5126 
5127 struct GtkCellLayout;
5128 
5129 struct GtkCellLayoutIface
5130 {
5131 	GTypeInterface gIface;
5132 	/** */
5133 	extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell, int expand) packStart;
5134 	/** */
5135 	extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell, int expand) packEnd;
5136 	/** */
5137 	extern(C) void function(GtkCellLayout* cellLayout) clear;
5138 	/** */
5139 	extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell, const(char)* attribute, int column) addAttribute;
5140 	/** */
5141 	extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell, GtkCellLayoutDataFunc func, void* funcData, GDestroyNotify destroy) setCellDataFunc;
5142 	/** */
5143 	extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell) clearAttributes;
5144 	/** */
5145 	extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell, int position) reorder;
5146 	/**
5147 	 *
5148 	 * Params:
5149 	 *     cellLayout = a #GtkCellLayout
5150 	 * Returns: a list of cell renderers. The list, but not the renderers has
5151 	 *     been newly allocated and should be freed with g_list_free()
5152 	 *     when no longer needed.
5153 	 */
5154 	extern(C) GList* function(GtkCellLayout* cellLayout) getCells;
5155 	/**
5156 	 *
5157 	 * Params:
5158 	 *     cellLayout = a #GtkCellLayout
5159 	 * Returns: the cell area used by @cell_layout,
5160 	 *     or %NULL in case no cell area is used.
5161 	 */
5162 	extern(C) GtkCellArea* function(GtkCellLayout* cellLayout) getArea;
5163 }
5164 
5165 struct GtkCellRenderer
5166 {
5167 	GObject parentInstance;
5168 	GtkCellRendererPrivate* priv;
5169 }
5170 
5171 struct GtkCellRendererAccel
5172 {
5173 	GtkCellRendererText parent;
5174 	GtkCellRendererAccelPrivate* priv;
5175 }
5176 
5177 struct GtkCellRendererAccelClass
5178 {
5179 	GtkCellRendererTextClass parentClass;
5180 	/** */
5181 	extern(C) void function(GtkCellRendererAccel* accel, const(char)* pathString, uint accelKey, GdkModifierType accelMods, uint hardwareKeycode) accelEdited;
5182 	/** */
5183 	extern(C) void function(GtkCellRendererAccel* accel, const(char)* pathString) accelCleared;
5184 	/** */
5185 	extern(C) void function() GtkReserved0;
5186 	/** */
5187 	extern(C) void function() GtkReserved1;
5188 	/** */
5189 	extern(C) void function() GtkReserved2;
5190 	/** */
5191 	extern(C) void function() GtkReserved3;
5192 	/** */
5193 	extern(C) void function() GtkReserved4;
5194 }
5195 
5196 struct GtkCellRendererAccelPrivate;
5197 
5198 struct GtkCellRendererClass
5199 {
5200 	GObjectClass parentClass;
5201 	/**
5202 	 *
5203 	 * Params:
5204 	 *     cell = a #GtkCellRenderer    instance
5205 	 * Returns: The #GtkSizeRequestMode preferred by this renderer.
5206 	 */
5207 	extern(C) GtkSizeRequestMode function(GtkCellRenderer* cell) getRequestMode;
5208 	/** */
5209 	extern(C) void function(GtkCellRenderer* cell, GtkWidget* widget, int* minimumSize, int* naturalSize) getPreferredWidth;
5210 	/** */
5211 	extern(C) void function(GtkCellRenderer* cell, GtkWidget* widget, int width, int* minimumHeight, int* naturalHeight) getPreferredHeightForWidth;
5212 	/** */
5213 	extern(C) void function(GtkCellRenderer* cell, GtkWidget* widget, int* minimumSize, int* naturalSize) getPreferredHeight;
5214 	/** */
5215 	extern(C) void function(GtkCellRenderer* cell, GtkWidget* widget, int height, int* minimumWidth, int* naturalWidth) getPreferredWidthForHeight;
5216 	/** */
5217 	extern(C) void function(GtkCellRenderer* cell, GtkWidget* widget, GtkCellRendererState flags, GdkRectangle* cellArea, GdkRectangle* alignedArea) getAlignedArea;
5218 	/** */
5219 	extern(C) void function(GtkCellRenderer* cell, GtkWidget* widget, GdkRectangle* cellArea, int* xOffset, int* yOffset, int* width, int* height) getSize;
5220 	/** */
5221 	extern(C) void function(GtkCellRenderer* cell, cairo_t* cr, GtkWidget* widget, GdkRectangle* backgroundArea, GdkRectangle* cellArea, GtkCellRendererState flags) render;
5222 	/**
5223 	 *
5224 	 * Params:
5225 	 *     cell = a #GtkCellRenderer
5226 	 *     event = a #GdkEvent
5227 	 *     widget = widget that received the event
5228 	 *     path = widget-dependent string representation of the event location;
5229 	 *         e.g. for #GtkTreeView, a string representation of #GtkTreePath
5230 	 *     backgroundArea = background area as passed to gtk_cell_renderer_render()
5231 	 *     cellArea = cell area as passed to gtk_cell_renderer_render()
5232 	 *     flags = render flags
5233 	 * Returns: %TRUE if the event was consumed/handled
5234 	 */
5235 	extern(C) int function(GtkCellRenderer* cell, GdkEvent* event, GtkWidget* widget, const(char)* path, GdkRectangle* backgroundArea, GdkRectangle* cellArea, GtkCellRendererState flags) activate;
5236 	/**
5237 	 *
5238 	 * Params:
5239 	 *     cell = a #GtkCellRenderer
5240 	 *     event = a #GdkEvent
5241 	 *     widget = widget that received the event
5242 	 *     path = widget-dependent string representation of the event location;
5243 	 *         e.g. for #GtkTreeView, a string representation of #GtkTreePath
5244 	 *     backgroundArea = background area as passed to gtk_cell_renderer_render()
5245 	 *     cellArea = cell area as passed to gtk_cell_renderer_render()
5246 	 *     flags = render flags
5247 	 * Returns: A new #GtkCellEditable, or %NULL
5248 	 */
5249 	extern(C) GtkCellEditable* function(GtkCellRenderer* cell, GdkEvent* event, GtkWidget* widget, const(char)* path, GdkRectangle* backgroundArea, GdkRectangle* cellArea, GtkCellRendererState flags) startEditing;
5250 	/** */
5251 	extern(C) void function(GtkCellRenderer* cell) editingCanceled;
5252 	/** */
5253 	extern(C) void function(GtkCellRenderer* cell, GtkCellEditable* editable, const(char)* path) editingStarted;
5254 	GtkCellRendererClassPrivate* priv;
5255 	/** */
5256 	extern(C) void function() GtkReserved2;
5257 	/** */
5258 	extern(C) void function() GtkReserved3;
5259 	/** */
5260 	extern(C) void function() GtkReserved4;
5261 }
5262 
5263 struct GtkCellRendererClassPrivate;
5264 
5265 struct GtkCellRendererCombo
5266 {
5267 	GtkCellRendererText parent;
5268 	GtkCellRendererComboPrivate* priv;
5269 }
5270 
5271 struct GtkCellRendererComboClass
5272 {
5273 	GtkCellRendererTextClass parent;
5274 	/** */
5275 	extern(C) void function() GtkReserved1;
5276 	/** */
5277 	extern(C) void function() GtkReserved2;
5278 	/** */
5279 	extern(C) void function() GtkReserved3;
5280 	/** */
5281 	extern(C) void function() GtkReserved4;
5282 }
5283 
5284 struct GtkCellRendererComboPrivate;
5285 
5286 struct GtkCellRendererPixbuf
5287 {
5288 	GtkCellRenderer parent;
5289 	GtkCellRendererPixbufPrivate* priv;
5290 }
5291 
5292 struct GtkCellRendererPixbufClass
5293 {
5294 	GtkCellRendererClass parentClass;
5295 	/** */
5296 	extern(C) void function() GtkReserved1;
5297 	/** */
5298 	extern(C) void function() GtkReserved2;
5299 	/** */
5300 	extern(C) void function() GtkReserved3;
5301 	/** */
5302 	extern(C) void function() GtkReserved4;
5303 }
5304 
5305 struct GtkCellRendererPixbufPrivate;
5306 
5307 struct GtkCellRendererPrivate;
5308 
5309 struct GtkCellRendererProgress
5310 {
5311 	GtkCellRenderer parentInstance;
5312 	GtkCellRendererProgressPrivate* priv;
5313 }
5314 
5315 struct GtkCellRendererProgressClass
5316 {
5317 	GtkCellRendererClass parentClass;
5318 	/** */
5319 	extern(C) void function() GtkReserved1;
5320 	/** */
5321 	extern(C) void function() GtkReserved2;
5322 	/** */
5323 	extern(C) void function() GtkReserved3;
5324 	/** */
5325 	extern(C) void function() GtkReserved4;
5326 }
5327 
5328 struct GtkCellRendererProgressPrivate;
5329 
5330 struct GtkCellRendererSpin
5331 {
5332 	GtkCellRendererText parent;
5333 	GtkCellRendererSpinPrivate* priv;
5334 }
5335 
5336 struct GtkCellRendererSpinClass
5337 {
5338 	GtkCellRendererTextClass parent;
5339 	/** */
5340 	extern(C) void function() GtkReserved1;
5341 	/** */
5342 	extern(C) void function() GtkReserved2;
5343 	/** */
5344 	extern(C) void function() GtkReserved3;
5345 	/** */
5346 	extern(C) void function() GtkReserved4;
5347 }
5348 
5349 struct GtkCellRendererSpinPrivate;
5350 
5351 struct GtkCellRendererSpinner
5352 {
5353 	GtkCellRenderer parent;
5354 	GtkCellRendererSpinnerPrivate* priv;
5355 }
5356 
5357 struct GtkCellRendererSpinnerClass
5358 {
5359 	GtkCellRendererClass parentClass;
5360 	/** */
5361 	extern(C) void function() GtkReserved1;
5362 	/** */
5363 	extern(C) void function() GtkReserved2;
5364 	/** */
5365 	extern(C) void function() GtkReserved3;
5366 	/** */
5367 	extern(C) void function() GtkReserved4;
5368 }
5369 
5370 struct GtkCellRendererSpinnerPrivate;
5371 
5372 struct GtkCellRendererText
5373 {
5374 	GtkCellRenderer parent;
5375 	GtkCellRendererTextPrivate* priv;
5376 }
5377 
5378 struct GtkCellRendererTextClass
5379 {
5380 	GtkCellRendererClass parentClass;
5381 	/** */
5382 	extern(C) void function(GtkCellRendererText* cellRendererText, const(char)* path, const(char)* newText) edited;
5383 	/** */
5384 	extern(C) void function() GtkReserved1;
5385 	/** */
5386 	extern(C) void function() GtkReserved2;
5387 	/** */
5388 	extern(C) void function() GtkReserved3;
5389 	/** */
5390 	extern(C) void function() GtkReserved4;
5391 }
5392 
5393 struct GtkCellRendererTextPrivate;
5394 
5395 struct GtkCellRendererToggle
5396 {
5397 	GtkCellRenderer parent;
5398 	GtkCellRendererTogglePrivate* priv;
5399 }
5400 
5401 struct GtkCellRendererToggleClass
5402 {
5403 	GtkCellRendererClass parentClass;
5404 	/** */
5405 	extern(C) void function(GtkCellRendererToggle* cellRendererToggle, const(char)* path) toggled;
5406 	/** */
5407 	extern(C) void function() GtkReserved1;
5408 	/** */
5409 	extern(C) void function() GtkReserved2;
5410 	/** */
5411 	extern(C) void function() GtkReserved3;
5412 	/** */
5413 	extern(C) void function() GtkReserved4;
5414 }
5415 
5416 struct GtkCellRendererTogglePrivate;
5417 
5418 struct GtkCellView
5419 {
5420 	GtkWidget parentInstance;
5421 	GtkCellViewPrivate* priv;
5422 }
5423 
5424 struct GtkCellViewClass
5425 {
5426 	/**
5427 	 * The parent class.
5428 	 */
5429 	GtkWidgetClass parentClass;
5430 	/** */
5431 	extern(C) void function() GtkReserved1;
5432 	/** */
5433 	extern(C) void function() GtkReserved2;
5434 	/** */
5435 	extern(C) void function() GtkReserved3;
5436 	/** */
5437 	extern(C) void function() GtkReserved4;
5438 }
5439 
5440 struct GtkCellViewPrivate;
5441 
5442 struct GtkCheckButton
5443 {
5444 	GtkToggleButton toggleButton;
5445 }
5446 
5447 struct GtkCheckButtonClass
5448 {
5449 	GtkToggleButtonClass parentClass;
5450 	/** */
5451 	extern(C) void function(GtkCheckButton* checkButton, cairo_t* cr) drawIndicator;
5452 	/** */
5453 	extern(C) void function() GtkReserved1;
5454 	/** */
5455 	extern(C) void function() GtkReserved2;
5456 	/** */
5457 	extern(C) void function() GtkReserved3;
5458 	/** */
5459 	extern(C) void function() GtkReserved4;
5460 }
5461 
5462 struct GtkCheckMenuItem
5463 {
5464 	GtkMenuItem menuItem;
5465 	GtkCheckMenuItemPrivate* priv;
5466 }
5467 
5468 struct GtkCheckMenuItemAccessible
5469 {
5470 	GtkMenuItemAccessible parent;
5471 	GtkCheckMenuItemAccessiblePrivate* priv;
5472 }
5473 
5474 struct GtkCheckMenuItemAccessibleClass
5475 {
5476 	GtkMenuItemAccessibleClass parentClass;
5477 }
5478 
5479 struct GtkCheckMenuItemAccessiblePrivate;
5480 
5481 struct GtkCheckMenuItemClass
5482 {
5483 	/**
5484 	 * The parent class.
5485 	 */
5486 	GtkMenuItemClass parentClass;
5487 	/** */
5488 	extern(C) void function(GtkCheckMenuItem* checkMenuItem) toggled;
5489 	/** */
5490 	extern(C) void function(GtkCheckMenuItem* checkMenuItem, cairo_t* cr) drawIndicator;
5491 	/** */
5492 	extern(C) void function() GtkReserved1;
5493 	/** */
5494 	extern(C) void function() GtkReserved2;
5495 	/** */
5496 	extern(C) void function() GtkReserved3;
5497 	/** */
5498 	extern(C) void function() GtkReserved4;
5499 }
5500 
5501 struct GtkCheckMenuItemPrivate;
5502 
5503 struct GtkClipboard;
5504 
5505 struct GtkColorButton
5506 {
5507 	GtkButton button;
5508 	GtkColorButtonPrivate* priv;
5509 }
5510 
5511 struct GtkColorButtonClass
5512 {
5513 	GtkButtonClass parentClass;
5514 	/** */
5515 	extern(C) void function(GtkColorButton* cp) colorSet;
5516 	/** */
5517 	extern(C) void function() GtkReserved1;
5518 	/** */
5519 	extern(C) void function() GtkReserved2;
5520 	/** */
5521 	extern(C) void function() GtkReserved3;
5522 	/** */
5523 	extern(C) void function() GtkReserved4;
5524 }
5525 
5526 struct GtkColorButtonPrivate;
5527 
5528 struct GtkColorChooser;
5529 
5530 struct GtkColorChooserDialog
5531 {
5532 	GtkDialog parentInstance;
5533 	GtkColorChooserDialogPrivate* priv;
5534 }
5535 
5536 struct GtkColorChooserDialogClass
5537 {
5538 	GtkDialogClass parentClass;
5539 	/** */
5540 	extern(C) void function() GtkReserved1;
5541 	/** */
5542 	extern(C) void function() GtkReserved2;
5543 	/** */
5544 	extern(C) void function() GtkReserved3;
5545 	/** */
5546 	extern(C) void function() GtkReserved4;
5547 }
5548 
5549 struct GtkColorChooserDialogPrivate;
5550 
5551 struct GtkColorChooserInterface
5552 {
5553 	GTypeInterface baseInterface;
5554 	/** */
5555 	extern(C) void function(GtkColorChooser* chooser, GdkRGBA* color) getRgba;
5556 	/** */
5557 	extern(C) void function(GtkColorChooser* chooser, GdkRGBA* color) setRgba;
5558 	/** */
5559 	extern(C) void function(GtkColorChooser* chooser, GtkOrientation orientation, int colorsPerLine, int nColors, GdkRGBA* colors) addPalette;
5560 	/** */
5561 	extern(C) void function(GtkColorChooser* chooser, GdkRGBA* color) colorActivated;
5562 	void*[12] padding;
5563 }
5564 
5565 struct GtkColorChooserWidget
5566 {
5567 	GtkBox parentInstance;
5568 	GtkColorChooserWidgetPrivate* priv;
5569 }
5570 
5571 struct GtkColorChooserWidgetClass
5572 {
5573 	/**
5574 	 * The parent class.
5575 	 */
5576 	GtkBoxClass parentClass;
5577 	/** */
5578 	extern(C) void function() GtkReserved1;
5579 	/** */
5580 	extern(C) void function() GtkReserved2;
5581 	/** */
5582 	extern(C) void function() GtkReserved3;
5583 	/** */
5584 	extern(C) void function() GtkReserved4;
5585 	/** */
5586 	extern(C) void function() GtkReserved5;
5587 	/** */
5588 	extern(C) void function() GtkReserved6;
5589 	/** */
5590 	extern(C) void function() GtkReserved7;
5591 	/** */
5592 	extern(C) void function() GtkReserved8;
5593 }
5594 
5595 struct GtkColorChooserWidgetPrivate;
5596 
5597 struct GtkColorSelection
5598 {
5599 	GtkBox parentInstance;
5600 	GtkColorSelectionPrivate* privateData;
5601 }
5602 
5603 struct GtkColorSelectionClass
5604 {
5605 	/**
5606 	 * The parent class.
5607 	 */
5608 	GtkBoxClass parentClass;
5609 	/** */
5610 	extern(C) void function(GtkColorSelection* colorSelection) colorChanged;
5611 	/** */
5612 	extern(C) void function() GtkReserved1;
5613 	/** */
5614 	extern(C) void function() GtkReserved2;
5615 	/** */
5616 	extern(C) void function() GtkReserved3;
5617 	/** */
5618 	extern(C) void function() GtkReserved4;
5619 }
5620 
5621 struct GtkColorSelectionDialog
5622 {
5623 	GtkDialog parentInstance;
5624 	GtkColorSelectionDialogPrivate* priv;
5625 }
5626 
5627 struct GtkColorSelectionDialogClass
5628 {
5629 	GtkDialogClass parentClass;
5630 	/** */
5631 	extern(C) void function() GtkReserved1;
5632 	/** */
5633 	extern(C) void function() GtkReserved2;
5634 	/** */
5635 	extern(C) void function() GtkReserved3;
5636 	/** */
5637 	extern(C) void function() GtkReserved4;
5638 }
5639 
5640 struct GtkColorSelectionDialogPrivate;
5641 
5642 struct GtkColorSelectionPrivate;
5643 
5644 struct GtkComboBox
5645 {
5646 	GtkBin parentInstance;
5647 	GtkComboBoxPrivate* priv;
5648 }
5649 
5650 struct GtkComboBoxAccessible
5651 {
5652 	GtkContainerAccessible parent;
5653 	GtkComboBoxAccessiblePrivate* priv;
5654 }
5655 
5656 struct GtkComboBoxAccessibleClass
5657 {
5658 	GtkContainerAccessibleClass parentClass;
5659 }
5660 
5661 struct GtkComboBoxAccessiblePrivate;
5662 
5663 struct GtkComboBoxClass
5664 {
5665 	/**
5666 	 * The parent class.
5667 	 */
5668 	GtkBinClass parentClass;
5669 	/** */
5670 	extern(C) void function(GtkComboBox* comboBox) changed;
5671 	/** */
5672 	extern(C) char* function(GtkComboBox* comboBox, const(char)* path) formatEntryText;
5673 	/** */
5674 	extern(C) void function() GtkReserved1;
5675 	/** */
5676 	extern(C) void function() GtkReserved2;
5677 	/** */
5678 	extern(C) void function() GtkReserved3;
5679 }
5680 
5681 struct GtkComboBoxPrivate;
5682 
5683 struct GtkComboBoxText
5684 {
5685 	GtkComboBox parentInstance;
5686 	GtkComboBoxTextPrivate* priv;
5687 }
5688 
5689 struct GtkComboBoxTextClass
5690 {
5691 	GtkComboBoxClass parentClass;
5692 	/** */
5693 	extern(C) void function() GtkReserved1;
5694 	/** */
5695 	extern(C) void function() GtkReserved2;
5696 	/** */
5697 	extern(C) void function() GtkReserved3;
5698 	/** */
5699 	extern(C) void function() GtkReserved4;
5700 }
5701 
5702 struct GtkComboBoxTextPrivate;
5703 
5704 struct GtkContainer
5705 {
5706 	GtkWidget widget;
5707 	GtkContainerPrivate* priv;
5708 }
5709 
5710 struct GtkContainerAccessible
5711 {
5712 	GtkWidgetAccessible parent;
5713 	GtkContainerAccessiblePrivate* priv;
5714 }
5715 
5716 struct GtkContainerAccessibleClass
5717 {
5718 	GtkWidgetAccessibleClass parentClass;
5719 	/** */
5720 	extern(C) int function(GtkContainer* container, GtkWidget* widget, void* data) addGtk;
5721 	/** */
5722 	extern(C) int function(GtkContainer* container, GtkWidget* widget, void* data) removeGtk;
5723 }
5724 
5725 struct GtkContainerAccessiblePrivate;
5726 
5727 struct GtkContainerCellAccessible
5728 {
5729 	GtkCellAccessible parent;
5730 	GtkContainerCellAccessiblePrivate* priv;
5731 }
5732 
5733 struct GtkContainerCellAccessibleClass
5734 {
5735 	GtkCellAccessibleClass parentClass;
5736 }
5737 
5738 struct GtkContainerCellAccessiblePrivate;
5739 
5740 struct GtkContainerClass
5741 {
5742 	/**
5743 	 * The parent class.
5744 	 */
5745 	GtkWidgetClass parentClass;
5746 	/** */
5747 	extern(C) void function(GtkContainer* container, GtkWidget* widget) add;
5748 	/** */
5749 	extern(C) void function(GtkContainer* container, GtkWidget* widget) remove;
5750 	/** */
5751 	extern(C) void function(GtkContainer* container) checkResize;
5752 	/** */
5753 	extern(C) void function(GtkContainer* container, int includeInternals, GtkCallback callback, void* callbackData) forall;
5754 	/** */
5755 	extern(C) void function(GtkContainer* container, GtkWidget* child) setFocusChild;
5756 	/**
5757 	 *
5758 	 * Params:
5759 	 *     container = a #GtkContainer
5760 	 * Returns: a #GType.
5761 	 */
5762 	extern(C) GType function(GtkContainer* container) childType;
5763 	/** */
5764 	extern(C) char* function(GtkContainer* container, GtkWidget* child) compositeName;
5765 	/** */
5766 	extern(C) void function(GtkContainer* container, GtkWidget* child, uint propertyId, GValue* value, GParamSpec* pspec) setChildProperty;
5767 	/** */
5768 	extern(C) void function(GtkContainer* container, GtkWidget* child, uint propertyId, GValue* value, GParamSpec* pspec) getChildProperty;
5769 	/**
5770 	 *
5771 	 * Params:
5772 	 *     container = a #GtkContainer
5773 	 *     child = a child of @container
5774 	 * Returns: A newly created #GtkWidgetPath
5775 	 */
5776 	extern(C) GtkWidgetPath* function(GtkContainer* container, GtkWidget* child) getPathForChild;
5777 	import std.bitmanip: bitfields;
5778 	mixin(bitfields!(
5779 		uint, "HandleBorderWidth", 1,
5780 		uint, "", 31
5781 	));
5782 	/** */
5783 	extern(C) void function() GtkReserved1;
5784 	/** */
5785 	extern(C) void function() GtkReserved2;
5786 	/** */
5787 	extern(C) void function() GtkReserved3;
5788 	/** */
5789 	extern(C) void function() GtkReserved4;
5790 	/** */
5791 	extern(C) void function() GtkReserved5;
5792 	/** */
5793 	extern(C) void function() GtkReserved6;
5794 	/** */
5795 	extern(C) void function() GtkReserved7;
5796 	/** */
5797 	extern(C) void function() GtkReserved8;
5798 }
5799 
5800 struct GtkContainerPrivate;
5801 
5802 struct GtkCssProvider
5803 {
5804 	GObject parentInstance;
5805 	GtkCssProviderPrivate* priv;
5806 }
5807 
5808 struct GtkCssProviderClass
5809 {
5810 	GObjectClass parentClass;
5811 	/** */
5812 	extern(C) void function(GtkCssProvider* provider, GtkCssSection* section, GError* error) parsingError;
5813 	/** */
5814 	extern(C) void function() GtkReserved2;
5815 	/** */
5816 	extern(C) void function() GtkReserved3;
5817 	/** */
5818 	extern(C) void function() GtkReserved4;
5819 }
5820 
5821 struct GtkCssProviderPrivate;
5822 
5823 struct GtkCssSection;
5824 
5825 struct GtkDialog
5826 {
5827 	GtkWindow window;
5828 	GtkDialogPrivate* priv;
5829 }
5830 
5831 struct GtkDialogClass
5832 {
5833 	/**
5834 	 * The parent class.
5835 	 */
5836 	GtkWindowClass parentClass;
5837 	/** */
5838 	extern(C) void function(GtkDialog* dialog, int responseId) response;
5839 	/** */
5840 	extern(C) void function(GtkDialog* dialog) close;
5841 	/** */
5842 	extern(C) void function() GtkReserved1;
5843 	/** */
5844 	extern(C) void function() GtkReserved2;
5845 	/** */
5846 	extern(C) void function() GtkReserved3;
5847 	/** */
5848 	extern(C) void function() GtkReserved4;
5849 }
5850 
5851 struct GtkDialogPrivate;
5852 
5853 struct GtkDrawingArea
5854 {
5855 	GtkWidget widget;
5856 	void* dummy;
5857 }
5858 
5859 struct GtkDrawingAreaClass
5860 {
5861 	GtkWidgetClass parentClass;
5862 	/** */
5863 	extern(C) void function() GtkReserved1;
5864 	/** */
5865 	extern(C) void function() GtkReserved2;
5866 	/** */
5867 	extern(C) void function() GtkReserved3;
5868 	/** */
5869 	extern(C) void function() GtkReserved4;
5870 }
5871 
5872 struct GtkEditable;
5873 
5874 struct GtkEditableInterface
5875 {
5876 	GTypeInterface baseIface;
5877 	/** */
5878 	extern(C) void function(GtkEditable* editable, const(char)* newText, int newTextLength, int* position) insertText;
5879 	/** */
5880 	extern(C) void function(GtkEditable* editable, int startPos, int endPos) deleteText;
5881 	/** */
5882 	extern(C) void function(GtkEditable* editable) changed;
5883 	/** */
5884 	extern(C) void function(GtkEditable* editable, const(char)* newText, int newTextLength, int* position) doInsertText;
5885 	/** */
5886 	extern(C) void function(GtkEditable* editable, int startPos, int endPos) doDeleteText;
5887 	/**
5888 	 *
5889 	 * Params:
5890 	 *     editable = a #GtkEditable
5891 	 *     startPos = start of text
5892 	 *     endPos = end of text
5893 	 * Returns: a pointer to the contents of the widget as a
5894 	 *     string. This string is allocated by the #GtkEditable
5895 	 *     implementation and should be freed by the caller.
5896 	 */
5897 	extern(C) char* function(GtkEditable* editable, int startPos, int endPos) getChars;
5898 	/** */
5899 	extern(C) void function(GtkEditable* editable, int startPos, int endPos) setSelectionBounds;
5900 	/**
5901 	 *
5902 	 * Params:
5903 	 *     editable = a #GtkEditable
5904 	 *     startPos = location to store the starting position, or %NULL
5905 	 *     endPos = location to store the end position, or %NULL
5906 	 * Returns: %TRUE if an area is selected, %FALSE otherwise
5907 	 */
5908 	extern(C) int function(GtkEditable* editable, int* startPos, int* endPos) getSelectionBounds;
5909 	/** */
5910 	extern(C) void function(GtkEditable* editable, int position) setPosition;
5911 	/**
5912 	 *
5913 	 * Params:
5914 	 *     editable = a #GtkEditable
5915 	 * Returns: the cursor position
5916 	 */
5917 	extern(C) int function(GtkEditable* editable) getPosition;
5918 }
5919 
5920 struct GtkEntry
5921 {
5922 	GtkWidget parentInstance;
5923 	GtkEntryPrivate* priv;
5924 }
5925 
5926 struct GtkEntryAccessible
5927 {
5928 	GtkWidgetAccessible parent;
5929 	GtkEntryAccessiblePrivate* priv;
5930 }
5931 
5932 struct GtkEntryAccessibleClass
5933 {
5934 	GtkWidgetAccessibleClass parentClass;
5935 }
5936 
5937 struct GtkEntryAccessiblePrivate;
5938 
5939 struct GtkEntryBuffer
5940 {
5941 	GObject parentInstance;
5942 	GtkEntryBufferPrivate* priv;
5943 }
5944 
5945 struct GtkEntryBufferClass
5946 {
5947 	GObjectClass parentClass;
5948 	/** */
5949 	extern(C) void function(GtkEntryBuffer* buffer, uint position, const(char)* chars, uint nChars) insertedText;
5950 	/** */
5951 	extern(C) void function(GtkEntryBuffer* buffer, uint position, uint nChars) deletedText;
5952 	/** */
5953 	extern(C) const(char)* function(GtkEntryBuffer* buffer, size_t* nBytes) getText;
5954 	/**
5955 	 *
5956 	 * Params:
5957 	 *     buffer = a #GtkEntryBuffer
5958 	 * Returns: The number of characters in the buffer.
5959 	 */
5960 	extern(C) uint function(GtkEntryBuffer* buffer) getLength;
5961 	/**
5962 	 *
5963 	 * Params:
5964 	 *     buffer = a #GtkEntryBuffer
5965 	 *     position = the position at which to insert text.
5966 	 *     chars = the text to insert into the buffer.
5967 	 *     nChars = the length of the text in characters, or -1
5968 	 * Returns: The number of characters actually inserted.
5969 	 */
5970 	extern(C) uint function(GtkEntryBuffer* buffer, uint position, const(char)* chars, uint nChars) insertText;
5971 	/**
5972 	 *
5973 	 * Params:
5974 	 *     buffer = a #GtkEntryBuffer
5975 	 *     position = position at which to delete text
5976 	 *     nChars = number of characters to delete
5977 	 * Returns: The number of characters deleted.
5978 	 */
5979 	extern(C) uint function(GtkEntryBuffer* buffer, uint position, uint nChars) deleteText;
5980 	/** */
5981 	extern(C) void function() GtkReserved1;
5982 	/** */
5983 	extern(C) void function() GtkReserved2;
5984 	/** */
5985 	extern(C) void function() GtkReserved3;
5986 	/** */
5987 	extern(C) void function() GtkReserved4;
5988 	/** */
5989 	extern(C) void function() GtkReserved5;
5990 	/** */
5991 	extern(C) void function() GtkReserved6;
5992 	/** */
5993 	extern(C) void function() GtkReserved7;
5994 	/** */
5995 	extern(C) void function() GtkReserved8;
5996 }
5997 
5998 struct GtkEntryBufferPrivate;
5999 
6000 /**
6001  * Class structure for #GtkEntry. All virtual functions have a default
6002  * implementation. Derived classes may set the virtual function pointers for the
6003  * signal handlers to %NULL, but must keep @get_text_area_size and
6004  * @get_frame_size non-%NULL; either use the default implementation, or provide
6005  * a custom one.
6006  */
6007 struct GtkEntryClass
6008 {
6009 	/**
6010 	 * The parent class.
6011 	 */
6012 	GtkWidgetClass parentClass;
6013 	/** */
6014 	extern(C) void function(GtkEntry* entry, GtkWidget* popup) populatePopup;
6015 	/** */
6016 	extern(C) void function(GtkEntry* entry) activate;
6017 	/** */
6018 	extern(C) void function(GtkEntry* entry, GtkMovementStep step, int count, int extendSelection) moveCursor;
6019 	/** */
6020 	extern(C) void function(GtkEntry* entry, const(char)* str) insertAtCursor;
6021 	/** */
6022 	extern(C) void function(GtkEntry* entry, GtkDeleteType type, int count) deleteFromCursor;
6023 	/** */
6024 	extern(C) void function(GtkEntry* entry) backspace;
6025 	/** */
6026 	extern(C) void function(GtkEntry* entry) cutClipboard;
6027 	/** */
6028 	extern(C) void function(GtkEntry* entry) copyClipboard;
6029 	/** */
6030 	extern(C) void function(GtkEntry* entry) pasteClipboard;
6031 	/** */
6032 	extern(C) void function(GtkEntry* entry) toggleOverwrite;
6033 	/** */
6034 	extern(C) void function(GtkEntry* entry, int* x, int* y, int* width, int* height) getTextAreaSize;
6035 	/** */
6036 	extern(C) void function(GtkEntry* entry, int* x, int* y, int* width, int* height) getFrameSize;
6037 	/** */
6038 	extern(C) void function() GtkReserved1;
6039 	/** */
6040 	extern(C) void function() GtkReserved2;
6041 	/** */
6042 	extern(C) void function() GtkReserved3;
6043 	/** */
6044 	extern(C) void function() GtkReserved4;
6045 	/** */
6046 	extern(C) void function() GtkReserved5;
6047 	/** */
6048 	extern(C) void function() GtkReserved6;
6049 	/** */
6050 	extern(C) void function() GtkReserved7;
6051 }
6052 
6053 struct GtkEntryCompletion
6054 {
6055 	GObject parentInstance;
6056 	GtkEntryCompletionPrivate* priv;
6057 }
6058 
6059 struct GtkEntryCompletionClass
6060 {
6061 	GObjectClass parentClass;
6062 	/** */
6063 	extern(C) int function(GtkEntryCompletion* completion, GtkTreeModel* model, GtkTreeIter* iter) matchSelected;
6064 	/** */
6065 	extern(C) void function(GtkEntryCompletion* completion, int index) actionActivated;
6066 	/** */
6067 	extern(C) int function(GtkEntryCompletion* completion, const(char)* prefix) insertPrefix;
6068 	/** */
6069 	extern(C) int function(GtkEntryCompletion* completion, GtkTreeModel* model, GtkTreeIter* iter) cursorOnMatch;
6070 	/** */
6071 	extern(C) void function(GtkEntryCompletion* completion) noMatches;
6072 	/** */
6073 	extern(C) void function() GtkReserved0;
6074 	/** */
6075 	extern(C) void function() GtkReserved1;
6076 	/** */
6077 	extern(C) void function() GtkReserved2;
6078 }
6079 
6080 struct GtkEntryCompletionPrivate;
6081 
6082 
6083 struct GtkEntryPrivate;
6084 
6085 struct GtkEventBox
6086 {
6087 	GtkBin bin;
6088 	GtkEventBoxPrivate* priv;
6089 }
6090 
6091 struct GtkEventBoxClass
6092 {
6093 	/**
6094 	 * The parent class.
6095 	 */
6096 	GtkBinClass parentClass;
6097 	/** */
6098 	extern(C) void function() GtkReserved1;
6099 	/** */
6100 	extern(C) void function() GtkReserved2;
6101 	/** */
6102 	extern(C) void function() GtkReserved3;
6103 	/** */
6104 	extern(C) void function() GtkReserved4;
6105 }
6106 
6107 struct GtkEventBoxPrivate;
6108 
6109 struct GtkEventController;
6110 
6111 struct GtkEventControllerClass;
6112 
6113 struct GtkExpander
6114 {
6115 	GtkBin bin;
6116 	GtkExpanderPrivate* priv;
6117 }
6118 
6119 struct GtkExpanderAccessible
6120 {
6121 	GtkContainerAccessible parent;
6122 	GtkExpanderAccessiblePrivate* priv;
6123 }
6124 
6125 struct GtkExpanderAccessibleClass
6126 {
6127 	GtkContainerAccessibleClass parentClass;
6128 }
6129 
6130 struct GtkExpanderAccessiblePrivate;
6131 
6132 struct GtkExpanderClass
6133 {
6134 	/**
6135 	 * The parent class.
6136 	 */
6137 	GtkBinClass parentClass;
6138 	/** */
6139 	extern(C) void function(GtkExpander* expander) activate;
6140 	/** */
6141 	extern(C) void function() GtkReserved1;
6142 	/** */
6143 	extern(C) void function() GtkReserved2;
6144 	/** */
6145 	extern(C) void function() GtkReserved3;
6146 	/** */
6147 	extern(C) void function() GtkReserved4;
6148 }
6149 
6150 struct GtkExpanderPrivate;
6151 
6152 struct GtkFileChooser;
6153 
6154 struct GtkFileChooserButton
6155 {
6156 	GtkBox parent;
6157 	GtkFileChooserButtonPrivate* priv;
6158 }
6159 
6160 struct GtkFileChooserButtonClass
6161 {
6162 	/**
6163 	 * The parent class.
6164 	 */
6165 	GtkBoxClass parentClass;
6166 	/** */
6167 	extern(C) void function(GtkFileChooserButton* fc) fileSet;
6168 	void* GtkReserved1;
6169 	void* GtkReserved2;
6170 	void* GtkReserved3;
6171 	void* GtkReserved4;
6172 }
6173 
6174 struct GtkFileChooserButtonPrivate;
6175 
6176 struct GtkFileChooserDialog
6177 {
6178 	GtkDialog parentInstance;
6179 	GtkFileChooserDialogPrivate* priv;
6180 }
6181 
6182 struct GtkFileChooserDialogClass
6183 {
6184 	GtkDialogClass parentClass;
6185 	/** */
6186 	extern(C) void function() GtkReserved1;
6187 	/** */
6188 	extern(C) void function() GtkReserved2;
6189 	/** */
6190 	extern(C) void function() GtkReserved3;
6191 	/** */
6192 	extern(C) void function() GtkReserved4;
6193 }
6194 
6195 struct GtkFileChooserDialogPrivate;
6196 
6197 struct GtkFileChooserNative;
6198 
6199 struct GtkFileChooserNativeClass
6200 {
6201 	GtkNativeDialogClass parentClass;
6202 }
6203 
6204 struct GtkFileChooserWidget
6205 {
6206 	GtkBox parentInstance;
6207 	GtkFileChooserWidgetPrivate* priv;
6208 }
6209 
6210 struct GtkFileChooserWidgetClass
6211 {
6212 	/**
6213 	 * The parent class.
6214 	 */
6215 	GtkBoxClass parentClass;
6216 	/** */
6217 	extern(C) void function() GtkReserved1;
6218 	/** */
6219 	extern(C) void function() GtkReserved2;
6220 	/** */
6221 	extern(C) void function() GtkReserved3;
6222 	/** */
6223 	extern(C) void function() GtkReserved4;
6224 }
6225 
6226 struct GtkFileChooserWidgetPrivate;
6227 
6228 struct GtkFileFilter;
6229 
6230 /**
6231  * A #GtkFileFilterInfo-struct is used to pass information about the
6232  * tested file to gtk_file_filter_filter().
6233  */
6234 struct GtkFileFilterInfo
6235 {
6236 	/**
6237 	 * Flags indicating which of the following fields need
6238 	 * are filled
6239 	 */
6240 	GtkFileFilterFlags contains;
6241 	/**
6242 	 * the filename of the file being tested
6243 	 */
6244 	const(char)* filename;
6245 	/**
6246 	 * the URI for the file being tested
6247 	 */
6248 	const(char)* uri;
6249 	/**
6250 	 * the string that will be used to display the file
6251 	 * in the file chooser
6252 	 */
6253 	const(char)* displayName;
6254 	/**
6255 	 * the mime type of the file
6256 	 */
6257 	const(char)* mimeType;
6258 }
6259 
6260 struct GtkFixed
6261 {
6262 	GtkContainer container;
6263 	GtkFixedPrivate* priv;
6264 }
6265 
6266 struct GtkFixedChild
6267 {
6268 	GtkWidget* widget;
6269 	int x;
6270 	int y;
6271 }
6272 
6273 struct GtkFixedClass
6274 {
6275 	GtkContainerClass parentClass;
6276 	/** */
6277 	extern(C) void function() GtkReserved1;
6278 	/** */
6279 	extern(C) void function() GtkReserved2;
6280 	/** */
6281 	extern(C) void function() GtkReserved3;
6282 	/** */
6283 	extern(C) void function() GtkReserved4;
6284 }
6285 
6286 struct GtkFixedPrivate;
6287 
6288 struct GtkFlowBox
6289 {
6290 	GtkContainer container;
6291 }
6292 
6293 struct GtkFlowBoxAccessible
6294 {
6295 	GtkContainerAccessible parent;
6296 	GtkFlowBoxAccessiblePrivate* priv;
6297 }
6298 
6299 struct GtkFlowBoxAccessibleClass
6300 {
6301 	GtkContainerAccessibleClass parentClass;
6302 }
6303 
6304 struct GtkFlowBoxAccessiblePrivate;
6305 
6306 struct GtkFlowBoxChild
6307 {
6308 	GtkBin parentInstance;
6309 }
6310 
6311 struct GtkFlowBoxChildAccessible
6312 {
6313 	GtkContainerAccessible parent;
6314 }
6315 
6316 struct GtkFlowBoxChildAccessibleClass
6317 {
6318 	GtkContainerAccessibleClass parentClass;
6319 }
6320 
6321 struct GtkFlowBoxChildClass
6322 {
6323 	GtkBinClass parentClass;
6324 	/** */
6325 	extern(C) void function(GtkFlowBoxChild* child) activate;
6326 	/** */
6327 	extern(C) void function() GtkReserved1;
6328 	/** */
6329 	extern(C) void function() GtkReserved2;
6330 }
6331 
6332 struct GtkFlowBoxClass
6333 {
6334 	GtkContainerClass parentClass;
6335 	/** */
6336 	extern(C) void function(GtkFlowBox* box, GtkFlowBoxChild* child) childActivated;
6337 	/** */
6338 	extern(C) void function(GtkFlowBox* box) selectedChildrenChanged;
6339 	/** */
6340 	extern(C) void function(GtkFlowBox* box) activateCursorChild;
6341 	/** */
6342 	extern(C) void function(GtkFlowBox* box) toggleCursorChild;
6343 	/** */
6344 	extern(C) int function(GtkFlowBox* box, GtkMovementStep step, int count) moveCursor;
6345 	/** */
6346 	extern(C) void function(GtkFlowBox* box) selectAll;
6347 	/** */
6348 	extern(C) void function(GtkFlowBox* box) unselectAll;
6349 	/** */
6350 	extern(C) void function() GtkReserved1;
6351 	/** */
6352 	extern(C) void function() GtkReserved2;
6353 	/** */
6354 	extern(C) void function() GtkReserved3;
6355 	/** */
6356 	extern(C) void function() GtkReserved4;
6357 	/** */
6358 	extern(C) void function() GtkReserved5;
6359 	/** */
6360 	extern(C) void function() GtkReserved6;
6361 }
6362 
6363 struct GtkFontButton
6364 {
6365 	GtkButton button;
6366 	GtkFontButtonPrivate* priv;
6367 }
6368 
6369 struct GtkFontButtonClass
6370 {
6371 	GtkButtonClass parentClass;
6372 	/** */
6373 	extern(C) void function(GtkFontButton* gfp) fontSet;
6374 	/** */
6375 	extern(C) void function() GtkReserved1;
6376 	/** */
6377 	extern(C) void function() GtkReserved2;
6378 	/** */
6379 	extern(C) void function() GtkReserved3;
6380 	/** */
6381 	extern(C) void function() GtkReserved4;
6382 }
6383 
6384 struct GtkFontButtonPrivate;
6385 
6386 struct GtkFontChooser;
6387 
6388 struct GtkFontChooserDialog
6389 {
6390 	GtkDialog parentInstance;
6391 	GtkFontChooserDialogPrivate* priv;
6392 }
6393 
6394 struct GtkFontChooserDialogClass
6395 {
6396 	/**
6397 	 * The parent class.
6398 	 */
6399 	GtkDialogClass parentClass;
6400 	/** */
6401 	extern(C) void function() GtkReserved1;
6402 	/** */
6403 	extern(C) void function() GtkReserved2;
6404 	/** */
6405 	extern(C) void function() GtkReserved3;
6406 	/** */
6407 	extern(C) void function() GtkReserved4;
6408 }
6409 
6410 struct GtkFontChooserDialogPrivate;
6411 
6412 struct GtkFontChooserIface
6413 {
6414 	GTypeInterface baseIface;
6415 	/**
6416 	 *
6417 	 * Params:
6418 	 *     fontchooser = a #GtkFontChooser
6419 	 * Returns: A #PangoFontFamily representing the
6420 	 *     selected font family, or %NULL. The returned object is owned by @fontchooser
6421 	 *     and must not be modified or freed.
6422 	 */
6423 	extern(C) PangoFontFamily* function(GtkFontChooser* fontchooser) getFontFamily;
6424 	/**
6425 	 *
6426 	 * Params:
6427 	 *     fontchooser = a #GtkFontChooser
6428 	 * Returns: A #PangoFontFace representing the
6429 	 *     selected font group details, or %NULL. The returned object is owned by
6430 	 *     @fontchooser and must not be modified or freed.
6431 	 */
6432 	extern(C) PangoFontFace* function(GtkFontChooser* fontchooser) getFontFace;
6433 	/**
6434 	 *
6435 	 * Params:
6436 	 *     fontchooser = a #GtkFontChooser
6437 	 * Returns: A n integer representing the selected font size,
6438 	 *     or -1 if no font size is selected.
6439 	 */
6440 	extern(C) int function(GtkFontChooser* fontchooser) getFontSize;
6441 	/** */
6442 	extern(C) void function(GtkFontChooser* fontchooser, GtkFontFilterFunc filter, void* userData, GDestroyNotify destroy) setFilterFunc;
6443 	/** */
6444 	extern(C) void function(GtkFontChooser* chooser, const(char)* fontname) fontActivated;
6445 	/** */
6446 	extern(C) void function(GtkFontChooser* fontchooser, PangoFontMap* fontmap) setFontMap;
6447 	/**
6448 	 *
6449 	 * Params:
6450 	 *     fontchooser = a #GtkFontChooser
6451 	 * Returns: a #PangoFontMap, or %NULL
6452 	 */
6453 	extern(C) PangoFontMap* function(GtkFontChooser* fontchooser) getFontMap;
6454 	void*[10] padding;
6455 }
6456 
6457 struct GtkFontChooserWidget
6458 {
6459 	GtkBox parentInstance;
6460 	GtkFontChooserWidgetPrivate* priv;
6461 }
6462 
6463 struct GtkFontChooserWidgetClass
6464 {
6465 	/**
6466 	 * The parent class.
6467 	 */
6468 	GtkBoxClass parentClass;
6469 	/** */
6470 	extern(C) void function() GtkReserved1;
6471 	/** */
6472 	extern(C) void function() GtkReserved2;
6473 	/** */
6474 	extern(C) void function() GtkReserved3;
6475 	/** */
6476 	extern(C) void function() GtkReserved4;
6477 	/** */
6478 	extern(C) void function() GtkReserved5;
6479 	/** */
6480 	extern(C) void function() GtkReserved6;
6481 	/** */
6482 	extern(C) void function() GtkReserved7;
6483 	/** */
6484 	extern(C) void function() GtkReserved8;
6485 }
6486 
6487 struct GtkFontChooserWidgetPrivate;
6488 
6489 struct GtkFontSelection
6490 {
6491 	GtkBox parentInstance;
6492 	GtkFontSelectionPrivate* priv;
6493 }
6494 
6495 struct GtkFontSelectionClass
6496 {
6497 	GtkBoxClass parentClass;
6498 	/** */
6499 	extern(C) void function() GtkReserved1;
6500 	/** */
6501 	extern(C) void function() GtkReserved2;
6502 	/** */
6503 	extern(C) void function() GtkReserved3;
6504 	/** */
6505 	extern(C) void function() GtkReserved4;
6506 }
6507 
6508 struct GtkFontSelectionDialog
6509 {
6510 	GtkDialog parentInstance;
6511 	GtkFontSelectionDialogPrivate* priv;
6512 }
6513 
6514 struct GtkFontSelectionDialogClass
6515 {
6516 	GtkDialogClass parentClass;
6517 	/** */
6518 	extern(C) void function() GtkReserved1;
6519 	/** */
6520 	extern(C) void function() GtkReserved2;
6521 	/** */
6522 	extern(C) void function() GtkReserved3;
6523 	/** */
6524 	extern(C) void function() GtkReserved4;
6525 }
6526 
6527 struct GtkFontSelectionDialogPrivate;
6528 
6529 struct GtkFontSelectionPrivate;
6530 
6531 struct GtkFrame
6532 {
6533 	GtkBin bin;
6534 	GtkFramePrivate* priv;
6535 }
6536 
6537 struct GtkFrameAccessible
6538 {
6539 	GtkContainerAccessible parent;
6540 	GtkFrameAccessiblePrivate* priv;
6541 }
6542 
6543 struct GtkFrameAccessibleClass
6544 {
6545 	GtkContainerAccessibleClass parentClass;
6546 }
6547 
6548 struct GtkFrameAccessiblePrivate;
6549 
6550 struct GtkFrameClass
6551 {
6552 	/**
6553 	 * The parent class.
6554 	 */
6555 	GtkBinClass parentClass;
6556 	/** */
6557 	extern(C) void function(GtkFrame* frame, GtkAllocation* allocation) computeChildAllocation;
6558 	/** */
6559 	extern(C) void function() GtkReserved1;
6560 	/** */
6561 	extern(C) void function() GtkReserved2;
6562 	/** */
6563 	extern(C) void function() GtkReserved3;
6564 	/** */
6565 	extern(C) void function() GtkReserved4;
6566 }
6567 
6568 struct GtkFramePrivate;
6569 
6570 struct GtkGLArea
6571 {
6572 	GtkWidget parentInstance;
6573 }
6574 
6575 /**
6576  * The `GtkGLAreaClass` structure contains only private data.
6577  *
6578  * Since: 3.16
6579  */
6580 struct GtkGLAreaClass
6581 {
6582 	GtkWidgetClass parentClass;
6583 	/** */
6584 	extern(C) int function(GtkGLArea* area, GdkGLContext* context) render;
6585 	/** */
6586 	extern(C) void function(GtkGLArea* area, int width, int height) resize;
6587 	/** */
6588 	extern(C) GdkGLContext* function(GtkGLArea* area) createContext;
6589 	void*[6] Padding;
6590 }
6591 
6592 struct GtkGesture;
6593 
6594 struct GtkGestureClass;
6595 
6596 struct GtkGestureDrag;
6597 
6598 struct GtkGestureDragClass;
6599 
6600 struct GtkGestureLongPress;
6601 
6602 struct GtkGestureLongPressClass;
6603 
6604 struct GtkGestureMultiPress;
6605 
6606 struct GtkGestureMultiPressClass;
6607 
6608 struct GtkGesturePan;
6609 
6610 struct GtkGesturePanClass;
6611 
6612 struct GtkGestureRotate;
6613 
6614 struct GtkGestureRotateClass;
6615 
6616 struct GtkGestureSingle;
6617 
6618 struct GtkGestureSingleClass;
6619 
6620 struct GtkGestureSwipe;
6621 
6622 struct GtkGestureSwipeClass;
6623 
6624 struct GtkGestureZoom;
6625 
6626 struct GtkGestureZoomClass;
6627 
6628 struct GtkGradient;
6629 
6630 struct GtkGrid
6631 {
6632 	GtkContainer container;
6633 	GtkGridPrivate* priv;
6634 }
6635 
6636 struct GtkGridClass
6637 {
6638 	/**
6639 	 * The parent class.
6640 	 */
6641 	GtkContainerClass parentClass;
6642 	/** */
6643 	extern(C) void function() GtkReserved1;
6644 	/** */
6645 	extern(C) void function() GtkReserved2;
6646 	/** */
6647 	extern(C) void function() GtkReserved3;
6648 	/** */
6649 	extern(C) void function() GtkReserved4;
6650 	/** */
6651 	extern(C) void function() GtkReserved5;
6652 	/** */
6653 	extern(C) void function() GtkReserved6;
6654 	/** */
6655 	extern(C) void function() GtkReserved7;
6656 	/** */
6657 	extern(C) void function() GtkReserved8;
6658 }
6659 
6660 struct GtkGridPrivate;
6661 
6662 struct GtkHBox
6663 {
6664 	GtkBox box;
6665 }
6666 
6667 struct GtkHBoxClass
6668 {
6669 	GtkBoxClass parentClass;
6670 }
6671 
6672 struct GtkHButtonBox
6673 {
6674 	GtkButtonBox buttonBox;
6675 }
6676 
6677 struct GtkHButtonBoxClass
6678 {
6679 	GtkButtonBoxClass parentClass;
6680 }
6681 
6682 struct GtkHPaned
6683 {
6684 	GtkPaned paned;
6685 }
6686 
6687 struct GtkHPanedClass
6688 {
6689 	GtkPanedClass parentClass;
6690 }
6691 
6692 struct GtkHSV
6693 {
6694 	GtkWidget parentInstance;
6695 	GtkHSVPrivate* priv;
6696 }
6697 
6698 struct GtkHSVClass
6699 {
6700 	GtkWidgetClass parentClass;
6701 	/** */
6702 	extern(C) void function(GtkHSV* hsv) changed;
6703 	/** */
6704 	extern(C) void function(GtkHSV* hsv, GtkDirectionType type) move;
6705 	/** */
6706 	extern(C) void function() GtkReserved1;
6707 	/** */
6708 	extern(C) void function() GtkReserved2;
6709 	/** */
6710 	extern(C) void function() GtkReserved3;
6711 	/** */
6712 	extern(C) void function() GtkReserved4;
6713 }
6714 
6715 struct GtkHSVPrivate;
6716 
6717 struct GtkHScale
6718 {
6719 	GtkScale scale;
6720 }
6721 
6722 struct GtkHScaleClass
6723 {
6724 	GtkScaleClass parentClass;
6725 }
6726 
6727 struct GtkHScrollbar
6728 {
6729 	GtkScrollbar scrollbar;
6730 }
6731 
6732 struct GtkHScrollbarClass
6733 {
6734 	GtkScrollbarClass parentClass;
6735 }
6736 
6737 struct GtkHSeparator
6738 {
6739 	GtkSeparator separator;
6740 }
6741 
6742 struct GtkHSeparatorClass
6743 {
6744 	GtkSeparatorClass parentClass;
6745 }
6746 
6747 struct GtkHandleBox
6748 {
6749 	GtkBin bin;
6750 	GtkHandleBoxPrivate* priv;
6751 }
6752 
6753 struct GtkHandleBoxClass
6754 {
6755 	/**
6756 	 * The parent class.
6757 	 */
6758 	GtkBinClass parentClass;
6759 	/** */
6760 	extern(C) void function(GtkHandleBox* handleBox, GtkWidget* child) childAttached;
6761 	/** */
6762 	extern(C) void function(GtkHandleBox* handleBox, GtkWidget* child) childDetached;
6763 	/** */
6764 	extern(C) void function() GtkReserved1;
6765 	/** */
6766 	extern(C) void function() GtkReserved2;
6767 	/** */
6768 	extern(C) void function() GtkReserved3;
6769 	/** */
6770 	extern(C) void function() GtkReserved4;
6771 }
6772 
6773 struct GtkHandleBoxPrivate;
6774 
6775 struct GtkHeaderBar
6776 {
6777 	GtkContainer container;
6778 }
6779 
6780 struct GtkHeaderBarClass
6781 {
6782 	GtkContainerClass parentClass;
6783 	/** */
6784 	extern(C) void function() GtkReserved1;
6785 	/** */
6786 	extern(C) void function() GtkReserved2;
6787 	/** */
6788 	extern(C) void function() GtkReserved3;
6789 	/** */
6790 	extern(C) void function() GtkReserved4;
6791 }
6792 
6793 struct GtkHeaderBarPrivate;
6794 
6795 struct GtkIMContext
6796 {
6797 	GObject parentInstance;
6798 }
6799 
6800 struct GtkIMContextClass
6801 {
6802 	GObjectClass parentClass;
6803 	/** */
6804 	extern(C) void function(GtkIMContext* context) preeditStart;
6805 	/** */
6806 	extern(C) void function(GtkIMContext* context) preeditEnd;
6807 	/** */
6808 	extern(C) void function(GtkIMContext* context) preeditChanged;
6809 	/** */
6810 	extern(C) void function(GtkIMContext* context, const(char)* str) commit;
6811 	/** */
6812 	extern(C) int function(GtkIMContext* context) retrieveSurrounding;
6813 	/**
6814 	 *
6815 	 * Params:
6816 	 *     context = a #GtkIMContext
6817 	 *     offset = offset from cursor position in chars;
6818 	 *         a negative value means start before the cursor.
6819 	 *     nChars = number of characters to delete.
6820 	 * Returns: %TRUE if the signal was handled.
6821 	 */
6822 	extern(C) int function(GtkIMContext* context, int offset, int nChars) deleteSurrounding;
6823 	/** */
6824 	extern(C) void function(GtkIMContext* context, GdkWindow* window) setClientWindow;
6825 	/** */
6826 	extern(C) void function(GtkIMContext* context, char** str, PangoAttrList** attrs, int* cursorPos) getPreeditString;
6827 	/**
6828 	 *
6829 	 * Params:
6830 	 *     context = a #GtkIMContext
6831 	 *     event = the key event
6832 	 * Returns: %TRUE if the input method handled the key event.
6833 	 */
6834 	extern(C) int function(GtkIMContext* context, GdkEventKey* event) filterKeypress;
6835 	/** */
6836 	extern(C) void function(GtkIMContext* context) focusIn;
6837 	/** */
6838 	extern(C) void function(GtkIMContext* context) focusOut;
6839 	/** */
6840 	extern(C) void function(GtkIMContext* context) reset;
6841 	/** */
6842 	extern(C) void function(GtkIMContext* context, GdkRectangle* area) setCursorLocation;
6843 	/** */
6844 	extern(C) void function(GtkIMContext* context, int usePreedit) setUsePreedit;
6845 	/** */
6846 	extern(C) void function(GtkIMContext* context, const(char)* text, int len, int cursorIndex) setSurrounding;
6847 	/**
6848 	 *
6849 	 * Params:
6850 	 *     context = a #GtkIMContext
6851 	 *     text = location to store a UTF-8 encoded
6852 	 *         string of text holding context around the insertion point.
6853 	 *         If the function returns %TRUE, then you must free the result
6854 	 *         stored in this location with g_free().
6855 	 *     cursorIndex = location to store byte index of the insertion
6856 	 *         cursor within @text.
6857 	 * Returns: %TRUE if surrounding text was provided; in this case
6858 	 *     you must free the result stored in *text.
6859 	 */
6860 	extern(C) int function(GtkIMContext* context, char** text, int* cursorIndex) getSurrounding;
6861 	/** */
6862 	extern(C) void function() GtkReserved1;
6863 	/** */
6864 	extern(C) void function() GtkReserved2;
6865 	/** */
6866 	extern(C) void function() GtkReserved3;
6867 	/** */
6868 	extern(C) void function() GtkReserved4;
6869 	/** */
6870 	extern(C) void function() GtkReserved5;
6871 	/** */
6872 	extern(C) void function() GtkReserved6;
6873 }
6874 
6875 /**
6876  * Bookkeeping information about a loadable input method.
6877  */
6878 struct GtkIMContextInfo
6879 {
6880 	/**
6881 	 * The unique identification string of the input method.
6882 	 */
6883 	const(char)* contextId;
6884 	/**
6885 	 * The human-readable name of the input method.
6886 	 */
6887 	const(char)* contextName;
6888 	/**
6889 	 * Translation domain to be used with dgettext()
6890 	 */
6891 	const(char)* domain;
6892 	/**
6893 	 * Name of locale directory for use with bindtextdomain()
6894 	 */
6895 	const(char)* domainDirname;
6896 	/**
6897 	 * A colon-separated list of locales where this input method
6898 	 * should be the default. The asterisk “*” sets the default for all locales.
6899 	 */
6900 	const(char)* defaultLocales;
6901 }
6902 
6903 struct GtkIMContextSimple
6904 {
6905 	GtkIMContext object;
6906 	GtkIMContextSimplePrivate* priv;
6907 }
6908 
6909 struct GtkIMContextSimpleClass
6910 {
6911 	GtkIMContextClass parentClass;
6912 }
6913 
6914 struct GtkIMContextSimplePrivate;
6915 
6916 struct GtkIMMulticontext
6917 {
6918 	GtkIMContext object;
6919 	GtkIMMulticontextPrivate* priv;
6920 }
6921 
6922 struct GtkIMMulticontextClass
6923 {
6924 	GtkIMContextClass parentClass;
6925 	/** */
6926 	extern(C) void function() GtkReserved1;
6927 	/** */
6928 	extern(C) void function() GtkReserved2;
6929 	/** */
6930 	extern(C) void function() GtkReserved3;
6931 	/** */
6932 	extern(C) void function() GtkReserved4;
6933 }
6934 
6935 struct GtkIMMulticontextPrivate;
6936 
6937 struct GtkIconFactory
6938 {
6939 	GObject parentInstance;
6940 	GtkIconFactoryPrivate* priv;
6941 }
6942 
6943 struct GtkIconFactoryClass
6944 {
6945 	/**
6946 	 * The parent class.
6947 	 */
6948 	GObjectClass parentClass;
6949 	/** */
6950 	extern(C) void function() GtkReserved1;
6951 	/** */
6952 	extern(C) void function() GtkReserved2;
6953 	/** */
6954 	extern(C) void function() GtkReserved3;
6955 	/** */
6956 	extern(C) void function() GtkReserved4;
6957 }
6958 
6959 struct GtkIconFactoryPrivate;
6960 
6961 struct GtkIconInfo;
6962 
6963 struct GtkIconInfoClass;
6964 
6965 struct GtkIconSet;
6966 
6967 struct GtkIconSource;
6968 
6969 struct GtkIconTheme
6970 {
6971 	GObject parentInstance;
6972 	GtkIconThemePrivate* priv;
6973 }
6974 
6975 struct GtkIconThemeClass
6976 {
6977 	/**
6978 	 * The parent class.
6979 	 */
6980 	GObjectClass parentClass;
6981 	/** */
6982 	extern(C) void function(GtkIconTheme* iconTheme) changed;
6983 	/** */
6984 	extern(C) void function() GtkReserved1;
6985 	/** */
6986 	extern(C) void function() GtkReserved2;
6987 	/** */
6988 	extern(C) void function() GtkReserved3;
6989 	/** */
6990 	extern(C) void function() GtkReserved4;
6991 }
6992 
6993 struct GtkIconThemePrivate;
6994 
6995 struct GtkIconView
6996 {
6997 	GtkContainer parent;
6998 	GtkIconViewPrivate* priv;
6999 }
7000 
7001 struct GtkIconViewAccessible
7002 {
7003 	GtkContainerAccessible parent;
7004 	GtkIconViewAccessiblePrivate* priv;
7005 }
7006 
7007 struct GtkIconViewAccessibleClass
7008 {
7009 	GtkContainerAccessibleClass parentClass;
7010 }
7011 
7012 struct GtkIconViewAccessiblePrivate;
7013 
7014 struct GtkIconViewClass
7015 {
7016 	GtkContainerClass parentClass;
7017 	/** */
7018 	extern(C) void function(GtkIconView* iconView, GtkTreePath* path) itemActivated;
7019 	/** */
7020 	extern(C) void function(GtkIconView* iconView) selectionChanged;
7021 	/** */
7022 	extern(C) void function(GtkIconView* iconView) selectAll;
7023 	/** */
7024 	extern(C) void function(GtkIconView* iconView) unselectAll;
7025 	/** */
7026 	extern(C) void function(GtkIconView* iconView) selectCursorItem;
7027 	/** */
7028 	extern(C) void function(GtkIconView* iconView) toggleCursorItem;
7029 	/** */
7030 	extern(C) int function(GtkIconView* iconView, GtkMovementStep step, int count) moveCursor;
7031 	/** */
7032 	extern(C) int function(GtkIconView* iconView) activateCursorItem;
7033 	/** */
7034 	extern(C) void function() GtkReserved1;
7035 	/** */
7036 	extern(C) void function() GtkReserved2;
7037 	/** */
7038 	extern(C) void function() GtkReserved3;
7039 	/** */
7040 	extern(C) void function() GtkReserved4;
7041 }
7042 
7043 struct GtkIconViewPrivate;
7044 
7045 struct GtkImage
7046 {
7047 	GtkMisc misc;
7048 	GtkImagePrivate* priv;
7049 }
7050 
7051 struct GtkImageAccessible
7052 {
7053 	GtkWidgetAccessible parent;
7054 	GtkImageAccessiblePrivate* priv;
7055 }
7056 
7057 struct GtkImageAccessibleClass
7058 {
7059 	GtkWidgetAccessibleClass parentClass;
7060 }
7061 
7062 struct GtkImageAccessiblePrivate;
7063 
7064 struct GtkImageCellAccessible
7065 {
7066 	GtkRendererCellAccessible parent;
7067 	GtkImageCellAccessiblePrivate* priv;
7068 }
7069 
7070 struct GtkImageCellAccessibleClass
7071 {
7072 	GtkRendererCellAccessibleClass parentClass;
7073 }
7074 
7075 struct GtkImageCellAccessiblePrivate;
7076 
7077 struct GtkImageClass
7078 {
7079 	GtkMiscClass parentClass;
7080 	/** */
7081 	extern(C) void function() GtkReserved1;
7082 	/** */
7083 	extern(C) void function() GtkReserved2;
7084 	/** */
7085 	extern(C) void function() GtkReserved3;
7086 	/** */
7087 	extern(C) void function() GtkReserved4;
7088 }
7089 
7090 struct GtkImageMenuItem
7091 {
7092 	GtkMenuItem menuItem;
7093 	GtkImageMenuItemPrivate* priv;
7094 }
7095 
7096 struct GtkImageMenuItemClass
7097 {
7098 	/**
7099 	 * The parent class.
7100 	 */
7101 	GtkMenuItemClass parentClass;
7102 	/** */
7103 	extern(C) void function() GtkReserved1;
7104 	/** */
7105 	extern(C) void function() GtkReserved2;
7106 	/** */
7107 	extern(C) void function() GtkReserved3;
7108 	/** */
7109 	extern(C) void function() GtkReserved4;
7110 }
7111 
7112 struct GtkImageMenuItemPrivate;
7113 
7114 struct GtkImagePrivate;
7115 
7116 struct GtkInfoBar
7117 {
7118 	GtkBox parent;
7119 	GtkInfoBarPrivate* priv;
7120 }
7121 
7122 struct GtkInfoBarClass
7123 {
7124 	GtkBoxClass parentClass;
7125 	/** */
7126 	extern(C) void function(GtkInfoBar* infoBar, int responseId) response;
7127 	/** */
7128 	extern(C) void function(GtkInfoBar* infoBar) close;
7129 	/** */
7130 	extern(C) void function() GtkReserved1;
7131 	/** */
7132 	extern(C) void function() GtkReserved2;
7133 	/** */
7134 	extern(C) void function() GtkReserved3;
7135 	/** */
7136 	extern(C) void function() GtkReserved4;
7137 }
7138 
7139 struct GtkInfoBarPrivate;
7140 
7141 struct GtkInvisible
7142 {
7143 	GtkWidget widget;
7144 	GtkInvisiblePrivate* priv;
7145 }
7146 
7147 struct GtkInvisibleClass
7148 {
7149 	GtkWidgetClass parentClass;
7150 	/** */
7151 	extern(C) void function() GtkReserved1;
7152 	/** */
7153 	extern(C) void function() GtkReserved2;
7154 	/** */
7155 	extern(C) void function() GtkReserved3;
7156 	/** */
7157 	extern(C) void function() GtkReserved4;
7158 }
7159 
7160 struct GtkInvisiblePrivate;
7161 
7162 struct GtkLabel
7163 {
7164 	GtkMisc misc;
7165 	GtkLabelPrivate* priv;
7166 }
7167 
7168 struct GtkLabelAccessible
7169 {
7170 	GtkWidgetAccessible parent;
7171 	GtkLabelAccessiblePrivate* priv;
7172 }
7173 
7174 struct GtkLabelAccessibleClass
7175 {
7176 	GtkWidgetAccessibleClass parentClass;
7177 }
7178 
7179 struct GtkLabelAccessiblePrivate;
7180 
7181 struct GtkLabelClass
7182 {
7183 	GtkMiscClass parentClass;
7184 	/** */
7185 	extern(C) void function(GtkLabel* label, GtkMovementStep step, int count, int extendSelection) moveCursor;
7186 	/** */
7187 	extern(C) void function(GtkLabel* label) copyClipboard;
7188 	/** */
7189 	extern(C) void function(GtkLabel* label, GtkMenu* menu) populatePopup;
7190 	/** */
7191 	extern(C) int function(GtkLabel* label, const(char)* uri) activateLink;
7192 	/** */
7193 	extern(C) void function() GtkReserved1;
7194 	/** */
7195 	extern(C) void function() GtkReserved2;
7196 	/** */
7197 	extern(C) void function() GtkReserved3;
7198 	/** */
7199 	extern(C) void function() GtkReserved4;
7200 	/** */
7201 	extern(C) void function() GtkReserved5;
7202 	/** */
7203 	extern(C) void function() GtkReserved6;
7204 	/** */
7205 	extern(C) void function() GtkReserved7;
7206 	/** */
7207 	extern(C) void function() GtkReserved8;
7208 }
7209 
7210 struct GtkLabelPrivate;
7211 
7212 struct GtkLabelSelectionInfo;
7213 
7214 struct GtkLayout
7215 {
7216 	GtkContainer container;
7217 	GtkLayoutPrivate* priv;
7218 }
7219 
7220 struct GtkLayoutClass
7221 {
7222 	GtkContainerClass parentClass;
7223 	/** */
7224 	extern(C) void function() GtkReserved1;
7225 	/** */
7226 	extern(C) void function() GtkReserved2;
7227 	/** */
7228 	extern(C) void function() GtkReserved3;
7229 	/** */
7230 	extern(C) void function() GtkReserved4;
7231 }
7232 
7233 struct GtkLayoutPrivate;
7234 
7235 struct GtkLevelBar
7236 {
7237 	GtkWidget parent;
7238 	GtkLevelBarPrivate* priv;
7239 }
7240 
7241 struct GtkLevelBarAccessible
7242 {
7243 	GtkWidgetAccessible parent;
7244 	GtkLevelBarAccessiblePrivate* priv;
7245 }
7246 
7247 struct GtkLevelBarAccessibleClass
7248 {
7249 	GtkWidgetAccessibleClass parentClass;
7250 }
7251 
7252 struct GtkLevelBarAccessiblePrivate;
7253 
7254 struct GtkLevelBarClass
7255 {
7256 	GtkWidgetClass parentClass;
7257 	/** */
7258 	extern(C) void function(GtkLevelBar* self, const(char)* name) offsetChanged;
7259 	void*[16] padding;
7260 }
7261 
7262 struct GtkLevelBarPrivate;
7263 
7264 struct GtkLinkButton
7265 {
7266 	GtkButton parentInstance;
7267 	GtkLinkButtonPrivate* priv;
7268 }
7269 
7270 struct GtkLinkButtonAccessible
7271 {
7272 	GtkButtonAccessible parent;
7273 	GtkLinkButtonAccessiblePrivate* priv;
7274 }
7275 
7276 struct GtkLinkButtonAccessibleClass
7277 {
7278 	GtkButtonAccessibleClass parentClass;
7279 }
7280 
7281 struct GtkLinkButtonAccessiblePrivate;
7282 
7283 /**
7284  * The #GtkLinkButtonClass contains only
7285  * private data.
7286  */
7287 struct GtkLinkButtonClass
7288 {
7289 	GtkButtonClass parentClass;
7290 	/** */
7291 	extern(C) int function(GtkLinkButton* button) activateLink;
7292 	/** */
7293 	extern(C) void function() GtkPadding1;
7294 	/** */
7295 	extern(C) void function() GtkPadding2;
7296 	/** */
7297 	extern(C) void function() GtkPadding3;
7298 	/** */
7299 	extern(C) void function() GtkPadding4;
7300 }
7301 
7302 struct GtkLinkButtonPrivate;
7303 
7304 struct GtkListBox
7305 {
7306 	GtkContainer parentInstance;
7307 }
7308 
7309 struct GtkListBoxAccessible
7310 {
7311 	GtkContainerAccessible parent;
7312 	GtkListBoxAccessiblePrivate* priv;
7313 }
7314 
7315 struct GtkListBoxAccessibleClass
7316 {
7317 	GtkContainerAccessibleClass parentClass;
7318 }
7319 
7320 struct GtkListBoxAccessiblePrivate;
7321 
7322 struct GtkListBoxClass
7323 {
7324 	/**
7325 	 * The parent class.
7326 	 */
7327 	GtkContainerClass parentClass;
7328 	/** */
7329 	extern(C) void function(GtkListBox* box, GtkListBoxRow* row) rowSelected;
7330 	/** */
7331 	extern(C) void function(GtkListBox* box, GtkListBoxRow* row) rowActivated;
7332 	/** */
7333 	extern(C) void function(GtkListBox* box) activateCursorRow;
7334 	/** */
7335 	extern(C) void function(GtkListBox* box) toggleCursorRow;
7336 	/** */
7337 	extern(C) void function(GtkListBox* box, GtkMovementStep step, int count) moveCursor;
7338 	/** */
7339 	extern(C) void function(GtkListBox* box) selectedRowsChanged;
7340 	/** */
7341 	extern(C) void function(GtkListBox* box) selectAll;
7342 	/** */
7343 	extern(C) void function(GtkListBox* box) unselectAll;
7344 	/** */
7345 	extern(C) void function() GtkReserved1;
7346 	/** */
7347 	extern(C) void function() GtkReserved2;
7348 	/** */
7349 	extern(C) void function() GtkReserved3;
7350 }
7351 
7352 struct GtkListBoxRow
7353 {
7354 	GtkBin parentInstance;
7355 }
7356 
7357 struct GtkListBoxRowAccessible
7358 {
7359 	GtkContainerAccessible parent;
7360 }
7361 
7362 struct GtkListBoxRowAccessibleClass
7363 {
7364 	GtkContainerAccessibleClass parentClass;
7365 }
7366 
7367 struct GtkListBoxRowClass
7368 {
7369 	/**
7370 	 * The parent class.
7371 	 */
7372 	GtkBinClass parentClass;
7373 	/** */
7374 	extern(C) void function(GtkListBoxRow* row) activate;
7375 	/** */
7376 	extern(C) void function() GtkReserved1;
7377 	/** */
7378 	extern(C) void function() GtkReserved2;
7379 }
7380 
7381 struct GtkListStore
7382 {
7383 	GObject parent;
7384 	GtkListStorePrivate* priv;
7385 }
7386 
7387 struct GtkListStoreClass
7388 {
7389 	GObjectClass parentClass;
7390 	/** */
7391 	extern(C) void function() GtkReserved1;
7392 	/** */
7393 	extern(C) void function() GtkReserved2;
7394 	/** */
7395 	extern(C) void function() GtkReserved3;
7396 	/** */
7397 	extern(C) void function() GtkReserved4;
7398 }
7399 
7400 struct GtkListStorePrivate;
7401 
7402 struct GtkLockButton
7403 {
7404 	GtkButton parent;
7405 	GtkLockButtonPrivate* priv;
7406 }
7407 
7408 struct GtkLockButtonAccessible
7409 {
7410 	GtkButtonAccessible parent;
7411 	GtkLockButtonAccessiblePrivate* priv;
7412 }
7413 
7414 struct GtkLockButtonAccessibleClass
7415 {
7416 	GtkButtonAccessibleClass parentClass;
7417 }
7418 
7419 struct GtkLockButtonAccessiblePrivate;
7420 
7421 struct GtkLockButtonClass
7422 {
7423 	/**
7424 	 * The parent class.
7425 	 */
7426 	GtkButtonClass parentClass;
7427 	/** */
7428 	extern(C) void function() reserved0;
7429 	/** */
7430 	extern(C) void function() reserved1;
7431 	/** */
7432 	extern(C) void function() reserved2;
7433 	/** */
7434 	extern(C) void function() reserved3;
7435 	/** */
7436 	extern(C) void function() reserved4;
7437 	/** */
7438 	extern(C) void function() reserved5;
7439 	/** */
7440 	extern(C) void function() reserved6;
7441 	/** */
7442 	extern(C) void function() reserved7;
7443 }
7444 
7445 struct GtkLockButtonPrivate;
7446 
7447 struct GtkMenu
7448 {
7449 	GtkMenuShell menuShell;
7450 	GtkMenuPrivate* priv;
7451 }
7452 
7453 struct GtkMenuAccessible
7454 {
7455 	GtkMenuShellAccessible parent;
7456 	GtkMenuAccessiblePrivate* priv;
7457 }
7458 
7459 struct GtkMenuAccessibleClass
7460 {
7461 	GtkMenuShellAccessibleClass parentClass;
7462 }
7463 
7464 struct GtkMenuAccessiblePrivate;
7465 
7466 struct GtkMenuBar
7467 {
7468 	GtkMenuShell menuShell;
7469 	GtkMenuBarPrivate* priv;
7470 }
7471 
7472 struct GtkMenuBarClass
7473 {
7474 	GtkMenuShellClass parentClass;
7475 	/** */
7476 	extern(C) void function() GtkReserved1;
7477 	/** */
7478 	extern(C) void function() GtkReserved2;
7479 	/** */
7480 	extern(C) void function() GtkReserved3;
7481 	/** */
7482 	extern(C) void function() GtkReserved4;
7483 }
7484 
7485 struct GtkMenuBarPrivate;
7486 
7487 struct GtkMenuButton
7488 {
7489 	GtkToggleButton parent;
7490 	GtkMenuButtonPrivate* priv;
7491 }
7492 
7493 struct GtkMenuButtonAccessible
7494 {
7495 	GtkToggleButtonAccessible parent;
7496 	GtkMenuButtonAccessiblePrivate* priv;
7497 }
7498 
7499 struct GtkMenuButtonAccessibleClass
7500 {
7501 	GtkToggleButtonAccessibleClass parentClass;
7502 }
7503 
7504 struct GtkMenuButtonAccessiblePrivate;
7505 
7506 struct GtkMenuButtonClass
7507 {
7508 	GtkToggleButtonClass parentClass;
7509 	/** */
7510 	extern(C) void function() GtkReserved1;
7511 	/** */
7512 	extern(C) void function() GtkReserved2;
7513 	/** */
7514 	extern(C) void function() GtkReserved3;
7515 	/** */
7516 	extern(C) void function() GtkReserved4;
7517 }
7518 
7519 struct GtkMenuButtonPrivate;
7520 
7521 struct GtkMenuClass
7522 {
7523 	GtkMenuShellClass parentClass;
7524 	/** */
7525 	extern(C) void function() GtkReserved1;
7526 	/** */
7527 	extern(C) void function() GtkReserved2;
7528 	/** */
7529 	extern(C) void function() GtkReserved3;
7530 	/** */
7531 	extern(C) void function() GtkReserved4;
7532 }
7533 
7534 struct GtkMenuItem
7535 {
7536 	GtkBin bin;
7537 	GtkMenuItemPrivate* priv;
7538 }
7539 
7540 struct GtkMenuItemAccessible
7541 {
7542 	GtkContainerAccessible parent;
7543 	GtkMenuItemAccessiblePrivate* priv;
7544 }
7545 
7546 struct GtkMenuItemAccessibleClass
7547 {
7548 	GtkContainerAccessibleClass parentClass;
7549 }
7550 
7551 struct GtkMenuItemAccessiblePrivate;
7552 
7553 struct GtkMenuItemClass
7554 {
7555 	/**
7556 	 * The parent class.
7557 	 */
7558 	GtkBinClass parentClass;
7559 	import std.bitmanip: bitfields;
7560 	mixin(bitfields!(
7561 		uint, "hideOnActivate", 1,
7562 		uint, "", 31
7563 	));
7564 	/** */
7565 	extern(C) void function(GtkMenuItem* menuItem) activate;
7566 	/** */
7567 	extern(C) void function(GtkMenuItem* menuItem) activateItem;
7568 	/** */
7569 	extern(C) void function(GtkMenuItem* menuItem, int* requisition) toggleSizeRequest;
7570 	/** */
7571 	extern(C) void function(GtkMenuItem* menuItem, int allocation) toggleSizeAllocate;
7572 	/** */
7573 	extern(C) void function(GtkMenuItem* menuItem, const(char)* label) setLabel;
7574 	/**
7575 	 *
7576 	 * Params:
7577 	 *     menuItem = a #GtkMenuItem
7578 	 * Returns: The text in the @menu_item label. This is the internal
7579 	 *     string used by the label, and must not be modified.
7580 	 */
7581 	extern(C) const(char)* function(GtkMenuItem* menuItem) getLabel;
7582 	/** */
7583 	extern(C) void function(GtkMenuItem* menuItem) select;
7584 	/** */
7585 	extern(C) void function(GtkMenuItem* menuItem) deselect;
7586 	/** */
7587 	extern(C) void function() GtkReserved1;
7588 	/** */
7589 	extern(C) void function() GtkReserved2;
7590 	/** */
7591 	extern(C) void function() GtkReserved3;
7592 	/** */
7593 	extern(C) void function() GtkReserved4;
7594 }
7595 
7596 struct GtkMenuItemPrivate;
7597 
7598 struct GtkMenuPrivate;
7599 
7600 struct GtkMenuShell
7601 {
7602 	GtkContainer container;
7603 	GtkMenuShellPrivate* priv;
7604 }
7605 
7606 struct GtkMenuShellAccessible
7607 {
7608 	GtkContainerAccessible parent;
7609 	GtkMenuShellAccessiblePrivate* priv;
7610 }
7611 
7612 struct GtkMenuShellAccessibleClass
7613 {
7614 	GtkContainerAccessibleClass parentClass;
7615 }
7616 
7617 struct GtkMenuShellAccessiblePrivate;
7618 
7619 struct GtkMenuShellClass
7620 {
7621 	GtkContainerClass parentClass;
7622 	import std.bitmanip: bitfields;
7623 	mixin(bitfields!(
7624 		uint, "submenuPlacement", 1,
7625 		uint, "", 31
7626 	));
7627 	/** */
7628 	extern(C) void function(GtkMenuShell* menuShell) deactivate;
7629 	/** */
7630 	extern(C) void function(GtkMenuShell* menuShell) selectionDone;
7631 	/** */
7632 	extern(C) void function(GtkMenuShell* menuShell, GtkMenuDirectionType direction) moveCurrent;
7633 	/** */
7634 	extern(C) void function(GtkMenuShell* menuShell, int forceHide) activateCurrent;
7635 	/** */
7636 	extern(C) void function(GtkMenuShell* menuShell) cancel;
7637 	/** */
7638 	extern(C) void function(GtkMenuShell* menuShell, GtkWidget* menuItem) selectItem;
7639 	/** */
7640 	extern(C) void function(GtkMenuShell* menuShell, GtkWidget* child, int position) insert;
7641 	/** */
7642 	extern(C) int function(GtkMenuShell* menuShell) getPopupDelay;
7643 	/** */
7644 	extern(C) int function(GtkMenuShell* menuShell, int distance) moveSelected;
7645 	/** */
7646 	extern(C) void function() GtkReserved1;
7647 	/** */
7648 	extern(C) void function() GtkReserved2;
7649 	/** */
7650 	extern(C) void function() GtkReserved3;
7651 	/** */
7652 	extern(C) void function() GtkReserved4;
7653 }
7654 
7655 struct GtkMenuShellPrivate;
7656 
7657 struct GtkMenuToolButton
7658 {
7659 	GtkToolButton parent;
7660 	GtkMenuToolButtonPrivate* priv;
7661 }
7662 
7663 struct GtkMenuToolButtonClass
7664 {
7665 	/**
7666 	 * The parent class.
7667 	 */
7668 	GtkToolButtonClass parentClass;
7669 	/** */
7670 	extern(C) void function(GtkMenuToolButton* button) showMenu;
7671 	/** */
7672 	extern(C) void function() GtkReserved1;
7673 	/** */
7674 	extern(C) void function() GtkReserved2;
7675 	/** */
7676 	extern(C) void function() GtkReserved3;
7677 	/** */
7678 	extern(C) void function() GtkReserved4;
7679 }
7680 
7681 struct GtkMenuToolButtonPrivate;
7682 
7683 struct GtkMessageDialog
7684 {
7685 	GtkDialog parentInstance;
7686 	GtkMessageDialogPrivate* priv;
7687 }
7688 
7689 struct GtkMessageDialogClass
7690 {
7691 	GtkDialogClass parentClass;
7692 	/** */
7693 	extern(C) void function() GtkReserved1;
7694 	/** */
7695 	extern(C) void function() GtkReserved2;
7696 	/** */
7697 	extern(C) void function() GtkReserved3;
7698 	/** */
7699 	extern(C) void function() GtkReserved4;
7700 }
7701 
7702 struct GtkMessageDialogPrivate;
7703 
7704 struct GtkMisc
7705 {
7706 	GtkWidget widget;
7707 	GtkMiscPrivate* priv;
7708 }
7709 
7710 struct GtkMiscClass
7711 {
7712 	GtkWidgetClass parentClass;
7713 	/** */
7714 	extern(C) void function() GtkReserved1;
7715 	/** */
7716 	extern(C) void function() GtkReserved2;
7717 	/** */
7718 	extern(C) void function() GtkReserved3;
7719 	/** */
7720 	extern(C) void function() GtkReserved4;
7721 }
7722 
7723 struct GtkMiscPrivate;
7724 
7725 struct GtkModelButton;
7726 
7727 struct GtkMountOperation
7728 {
7729 	GMountOperation parentInstance;
7730 	GtkMountOperationPrivate* priv;
7731 }
7732 
7733 struct GtkMountOperationClass
7734 {
7735 	/**
7736 	 * The parent class.
7737 	 */
7738 	GMountOperationClass parentClass;
7739 	/** */
7740 	extern(C) void function() GtkReserved1;
7741 	/** */
7742 	extern(C) void function() GtkReserved2;
7743 	/** */
7744 	extern(C) void function() GtkReserved3;
7745 	/** */
7746 	extern(C) void function() GtkReserved4;
7747 }
7748 
7749 struct GtkMountOperationPrivate;
7750 
7751 struct GtkNativeDialog
7752 {
7753 	GObject parentInstance;
7754 }
7755 
7756 struct GtkNativeDialogClass
7757 {
7758 	GObjectClass parentClass;
7759 	/** */
7760 	extern(C) void function(GtkNativeDialog* self, int responseId) response;
7761 	/** */
7762 	extern(C) void function(GtkNativeDialog* self) show;
7763 	/** */
7764 	extern(C) void function(GtkNativeDialog* self) hide;
7765 	/** */
7766 	extern(C) void function() GtkReserved1;
7767 	/** */
7768 	extern(C) void function() GtkReserved2;
7769 	/** */
7770 	extern(C) void function() GtkReserved3;
7771 	/** */
7772 	extern(C) void function() GtkReserved4;
7773 }
7774 
7775 struct GtkNotebook
7776 {
7777 	GtkContainer container;
7778 	GtkNotebookPrivate* priv;
7779 }
7780 
7781 struct GtkNotebookAccessible
7782 {
7783 	GtkContainerAccessible parent;
7784 	GtkNotebookAccessiblePrivate* priv;
7785 }
7786 
7787 struct GtkNotebookAccessibleClass
7788 {
7789 	GtkContainerAccessibleClass parentClass;
7790 }
7791 
7792 struct GtkNotebookAccessiblePrivate;
7793 
7794 struct GtkNotebookClass
7795 {
7796 	GtkContainerClass parentClass;
7797 	/** */
7798 	extern(C) void function(GtkNotebook* notebook, GtkWidget* page, uint pageNum) switchPage;
7799 	/** */
7800 	extern(C) int function(GtkNotebook* notebook, int moveFocus) selectPage;
7801 	/** */
7802 	extern(C) int function(GtkNotebook* notebook, GtkNotebookTab type) focusTab;
7803 	/** */
7804 	extern(C) int function(GtkNotebook* notebook, int offset) changeCurrentPage;
7805 	/** */
7806 	extern(C) void function(GtkNotebook* notebook, GtkDirectionType direction) moveFocusOut;
7807 	/** */
7808 	extern(C) int function(GtkNotebook* notebook, GtkDirectionType direction, int moveToLast) reorderTab;
7809 	/** */
7810 	extern(C) int function(GtkNotebook* notebook, GtkWidget* child, GtkWidget* tabLabel, GtkWidget* menuLabel, int position) insertPage;
7811 	/** */
7812 	extern(C) GtkNotebook* function(GtkNotebook* notebook, GtkWidget* page, int x, int y) createWindow;
7813 	/** */
7814 	extern(C) void function(GtkNotebook* notebook, GtkWidget* child, uint pageNum) pageReordered;
7815 	/** */
7816 	extern(C) void function(GtkNotebook* notebook, GtkWidget* child, uint pageNum) pageRemoved;
7817 	/** */
7818 	extern(C) void function(GtkNotebook* notebook, GtkWidget* child, uint pageNum) pageAdded;
7819 	/** */
7820 	extern(C) void function() GtkReserved1;
7821 	/** */
7822 	extern(C) void function() GtkReserved2;
7823 	/** */
7824 	extern(C) void function() GtkReserved3;
7825 	/** */
7826 	extern(C) void function() GtkReserved4;
7827 	/** */
7828 	extern(C) void function() GtkReserved5;
7829 	/** */
7830 	extern(C) void function() GtkReserved6;
7831 	/** */
7832 	extern(C) void function() GtkReserved7;
7833 	/** */
7834 	extern(C) void function() GtkReserved8;
7835 }
7836 
7837 struct GtkNotebookPageAccessible
7838 {
7839 	AtkObject parent;
7840 	GtkNotebookPageAccessiblePrivate* priv;
7841 }
7842 
7843 struct GtkNotebookPageAccessibleClass
7844 {
7845 	AtkObjectClass parentClass;
7846 }
7847 
7848 struct GtkNotebookPageAccessiblePrivate;
7849 
7850 struct GtkNotebookPrivate;
7851 
7852 struct GtkNumerableIcon
7853 {
7854 	GEmblemedIcon parent;
7855 	GtkNumerableIconPrivate* priv;
7856 }
7857 
7858 struct GtkNumerableIconClass
7859 {
7860 	GEmblemedIconClass parentClass;
7861 	void*[16] padding;
7862 }
7863 
7864 struct GtkNumerableIconPrivate;
7865 
7866 struct GtkOffscreenWindow
7867 {
7868 	GtkWindow parentObject;
7869 }
7870 
7871 struct GtkOffscreenWindowClass
7872 {
7873 	/**
7874 	 * The parent class.
7875 	 */
7876 	GtkWindowClass parentClass;
7877 	/** */
7878 	extern(C) void function() GtkReserved1;
7879 	/** */
7880 	extern(C) void function() GtkReserved2;
7881 	/** */
7882 	extern(C) void function() GtkReserved3;
7883 	/** */
7884 	extern(C) void function() GtkReserved4;
7885 }
7886 
7887 struct GtkOrientable;
7888 
7889 struct GtkOrientableIface
7890 {
7891 	GTypeInterface baseIface;
7892 }
7893 
7894 struct GtkOverlay
7895 {
7896 	GtkBin parent;
7897 	GtkOverlayPrivate* priv;
7898 }
7899 
7900 struct GtkOverlayClass
7901 {
7902 	/**
7903 	 * The parent class.
7904 	 */
7905 	GtkBinClass parentClass;
7906 	/** */
7907 	extern(C) int function(GtkOverlay* overlay, GtkWidget* widget, GtkAllocation* allocation) getChildPosition;
7908 	/** */
7909 	extern(C) void function() GtkReserved1;
7910 	/** */
7911 	extern(C) void function() GtkReserved2;
7912 	/** */
7913 	extern(C) void function() GtkReserved3;
7914 	/** */
7915 	extern(C) void function() GtkReserved4;
7916 	/** */
7917 	extern(C) void function() GtkReserved5;
7918 	/** */
7919 	extern(C) void function() GtkReserved6;
7920 	/** */
7921 	extern(C) void function() GtkReserved7;
7922 	/** */
7923 	extern(C) void function() GtkReserved8;
7924 }
7925 
7926 struct GtkOverlayPrivate;
7927 
7928 /**
7929  * Struct defining a pad action entry.
7930  */
7931 struct GtkPadActionEntry
7932 {
7933 	/**
7934 	 * the type of pad feature that will trigger this action entry.
7935 	 */
7936 	GtkPadActionType type;
7937 	/**
7938 	 * the 0-indexed button/ring/strip number that will trigger this action
7939 	 * entry.
7940 	 */
7941 	int index;
7942 	/**
7943 	 * the mode that will trigger this action entry, or -1 for all modes.
7944 	 */
7945 	int mode;
7946 	/**
7947 	 * Human readable description of this action entry, this string should
7948 	 * be deemed user-visible.
7949 	 */
7950 	char* label;
7951 	/**
7952 	 * action name that will be activated in the #GActionGroup.
7953 	 */
7954 	char* actionName;
7955 }
7956 
7957 struct GtkPadController;
7958 
7959 struct GtkPadControllerClass;
7960 
7961 /**
7962  * See also gtk_print_settings_set_page_ranges().
7963  */
7964 struct GtkPageRange
7965 {
7966 	/**
7967 	 * start of page range.
7968 	 */
7969 	int start;
7970 	/**
7971 	 * end of page range.
7972 	 */
7973 	int end;
7974 }
7975 
7976 struct GtkPageSetup;
7977 
7978 struct GtkPaned
7979 {
7980 	GtkContainer container;
7981 	GtkPanedPrivate* priv;
7982 }
7983 
7984 struct GtkPanedAccessible
7985 {
7986 	GtkContainerAccessible parent;
7987 	GtkPanedAccessiblePrivate* priv;
7988 }
7989 
7990 struct GtkPanedAccessibleClass
7991 {
7992 	GtkContainerAccessibleClass parentClass;
7993 }
7994 
7995 struct GtkPanedAccessiblePrivate;
7996 
7997 struct GtkPanedClass
7998 {
7999 	GtkContainerClass parentClass;
8000 	/** */
8001 	extern(C) int function(GtkPaned* paned, int reverse) cycleChildFocus;
8002 	/** */
8003 	extern(C) int function(GtkPaned* paned) toggleHandleFocus;
8004 	/** */
8005 	extern(C) int function(GtkPaned* paned, GtkScrollType scroll) moveHandle;
8006 	/** */
8007 	extern(C) int function(GtkPaned* paned, int reverse) cycleHandleFocus;
8008 	/** */
8009 	extern(C) int function(GtkPaned* paned) acceptPosition;
8010 	/** */
8011 	extern(C) int function(GtkPaned* paned) cancelPosition;
8012 	/** */
8013 	extern(C) void function() GtkReserved1;
8014 	/** */
8015 	extern(C) void function() GtkReserved2;
8016 	/** */
8017 	extern(C) void function() GtkReserved3;
8018 	/** */
8019 	extern(C) void function() GtkReserved4;
8020 }
8021 
8022 struct GtkPanedPrivate;
8023 
8024 struct GtkPaperSize;
8025 
8026 struct GtkPlacesSidebar;
8027 
8028 struct GtkPlacesSidebarClass;
8029 
8030 struct GtkPlug
8031 {
8032 	GtkWindow window;
8033 	GtkPlugPrivate* priv;
8034 }
8035 
8036 struct GtkPlugClass
8037 {
8038 	GtkWindowClass parentClass;
8039 	/** */
8040 	extern(C) void function(GtkPlug* plug) embedded;
8041 	/** */
8042 	extern(C) void function() GtkReserved1;
8043 	/** */
8044 	extern(C) void function() GtkReserved2;
8045 	/** */
8046 	extern(C) void function() GtkReserved3;
8047 	/** */
8048 	extern(C) void function() GtkReserved4;
8049 }
8050 
8051 struct GtkPlugPrivate;
8052 
8053 struct GtkPopover
8054 {
8055 	GtkBin parentInstance;
8056 	GtkPopoverPrivate* priv;
8057 }
8058 
8059 struct GtkPopoverAccessible
8060 {
8061 	GtkContainerAccessible parent;
8062 }
8063 
8064 struct GtkPopoverAccessibleClass
8065 {
8066 	GtkContainerAccessibleClass parentClass;
8067 }
8068 
8069 struct GtkPopoverClass
8070 {
8071 	GtkBinClass parentClass;
8072 	/** */
8073 	extern(C) void function(GtkPopover* popover) closed;
8074 	void*[10] reserved;
8075 }
8076 
8077 struct GtkPopoverMenu;
8078 
8079 struct GtkPopoverMenuClass
8080 {
8081 	GtkPopoverClass parentClass;
8082 	void*[10] reserved;
8083 }
8084 
8085 struct GtkPopoverPrivate;
8086 
8087 struct GtkPrintContext;
8088 
8089 struct GtkPrintOperation
8090 {
8091 	GObject parentInstance;
8092 	GtkPrintOperationPrivate* priv;
8093 }
8094 
8095 struct GtkPrintOperationClass
8096 {
8097 	/**
8098 	 * The parent class.
8099 	 */
8100 	GObjectClass parentClass;
8101 	/** */
8102 	extern(C) void function(GtkPrintOperation* operation, GtkPrintOperationResult result) done;
8103 	/** */
8104 	extern(C) void function(GtkPrintOperation* operation, GtkPrintContext* context) beginPrint;
8105 	/** */
8106 	extern(C) int function(GtkPrintOperation* operation, GtkPrintContext* context) paginate;
8107 	/** */
8108 	extern(C) void function(GtkPrintOperation* operation, GtkPrintContext* context, int pageNr, GtkPageSetup* setup) requestPageSetup;
8109 	/** */
8110 	extern(C) void function(GtkPrintOperation* operation, GtkPrintContext* context, int pageNr) drawPage;
8111 	/** */
8112 	extern(C) void function(GtkPrintOperation* operation, GtkPrintContext* context) endPrint;
8113 	/** */
8114 	extern(C) void function(GtkPrintOperation* operation) statusChanged;
8115 	/** */
8116 	extern(C) GtkWidget* function(GtkPrintOperation* operation) createCustomWidget;
8117 	/** */
8118 	extern(C) void function(GtkPrintOperation* operation, GtkWidget* widget) customWidgetApply;
8119 	/** */
8120 	extern(C) int function(GtkPrintOperation* operation, GtkPrintOperationPreview* preview, GtkPrintContext* context, GtkWindow* parent) preview;
8121 	/** */
8122 	extern(C) void function(GtkPrintOperation* operation, GtkWidget* widget, GtkPageSetup* setup, GtkPrintSettings* settings) updateCustomWidget;
8123 	/** */
8124 	extern(C) void function() GtkReserved1;
8125 	/** */
8126 	extern(C) void function() GtkReserved2;
8127 	/** */
8128 	extern(C) void function() GtkReserved3;
8129 	/** */
8130 	extern(C) void function() GtkReserved4;
8131 	/** */
8132 	extern(C) void function() GtkReserved5;
8133 	/** */
8134 	extern(C) void function() GtkReserved6;
8135 	/** */
8136 	extern(C) void function() GtkReserved7;
8137 	/** */
8138 	extern(C) void function() GtkReserved8;
8139 }
8140 
8141 struct GtkPrintOperationPreview;
8142 
8143 struct GtkPrintOperationPreviewIface
8144 {
8145 	GTypeInterface gIface;
8146 	/** */
8147 	extern(C) void function(GtkPrintOperationPreview* preview, GtkPrintContext* context) ready;
8148 	/** */
8149 	extern(C) void function(GtkPrintOperationPreview* preview, GtkPrintContext* context, GtkPageSetup* pageSetup) gotPageSize;
8150 	/** */
8151 	extern(C) void function(GtkPrintOperationPreview* preview, int pageNr) renderPage;
8152 	/**
8153 	 *
8154 	 * Params:
8155 	 *     preview = a #GtkPrintOperationPreview
8156 	 *     pageNr = a page number
8157 	 * Returns: %TRUE if the page has been selected for printing
8158 	 */
8159 	extern(C) int function(GtkPrintOperationPreview* preview, int pageNr) isSelected;
8160 	/** */
8161 	extern(C) void function(GtkPrintOperationPreview* preview) endPreview;
8162 	/** */
8163 	extern(C) void function() GtkReserved1;
8164 	/** */
8165 	extern(C) void function() GtkReserved2;
8166 	/** */
8167 	extern(C) void function() GtkReserved3;
8168 	/** */
8169 	extern(C) void function() GtkReserved4;
8170 	/** */
8171 	extern(C) void function() GtkReserved5;
8172 	/** */
8173 	extern(C) void function() GtkReserved6;
8174 	/** */
8175 	extern(C) void function() GtkReserved7;
8176 	/** */
8177 	extern(C) void function() GtkReserved8;
8178 }
8179 
8180 struct GtkPrintOperationPrivate;
8181 
8182 struct GtkPrintSettings;
8183 
8184 struct GtkProgressBar
8185 {
8186 	GtkWidget parent;
8187 	GtkProgressBarPrivate* priv;
8188 }
8189 
8190 struct GtkProgressBarAccessible
8191 {
8192 	GtkWidgetAccessible parent;
8193 	GtkProgressBarAccessiblePrivate* priv;
8194 }
8195 
8196 struct GtkProgressBarAccessibleClass
8197 {
8198 	GtkWidgetAccessibleClass parentClass;
8199 }
8200 
8201 struct GtkProgressBarAccessiblePrivate;
8202 
8203 struct GtkProgressBarClass
8204 {
8205 	GtkWidgetClass parentClass;
8206 	/** */
8207 	extern(C) void function() GtkReserved1;
8208 	/** */
8209 	extern(C) void function() GtkReserved2;
8210 	/** */
8211 	extern(C) void function() GtkReserved3;
8212 	/** */
8213 	extern(C) void function() GtkReserved4;
8214 }
8215 
8216 struct GtkProgressBarPrivate;
8217 
8218 struct GtkRadioAction
8219 {
8220 	GtkToggleAction parent;
8221 	GtkRadioActionPrivate* privateData;
8222 }
8223 
8224 struct GtkRadioActionClass
8225 {
8226 	GtkToggleActionClass parentClass;
8227 	/** */
8228 	extern(C) void function(GtkRadioAction* action, GtkRadioAction* current) changed;
8229 	/** */
8230 	extern(C) void function() GtkReserved1;
8231 	/** */
8232 	extern(C) void function() GtkReserved2;
8233 	/** */
8234 	extern(C) void function() GtkReserved3;
8235 	/** */
8236 	extern(C) void function() GtkReserved4;
8237 }
8238 
8239 /**
8240  * #GtkRadioActionEntry structs are used with
8241  * gtk_action_group_add_radio_actions() to construct groups of radio actions.
8242  */
8243 struct GtkRadioActionEntry
8244 {
8245 	/**
8246 	 * The name of the action.
8247 	 */
8248 	const(char)* name;
8249 	/**
8250 	 * The stock id for the action, or the name of an icon from the
8251 	 * icon theme.
8252 	 */
8253 	const(char)* stockId;
8254 	/**
8255 	 * The label for the action. This field should typically be marked
8256 	 * for translation, see gtk_action_group_set_translation_domain().
8257 	 */
8258 	const(char)* label;
8259 	/**
8260 	 * The accelerator for the action, in the format understood by
8261 	 * gtk_accelerator_parse().
8262 	 */
8263 	const(char)* accelerator;
8264 	/**
8265 	 * The tooltip for the action. This field should typically be
8266 	 * marked for translation, see gtk_action_group_set_translation_domain().
8267 	 */
8268 	const(char)* tooltip;
8269 	/**
8270 	 * The value to set on the radio action. See
8271 	 * gtk_radio_action_get_current_value().
8272 	 */
8273 	int value;
8274 }
8275 
8276 struct GtkRadioActionPrivate;
8277 
8278 struct GtkRadioButton
8279 {
8280 	GtkCheckButton checkButton;
8281 	GtkRadioButtonPrivate* priv;
8282 }
8283 
8284 struct GtkRadioButtonAccessible
8285 {
8286 	GtkToggleButtonAccessible parent;
8287 	GtkRadioButtonAccessiblePrivate* priv;
8288 }
8289 
8290 struct GtkRadioButtonAccessibleClass
8291 {
8292 	GtkToggleButtonAccessibleClass parentClass;
8293 }
8294 
8295 struct GtkRadioButtonAccessiblePrivate;
8296 
8297 struct GtkRadioButtonClass
8298 {
8299 	GtkCheckButtonClass parentClass;
8300 	/** */
8301 	extern(C) void function(GtkRadioButton* radioButton) groupChanged;
8302 	/** */
8303 	extern(C) void function() GtkReserved1;
8304 	/** */
8305 	extern(C) void function() GtkReserved2;
8306 	/** */
8307 	extern(C) void function() GtkReserved3;
8308 	/** */
8309 	extern(C) void function() GtkReserved4;
8310 }
8311 
8312 struct GtkRadioButtonPrivate;
8313 
8314 struct GtkRadioMenuItem
8315 {
8316 	GtkCheckMenuItem checkMenuItem;
8317 	GtkRadioMenuItemPrivate* priv;
8318 }
8319 
8320 struct GtkRadioMenuItemAccessible
8321 {
8322 	GtkCheckMenuItemAccessible parent;
8323 	GtkRadioMenuItemAccessiblePrivate* priv;
8324 }
8325 
8326 struct GtkRadioMenuItemAccessibleClass
8327 {
8328 	GtkCheckMenuItemAccessibleClass parentClass;
8329 }
8330 
8331 struct GtkRadioMenuItemAccessiblePrivate;
8332 
8333 struct GtkRadioMenuItemClass
8334 {
8335 	GtkCheckMenuItemClass parentClass;
8336 	/** */
8337 	extern(C) void function(GtkRadioMenuItem* radioMenuItem) groupChanged;
8338 	/** */
8339 	extern(C) void function() GtkReserved1;
8340 	/** */
8341 	extern(C) void function() GtkReserved2;
8342 	/** */
8343 	extern(C) void function() GtkReserved3;
8344 	/** */
8345 	extern(C) void function() GtkReserved4;
8346 }
8347 
8348 struct GtkRadioMenuItemPrivate;
8349 
8350 struct GtkRadioToolButton
8351 {
8352 	GtkToggleToolButton parent;
8353 }
8354 
8355 struct GtkRadioToolButtonClass
8356 {
8357 	GtkToggleToolButtonClass parentClass;
8358 	/** */
8359 	extern(C) void function() GtkReserved1;
8360 	/** */
8361 	extern(C) void function() GtkReserved2;
8362 	/** */
8363 	extern(C) void function() GtkReserved3;
8364 	/** */
8365 	extern(C) void function() GtkReserved4;
8366 }
8367 
8368 struct GtkRange
8369 {
8370 	GtkWidget widget;
8371 	GtkRangePrivate* priv;
8372 }
8373 
8374 struct GtkRangeAccessible
8375 {
8376 	GtkWidgetAccessible parent;
8377 	GtkRangeAccessiblePrivate* priv;
8378 }
8379 
8380 struct GtkRangeAccessibleClass
8381 {
8382 	GtkWidgetAccessibleClass parentClass;
8383 }
8384 
8385 struct GtkRangeAccessiblePrivate;
8386 
8387 struct GtkRangeClass
8388 {
8389 	GtkWidgetClass parentClass;
8390 	char* sliderDetail;
8391 	char* stepperDetail;
8392 	/** */
8393 	extern(C) void function(GtkRange* range) valueChanged;
8394 	/** */
8395 	extern(C) void function(GtkRange* range, double newValue) adjustBounds;
8396 	/** */
8397 	extern(C) void function(GtkRange* range, GtkScrollType scroll) moveSlider;
8398 	/** */
8399 	extern(C) void function(GtkRange* range, GtkBorder* border) getRangeBorder;
8400 	/** */
8401 	extern(C) int function(GtkRange* range, GtkScrollType scroll, double newValue) changeValue;
8402 	/** */
8403 	extern(C) void function(GtkRange* range, GtkOrientation orientation, int* minimum, int* natural) getRangeSizeRequest;
8404 	/** */
8405 	extern(C) void function() GtkReserved1;
8406 	/** */
8407 	extern(C) void function() GtkReserved2;
8408 	/** */
8409 	extern(C) void function() GtkReserved3;
8410 }
8411 
8412 struct GtkRangePrivate;
8413 
8414 struct GtkRcContext;
8415 
8416 /**
8417  * Deprecated
8418  */
8419 struct GtkRcProperty
8420 {
8421 	/**
8422 	 * quark-ified type identifier
8423 	 */
8424 	GQuark typeName;
8425 	/**
8426 	 * quark-ified property identifier like
8427 	 * “GtkScrollbar::spacing”
8428 	 */
8429 	GQuark propertyName;
8430 	/**
8431 	 * field similar to one found in #GtkSettingsValue
8432 	 */
8433 	char* origin;
8434 	/**
8435 	 * field similar to one found in #GtkSettingsValue
8436 	 */
8437 	GValue value;
8438 }
8439 
8440 struct GtkRcStyle
8441 {
8442 	GObject parentInstance;
8443 	/**
8444 	 * Name
8445 	 */
8446 	char* name;
8447 	/**
8448 	 * Pixmap name
8449 	 */
8450 	char*[5] bgPixmapName;
8451 	/**
8452 	 * A #PangoFontDescription
8453 	 */
8454 	PangoFontDescription* fontDesc;
8455 	/**
8456 	 * #GtkRcFlags
8457 	 */
8458 	GtkRcFlags[5] colorFlags;
8459 	/**
8460 	 * Foreground colors
8461 	 */
8462 	GdkColor[5] fg;
8463 	/**
8464 	 * Background colors
8465 	 */
8466 	GdkColor[5] bg;
8467 	/**
8468 	 * Text colors
8469 	 */
8470 	GdkColor[5] text;
8471 	/**
8472 	 * Base colors
8473 	 */
8474 	GdkColor[5] base;
8475 	/**
8476 	 * X thickness
8477 	 */
8478 	int xthickness;
8479 	/**
8480 	 * Y thickness
8481 	 */
8482 	int ythickness;
8483 	GArray* rcProperties;
8484 	GSList* rcStyleLists;
8485 	GSList* iconFactories;
8486 	import std.bitmanip: bitfields;
8487 	mixin(bitfields!(
8488 		uint, "engineSpecified", 1,
8489 		uint, "", 31
8490 	));
8491 }
8492 
8493 struct GtkRcStyleClass
8494 {
8495 	/**
8496 	 * The parent class.
8497 	 */
8498 	GObjectClass parentClass;
8499 	/** */
8500 	extern(C) GtkRcStyle* function(GtkRcStyle* rcStyle) createRcStyle;
8501 	/** */
8502 	extern(C) uint function(GtkRcStyle* rcStyle, GtkSettings* settings, GScanner* scanner) parse;
8503 	/** */
8504 	extern(C) void function(GtkRcStyle* dest, GtkRcStyle* src) merge;
8505 	/** */
8506 	extern(C) GtkStyle* function(GtkRcStyle* rcStyle) createStyle;
8507 	/** */
8508 	extern(C) void function() GtkReserved1;
8509 	/** */
8510 	extern(C) void function() GtkReserved2;
8511 	/** */
8512 	extern(C) void function() GtkReserved3;
8513 	/** */
8514 	extern(C) void function() GtkReserved4;
8515 }
8516 
8517 struct GtkRecentAction
8518 {
8519 	GtkAction parentInstance;
8520 	GtkRecentActionPrivate* priv;
8521 }
8522 
8523 struct GtkRecentActionClass
8524 {
8525 	GtkActionClass parentClass;
8526 	/** */
8527 	extern(C) void function() GtkReserved1;
8528 	/** */
8529 	extern(C) void function() GtkReserved2;
8530 	/** */
8531 	extern(C) void function() GtkReserved3;
8532 	/** */
8533 	extern(C) void function() GtkReserved4;
8534 }
8535 
8536 struct GtkRecentActionPrivate;
8537 
8538 struct GtkRecentChooser;
8539 
8540 struct GtkRecentChooserDialog
8541 {
8542 	GtkDialog parentInstance;
8543 	GtkRecentChooserDialogPrivate* priv;
8544 }
8545 
8546 struct GtkRecentChooserDialogClass
8547 {
8548 	GtkDialogClass parentClass;
8549 	/** */
8550 	extern(C) void function() GtkReserved1;
8551 	/** */
8552 	extern(C) void function() GtkReserved2;
8553 	/** */
8554 	extern(C) void function() GtkReserved3;
8555 	/** */
8556 	extern(C) void function() GtkReserved4;
8557 }
8558 
8559 struct GtkRecentChooserDialogPrivate;
8560 
8561 struct GtkRecentChooserIface
8562 {
8563 	GTypeInterface baseIface;
8564 	/**
8565 	 *
8566 	 * Params:
8567 	 *     chooser = a #GtkRecentChooser
8568 	 *     uri = a URI
8569 	 * Returns: %TRUE if the URI was found.
8570 	 *
8571 	 * Throws: GException on failure.
8572 	 */
8573 	extern(C) int function(GtkRecentChooser* chooser, const(char)* uri, GError** err) setCurrentUri;
8574 	/**
8575 	 *
8576 	 * Params:
8577 	 *     chooser = a #GtkRecentChooser
8578 	 * Returns: a newly allocated string holding a URI.
8579 	 */
8580 	extern(C) char* function(GtkRecentChooser* chooser) getCurrentUri;
8581 	/**
8582 	 *
8583 	 * Params:
8584 	 *     chooser = a #GtkRecentChooser
8585 	 *     uri = a URI
8586 	 * Returns: %TRUE if @uri was found.
8587 	 *
8588 	 * Throws: GException on failure.
8589 	 */
8590 	extern(C) int function(GtkRecentChooser* chooser, const(char)* uri, GError** err) selectUri;
8591 	/** */
8592 	extern(C) void function(GtkRecentChooser* chooser, const(char)* uri) unselectUri;
8593 	/** */
8594 	extern(C) void function(GtkRecentChooser* chooser) selectAll;
8595 	/** */
8596 	extern(C) void function(GtkRecentChooser* chooser) unselectAll;
8597 	/**
8598 	 *
8599 	 * Params:
8600 	 *     chooser = a #GtkRecentChooser
8601 	 * Returns: A newly allocated
8602 	 *     list of #GtkRecentInfo objects.  You should
8603 	 *     use gtk_recent_info_unref() on every item of the list, and then free
8604 	 *     the list itself using g_list_free().
8605 	 */
8606 	extern(C) GList* function(GtkRecentChooser* chooser) getItems;
8607 	/** */
8608 	extern(C) GtkRecentManager* function(GtkRecentChooser* chooser) getRecentManager;
8609 	/** */
8610 	extern(C) void function(GtkRecentChooser* chooser, GtkRecentFilter* filter) addFilter;
8611 	/** */
8612 	extern(C) void function(GtkRecentChooser* chooser, GtkRecentFilter* filter) removeFilter;
8613 	/**
8614 	 *
8615 	 * Params:
8616 	 *     chooser = a #GtkRecentChooser
8617 	 * Returns: A singly linked list
8618 	 *     of #GtkRecentFilter objects.  You
8619 	 *     should just free the returned list using g_slist_free().
8620 	 */
8621 	extern(C) GSList* function(GtkRecentChooser* chooser) listFilters;
8622 	/** */
8623 	extern(C) void function(GtkRecentChooser* chooser, GtkRecentSortFunc sortFunc, void* sortData, GDestroyNotify dataDestroy) setSortFunc;
8624 	/** */
8625 	extern(C) void function(GtkRecentChooser* chooser) itemActivated;
8626 	/** */
8627 	extern(C) void function(GtkRecentChooser* chooser) selectionChanged;
8628 }
8629 
8630 struct GtkRecentChooserMenu
8631 {
8632 	GtkMenu parentInstance;
8633 	GtkRecentChooserMenuPrivate* priv;
8634 }
8635 
8636 struct GtkRecentChooserMenuClass
8637 {
8638 	GtkMenuClass parentClass;
8639 	/** */
8640 	extern(C) void function() gtkRecent1;
8641 	/** */
8642 	extern(C) void function() gtkRecent2;
8643 	/** */
8644 	extern(C) void function() gtkRecent3;
8645 	/** */
8646 	extern(C) void function() gtkRecent4;
8647 }
8648 
8649 struct GtkRecentChooserMenuPrivate;
8650 
8651 struct GtkRecentChooserWidget
8652 {
8653 	GtkBox parentInstance;
8654 	GtkRecentChooserWidgetPrivate* priv;
8655 }
8656 
8657 struct GtkRecentChooserWidgetClass
8658 {
8659 	GtkBoxClass parentClass;
8660 	/** */
8661 	extern(C) void function() GtkReserved1;
8662 	/** */
8663 	extern(C) void function() GtkReserved2;
8664 	/** */
8665 	extern(C) void function() GtkReserved3;
8666 	/** */
8667 	extern(C) void function() GtkReserved4;
8668 }
8669 
8670 struct GtkRecentChooserWidgetPrivate;
8671 
8672 /**
8673  * Meta-data to be passed to gtk_recent_manager_add_full() when
8674  * registering a recently used resource.
8675  */
8676 struct GtkRecentData
8677 {
8678 	/**
8679 	 * a UTF-8 encoded string, containing the name of the recently
8680 	 * used resource to be displayed, or %NULL;
8681 	 */
8682 	char* displayName;
8683 	/**
8684 	 * a UTF-8 encoded string, containing a short description of
8685 	 * the resource, or %NULL;
8686 	 */
8687 	char* description;
8688 	/**
8689 	 * the MIME type of the resource;
8690 	 */
8691 	char* mimeType;
8692 	/**
8693 	 * the name of the application that is registering this recently
8694 	 * used resource;
8695 	 */
8696 	char* appName;
8697 	/**
8698 	 * command line used to launch this resource; may contain the
8699 	 * “\%f” and “\%u” escape characters which will be expanded
8700 	 * to the resource file path and URI respectively when the command line
8701 	 * is retrieved;
8702 	 */
8703 	char* appExec;
8704 	/**
8705 	 * a vector of strings containing
8706 	 * groups names;
8707 	 */
8708 	char** groups;
8709 	/**
8710 	 * whether this resource should be displayed only by the
8711 	 * applications that have registered it or not.
8712 	 */
8713 	bool isPrivate;
8714 }
8715 
8716 struct GtkRecentFilter;
8717 
8718 /**
8719  * A GtkRecentFilterInfo struct is used
8720  * to pass information about the tested file to gtk_recent_filter_filter().
8721  */
8722 struct GtkRecentFilterInfo
8723 {
8724 	/**
8725 	 * #GtkRecentFilterFlags to indicate which fields are set.
8726 	 */
8727 	GtkRecentFilterFlags contains;
8728 	/**
8729 	 * The URI of the file being tested.
8730 	 */
8731 	const(char)* uri;
8732 	/**
8733 	 * The string that will be used to display
8734 	 * the file in the recent chooser.
8735 	 */
8736 	const(char)* displayName;
8737 	/**
8738 	 * MIME type of the file.
8739 	 */
8740 	const(char)* mimeType;
8741 	/**
8742 	 * The list of
8743 	 * applications that have registered the file.
8744 	 */
8745 	char** applications;
8746 	/**
8747 	 * The groups to which
8748 	 * the file belongs to.
8749 	 */
8750 	char** groups;
8751 	/**
8752 	 * The number of days elapsed since the file has been
8753 	 * registered.
8754 	 */
8755 	int age;
8756 }
8757 
8758 struct GtkRecentInfo;
8759 
8760 struct GtkRecentManager
8761 {
8762 	GObject parentInstance;
8763 	GtkRecentManagerPrivate* priv;
8764 }
8765 
8766 /**
8767  * #GtkRecentManagerClass contains only private data.
8768  *
8769  * Since: 2.10
8770  */
8771 struct GtkRecentManagerClass
8772 {
8773 	GObjectClass parentClass;
8774 	/** */
8775 	extern(C) void function(GtkRecentManager* manager) changed;
8776 	/** */
8777 	extern(C) void function() GtkRecent1;
8778 	/** */
8779 	extern(C) void function() GtkRecent2;
8780 	/** */
8781 	extern(C) void function() GtkRecent3;
8782 	/** */
8783 	extern(C) void function() GtkRecent4;
8784 }
8785 
8786 struct GtkRecentManagerPrivate;
8787 
8788 struct GtkRendererCellAccessible
8789 {
8790 	GtkCellAccessible parent;
8791 	GtkRendererCellAccessiblePrivate* priv;
8792 }
8793 
8794 struct GtkRendererCellAccessibleClass
8795 {
8796 	GtkCellAccessibleClass parentClass;
8797 }
8798 
8799 struct GtkRendererCellAccessiblePrivate;
8800 
8801 /**
8802  * Represents a request of a screen object in a given orientation. These
8803  * are primarily used in container implementations when allocating a natural
8804  * size for children calling. See gtk_distribute_natural_allocation().
8805  */
8806 struct GtkRequestedSize
8807 {
8808 	/**
8809 	 * A client pointer
8810 	 */
8811 	void* data;
8812 	/**
8813 	 * The minimum size needed for allocation in a given orientation
8814 	 */
8815 	int minimumSize;
8816 	/**
8817 	 * The natural size for allocation in a given orientation
8818 	 */
8819 	int naturalSize;
8820 }
8821 
8822 struct GtkRequisition
8823 {
8824 	/**
8825 	 * the widget’s desired width
8826 	 */
8827 	int width;
8828 	/**
8829 	 * the widget’s desired height
8830 	 */
8831 	int height;
8832 }
8833 
8834 struct GtkRevealer
8835 {
8836 	GtkBin parentInstance;
8837 }
8838 
8839 struct GtkRevealerClass
8840 {
8841 	/**
8842 	 * The parent class.
8843 	 */
8844 	GtkBinClass parentClass;
8845 }
8846 
8847 struct GtkScale
8848 {
8849 	GtkRange range;
8850 	GtkScalePrivate* priv;
8851 }
8852 
8853 struct GtkScaleAccessible
8854 {
8855 	GtkRangeAccessible parent;
8856 	GtkScaleAccessiblePrivate* priv;
8857 }
8858 
8859 struct GtkScaleAccessibleClass
8860 {
8861 	GtkRangeAccessibleClass parentClass;
8862 }
8863 
8864 struct GtkScaleAccessiblePrivate;
8865 
8866 struct GtkScaleButton
8867 {
8868 	GtkButton parent;
8869 	GtkScaleButtonPrivate* priv;
8870 }
8871 
8872 struct GtkScaleButtonAccessible
8873 {
8874 	GtkButtonAccessible parent;
8875 	GtkScaleButtonAccessiblePrivate* priv;
8876 }
8877 
8878 struct GtkScaleButtonAccessibleClass
8879 {
8880 	GtkButtonAccessibleClass parentClass;
8881 }
8882 
8883 struct GtkScaleButtonAccessiblePrivate;
8884 
8885 struct GtkScaleButtonClass
8886 {
8887 	GtkButtonClass parentClass;
8888 	/** */
8889 	extern(C) void function(GtkScaleButton* button, double value) valueChanged;
8890 	/** */
8891 	extern(C) void function() GtkReserved1;
8892 	/** */
8893 	extern(C) void function() GtkReserved2;
8894 	/** */
8895 	extern(C) void function() GtkReserved3;
8896 	/** */
8897 	extern(C) void function() GtkReserved4;
8898 }
8899 
8900 struct GtkScaleButtonPrivate;
8901 
8902 struct GtkScaleClass
8903 {
8904 	GtkRangeClass parentClass;
8905 	/** */
8906 	extern(C) char* function(GtkScale* scale, double value) formatValue;
8907 	/** */
8908 	extern(C) void function(GtkScale* scale) drawValue;
8909 	/** */
8910 	extern(C) void function(GtkScale* scale, int* x, int* y) getLayoutOffsets;
8911 	/** */
8912 	extern(C) void function() GtkReserved1;
8913 	/** */
8914 	extern(C) void function() GtkReserved2;
8915 	/** */
8916 	extern(C) void function() GtkReserved3;
8917 	/** */
8918 	extern(C) void function() GtkReserved4;
8919 }
8920 
8921 struct GtkScalePrivate;
8922 
8923 struct GtkScrollable;
8924 
8925 struct GtkScrollableInterface
8926 {
8927 	GTypeInterface baseIface;
8928 	/**
8929 	 *
8930 	 * Params:
8931 	 *     scrollable = a #GtkScrollable
8932 	 *     border = return location for the results
8933 	 * Returns: %TRUE if @border has been set
8934 	 */
8935 	extern(C) int function(GtkScrollable* scrollable, GtkBorder* border) getBorder;
8936 }
8937 
8938 struct GtkScrollbar
8939 {
8940 	GtkRange range;
8941 }
8942 
8943 struct GtkScrollbarClass
8944 {
8945 	GtkRangeClass parentClass;
8946 	/** */
8947 	extern(C) void function() GtkReserved1;
8948 	/** */
8949 	extern(C) void function() GtkReserved2;
8950 	/** */
8951 	extern(C) void function() GtkReserved3;
8952 	/** */
8953 	extern(C) void function() GtkReserved4;
8954 }
8955 
8956 struct GtkScrolledWindow
8957 {
8958 	GtkBin container;
8959 	GtkScrolledWindowPrivate* priv;
8960 }
8961 
8962 struct GtkScrolledWindowAccessible
8963 {
8964 	GtkContainerAccessible parent;
8965 	GtkScrolledWindowAccessiblePrivate* priv;
8966 }
8967 
8968 struct GtkScrolledWindowAccessibleClass
8969 {
8970 	GtkContainerAccessibleClass parentClass;
8971 }
8972 
8973 struct GtkScrolledWindowAccessiblePrivate;
8974 
8975 struct GtkScrolledWindowClass
8976 {
8977 	/**
8978 	 * The parent class.
8979 	 */
8980 	GtkBinClass parentClass;
8981 	int scrollbarSpacing;
8982 	/** */
8983 	extern(C) int function(GtkScrolledWindow* scrolledWindow, GtkScrollType scroll, int horizontal) scrollChild;
8984 	/** */
8985 	extern(C) void function(GtkScrolledWindow* scrolledWindow, GtkDirectionType direction) moveFocusOut;
8986 	/** */
8987 	extern(C) void function() GtkReserved1;
8988 	/** */
8989 	extern(C) void function() GtkReserved2;
8990 	/** */
8991 	extern(C) void function() GtkReserved3;
8992 	/** */
8993 	extern(C) void function() GtkReserved4;
8994 }
8995 
8996 struct GtkScrolledWindowPrivate;
8997 
8998 struct GtkSearchBar
8999 {
9000 	GtkBin parent;
9001 }
9002 
9003 struct GtkSearchBarClass
9004 {
9005 	/**
9006 	 * The parent class.
9007 	 */
9008 	GtkBinClass parentClass;
9009 	/** */
9010 	extern(C) void function() GtkReserved1;
9011 	/** */
9012 	extern(C) void function() GtkReserved2;
9013 	/** */
9014 	extern(C) void function() GtkReserved3;
9015 	/** */
9016 	extern(C) void function() GtkReserved4;
9017 }
9018 
9019 struct GtkSearchEntry
9020 {
9021 	GtkEntry parent;
9022 }
9023 
9024 struct GtkSearchEntryClass
9025 {
9026 	GtkEntryClass parentClass;
9027 	/** */
9028 	extern(C) void function(GtkSearchEntry* entry) searchChanged;
9029 	/** */
9030 	extern(C) void function(GtkSearchEntry* entry) nextMatch;
9031 	/** */
9032 	extern(C) void function(GtkSearchEntry* entry) previousMatch;
9033 	/** */
9034 	extern(C) void function(GtkSearchEntry* entry) stopSearch;
9035 }
9036 
9037 struct GtkSelectionData;
9038 
9039 struct GtkSeparator
9040 {
9041 	GtkWidget widget;
9042 	GtkSeparatorPrivate* priv;
9043 }
9044 
9045 struct GtkSeparatorClass
9046 {
9047 	GtkWidgetClass parentClass;
9048 	/** */
9049 	extern(C) void function() GtkReserved1;
9050 	/** */
9051 	extern(C) void function() GtkReserved2;
9052 	/** */
9053 	extern(C) void function() GtkReserved3;
9054 	/** */
9055 	extern(C) void function() GtkReserved4;
9056 }
9057 
9058 struct GtkSeparatorMenuItem
9059 {
9060 	GtkMenuItem menuItem;
9061 }
9062 
9063 struct GtkSeparatorMenuItemClass
9064 {
9065 	/**
9066 	 * The parent class.
9067 	 */
9068 	GtkMenuItemClass parentClass;
9069 	/** */
9070 	extern(C) void function() GtkReserved1;
9071 	/** */
9072 	extern(C) void function() GtkReserved2;
9073 	/** */
9074 	extern(C) void function() GtkReserved3;
9075 	/** */
9076 	extern(C) void function() GtkReserved4;
9077 }
9078 
9079 struct GtkSeparatorPrivate;
9080 
9081 struct GtkSeparatorToolItem
9082 {
9083 	GtkToolItem parent;
9084 	GtkSeparatorToolItemPrivate* priv;
9085 }
9086 
9087 struct GtkSeparatorToolItemClass
9088 {
9089 	/**
9090 	 * The parent class.
9091 	 */
9092 	GtkToolItemClass parentClass;
9093 	/** */
9094 	extern(C) void function() GtkReserved1;
9095 	/** */
9096 	extern(C) void function() GtkReserved2;
9097 	/** */
9098 	extern(C) void function() GtkReserved3;
9099 	/** */
9100 	extern(C) void function() GtkReserved4;
9101 }
9102 
9103 struct GtkSeparatorToolItemPrivate;
9104 
9105 struct GtkSettings
9106 {
9107 	GObject parentInstance;
9108 	GtkSettingsPrivate* priv;
9109 }
9110 
9111 struct GtkSettingsClass
9112 {
9113 	GObjectClass parentClass;
9114 	/** */
9115 	extern(C) void function() GtkReserved1;
9116 	/** */
9117 	extern(C) void function() GtkReserved2;
9118 	/** */
9119 	extern(C) void function() GtkReserved3;
9120 	/** */
9121 	extern(C) void function() GtkReserved4;
9122 }
9123 
9124 struct GtkSettingsPrivate;
9125 
9126 struct GtkSettingsValue
9127 {
9128 	/**
9129 	 * Origin should be something like “filename:linenumber” for
9130 	 * rc files, or e.g. “XProperty” for other sources.
9131 	 */
9132 	char* origin;
9133 	/**
9134 	 * Valid types are LONG, DOUBLE and STRING corresponding to
9135 	 * the token parsed, or a GSTRING holding an unparsed statement
9136 	 */
9137 	GValue value;
9138 }
9139 
9140 struct GtkShortcutLabel;
9141 
9142 struct GtkShortcutLabelClass;
9143 
9144 struct GtkShortcutsGroup;
9145 
9146 struct GtkShortcutsGroupClass;
9147 
9148 struct GtkShortcutsSection;
9149 
9150 struct GtkShortcutsSectionClass;
9151 
9152 struct GtkShortcutsShortcut;
9153 
9154 struct GtkShortcutsShortcutClass;
9155 
9156 struct GtkShortcutsWindow
9157 {
9158 	GtkWindow window;
9159 }
9160 
9161 struct GtkShortcutsWindowClass
9162 {
9163 	GtkWindowClass parentClass;
9164 	/** */
9165 	extern(C) void function(GtkShortcutsWindow* self) close;
9166 	/** */
9167 	extern(C) void function(GtkShortcutsWindow* self) search;
9168 }
9169 
9170 struct GtkSizeGroup
9171 {
9172 	GObject parentInstance;
9173 	GtkSizeGroupPrivate* priv;
9174 }
9175 
9176 struct GtkSizeGroupClass
9177 {
9178 	GObjectClass parentClass;
9179 	/** */
9180 	extern(C) void function() GtkReserved1;
9181 	/** */
9182 	extern(C) void function() GtkReserved2;
9183 	/** */
9184 	extern(C) void function() GtkReserved3;
9185 	/** */
9186 	extern(C) void function() GtkReserved4;
9187 }
9188 
9189 struct GtkSizeGroupPrivate;
9190 
9191 struct GtkSocket
9192 {
9193 	GtkContainer container;
9194 	GtkSocketPrivate* priv;
9195 }
9196 
9197 struct GtkSocketClass
9198 {
9199 	GtkContainerClass parentClass;
9200 	/** */
9201 	extern(C) void function(GtkSocket* socket) plugAdded;
9202 	/** */
9203 	extern(C) int function(GtkSocket* socket) plugRemoved;
9204 	/** */
9205 	extern(C) void function() GtkReserved1;
9206 	/** */
9207 	extern(C) void function() GtkReserved2;
9208 	/** */
9209 	extern(C) void function() GtkReserved3;
9210 	/** */
9211 	extern(C) void function() GtkReserved4;
9212 }
9213 
9214 struct GtkSocketPrivate;
9215 
9216 struct GtkSpinButton
9217 {
9218 	GtkEntry entry;
9219 	GtkSpinButtonPrivate* priv;
9220 }
9221 
9222 struct GtkSpinButtonAccessible
9223 {
9224 	GtkEntryAccessible parent;
9225 	GtkSpinButtonAccessiblePrivate* priv;
9226 }
9227 
9228 struct GtkSpinButtonAccessibleClass
9229 {
9230 	GtkEntryAccessibleClass parentClass;
9231 }
9232 
9233 struct GtkSpinButtonAccessiblePrivate;
9234 
9235 struct GtkSpinButtonClass
9236 {
9237 	GtkEntryClass parentClass;
9238 	/** */
9239 	extern(C) int function(GtkSpinButton* spinButton, double* newValue) input;
9240 	/** */
9241 	extern(C) int function(GtkSpinButton* spinButton) output;
9242 	/** */
9243 	extern(C) void function(GtkSpinButton* spinButton) valueChanged;
9244 	/** */
9245 	extern(C) void function(GtkSpinButton* spinButton, GtkScrollType scroll) changeValue;
9246 	/** */
9247 	extern(C) void function(GtkSpinButton* spinButton) wrapped;
9248 	/** */
9249 	extern(C) void function() GtkReserved1;
9250 	/** */
9251 	extern(C) void function() GtkReserved2;
9252 	/** */
9253 	extern(C) void function() GtkReserved3;
9254 	/** */
9255 	extern(C) void function() GtkReserved4;
9256 }
9257 
9258 struct GtkSpinButtonPrivate;
9259 
9260 struct GtkSpinner
9261 {
9262 	GtkWidget parent;
9263 	GtkSpinnerPrivate* priv;
9264 }
9265 
9266 struct GtkSpinnerAccessible
9267 {
9268 	GtkWidgetAccessible parent;
9269 	GtkSpinnerAccessiblePrivate* priv;
9270 }
9271 
9272 struct GtkSpinnerAccessibleClass
9273 {
9274 	GtkWidgetAccessibleClass parentClass;
9275 }
9276 
9277 struct GtkSpinnerAccessiblePrivate;
9278 
9279 struct GtkSpinnerClass
9280 {
9281 	GtkWidgetClass parentClass;
9282 	/** */
9283 	extern(C) void function() GtkReserved1;
9284 	/** */
9285 	extern(C) void function() GtkReserved2;
9286 	/** */
9287 	extern(C) void function() GtkReserved3;
9288 	/** */
9289 	extern(C) void function() GtkReserved4;
9290 }
9291 
9292 struct GtkSpinnerPrivate;
9293 
9294 struct GtkStack
9295 {
9296 	GtkContainer parentInstance;
9297 }
9298 
9299 struct GtkStackAccessible
9300 {
9301 	GtkContainerAccessible parent;
9302 }
9303 
9304 struct GtkStackAccessibleClass
9305 {
9306 	GtkContainerAccessibleClass parentClass;
9307 }
9308 
9309 struct GtkStackClass
9310 {
9311 	GtkContainerClass parentClass;
9312 }
9313 
9314 struct GtkStackSidebar
9315 {
9316 	GtkBin parent;
9317 }
9318 
9319 struct GtkStackSidebarClass
9320 {
9321 	GtkBinClass parentClass;
9322 	/** */
9323 	extern(C) void function() GtkReserved1;
9324 	/** */
9325 	extern(C) void function() GtkReserved2;
9326 	/** */
9327 	extern(C) void function() GtkReserved3;
9328 	/** */
9329 	extern(C) void function() GtkReserved4;
9330 }
9331 
9332 struct GtkStackSidebarPrivate;
9333 
9334 struct GtkStackSwitcher
9335 {
9336 	GtkBox widget;
9337 }
9338 
9339 struct GtkStackSwitcherClass
9340 {
9341 	GtkBoxClass parentClass;
9342 	/** */
9343 	extern(C) void function() GtkReserved1;
9344 	/** */
9345 	extern(C) void function() GtkReserved2;
9346 	/** */
9347 	extern(C) void function() GtkReserved3;
9348 	/** */
9349 	extern(C) void function() GtkReserved4;
9350 }
9351 
9352 struct GtkStatusIcon
9353 {
9354 	GObject parentInstance;
9355 	GtkStatusIconPrivate* priv;
9356 }
9357 
9358 struct GtkStatusIconClass
9359 {
9360 	GObjectClass parentClass;
9361 	/** */
9362 	extern(C) void function(GtkStatusIcon* statusIcon) activate;
9363 	/** */
9364 	extern(C) void function(GtkStatusIcon* statusIcon, uint button, uint activateTime) popupMenu;
9365 	/** */
9366 	extern(C) int function(GtkStatusIcon* statusIcon, int size) sizeChanged;
9367 	/** */
9368 	extern(C) int function(GtkStatusIcon* statusIcon, GdkEventButton* event) buttonPressEvent;
9369 	/** */
9370 	extern(C) int function(GtkStatusIcon* statusIcon, GdkEventButton* event) buttonReleaseEvent;
9371 	/** */
9372 	extern(C) int function(GtkStatusIcon* statusIcon, GdkEventScroll* event) scrollEvent;
9373 	/** */
9374 	extern(C) int function(GtkStatusIcon* statusIcon, int x, int y, int keyboardMode, GtkTooltip* tooltip) queryTooltip;
9375 	void* GtkReserved1;
9376 	void* GtkReserved2;
9377 	void* GtkReserved3;
9378 	void* GtkReserved4;
9379 }
9380 
9381 struct GtkStatusIconPrivate;
9382 
9383 struct GtkStatusbar
9384 {
9385 	GtkBox parentWidget;
9386 	GtkStatusbarPrivate* priv;
9387 }
9388 
9389 struct GtkStatusbarAccessible
9390 {
9391 	GtkContainerAccessible parent;
9392 	GtkStatusbarAccessiblePrivate* priv;
9393 }
9394 
9395 struct GtkStatusbarAccessibleClass
9396 {
9397 	GtkContainerAccessibleClass parentClass;
9398 }
9399 
9400 struct GtkStatusbarAccessiblePrivate;
9401 
9402 struct GtkStatusbarClass
9403 {
9404 	GtkBoxClass parentClass;
9405 	void* reserved;
9406 	/** */
9407 	extern(C) void function(GtkStatusbar* statusbar, uint contextId, const(char)* text) textPushed;
9408 	/** */
9409 	extern(C) void function(GtkStatusbar* statusbar, uint contextId, const(char)* text) textPopped;
9410 	/** */
9411 	extern(C) void function() GtkReserved1;
9412 	/** */
9413 	extern(C) void function() GtkReserved2;
9414 	/** */
9415 	extern(C) void function() GtkReserved3;
9416 	/** */
9417 	extern(C) void function() GtkReserved4;
9418 }
9419 
9420 struct GtkStatusbarPrivate;
9421 
9422 struct GtkStockItem
9423 {
9424 	/**
9425 	 * Identifier.
9426 	 */
9427 	char* stockId;
9428 	/**
9429 	 * User visible label.
9430 	 */
9431 	char* label;
9432 	/**
9433 	 * Modifier type for keyboard accelerator
9434 	 */
9435 	GdkModifierType modifier;
9436 	/**
9437 	 * Keyboard accelerator
9438 	 */
9439 	uint keyval;
9440 	/**
9441 	 * Translation domain of the menu or toolbar item
9442 	 */
9443 	char* translationDomain;
9444 }
9445 
9446 struct GtkStyle
9447 {
9448 	GObject parentInstance;
9449 	/**
9450 	 * Set of foreground #GdkColor
9451 	 */
9452 	GdkColor[5] fg;
9453 	/**
9454 	 * Set of background #GdkColor
9455 	 */
9456 	GdkColor[5] bg;
9457 	/**
9458 	 * Set of light #GdkColor
9459 	 */
9460 	GdkColor[5] light;
9461 	/**
9462 	 * Set of dark #GdkColor
9463 	 */
9464 	GdkColor[5] dark;
9465 	/**
9466 	 * Set of mid #GdkColor
9467 	 */
9468 	GdkColor[5] mid;
9469 	/**
9470 	 * Set of text #GdkColor
9471 	 */
9472 	GdkColor[5] text;
9473 	/**
9474 	 * Set of base #GdkColor
9475 	 */
9476 	GdkColor[5] base;
9477 	/**
9478 	 * Color halfway between text/base
9479 	 */
9480 	GdkColor[5] textAa;
9481 	/**
9482 	 * #GdkColor to use for black
9483 	 */
9484 	GdkColor black;
9485 	/**
9486 	 * #GdkColor to use for white
9487 	 */
9488 	GdkColor white;
9489 	/**
9490 	 * #PangoFontDescription
9491 	 */
9492 	PangoFontDescription* fontDesc;
9493 	/**
9494 	 * Thickness in X direction
9495 	 */
9496 	int xthickness;
9497 	/**
9498 	 * Thickness in Y direction
9499 	 */
9500 	int ythickness;
9501 	/**
9502 	 * Set of background #cairo_pattern_t
9503 	 */
9504 	cairo_pattern_t*[5] background;
9505 	int attachCount;
9506 	GdkVisual* visual;
9507 	PangoFontDescription* privateFontDesc;
9508 	GtkRcStyle* rcStyle;
9509 	GSList* styles;
9510 	GArray* propertyCache;
9511 	GSList* iconFactories;
9512 }
9513 
9514 struct GtkStyleClass
9515 {
9516 	/**
9517 	 * The parent class.
9518 	 */
9519 	GObjectClass parentClass;
9520 	/** */
9521 	extern(C) void function(GtkStyle* style) realize;
9522 	/** */
9523 	extern(C) void function(GtkStyle* style) unrealize;
9524 	/** */
9525 	extern(C) void function(GtkStyle* style, GtkStyle* src) copy;
9526 	/** */
9527 	extern(C) GtkStyle* function(GtkStyle* style) clone;
9528 	/** */
9529 	extern(C) void function(GtkStyle* style, GtkRcStyle* rcStyle) initFromRc;
9530 	/** */
9531 	extern(C) void function(GtkStyle* style, GdkWindow* window, GtkStateType stateType) setBackground;
9532 	/**
9533 	 *
9534 	 * Params:
9535 	 *     style = a #GtkStyle
9536 	 *     source = the #GtkIconSource specifying the icon to render
9537 	 *     direction = a text direction
9538 	 *     state = a state
9539 	 *     size = the size to render the icon at (#GtkIconSize). A size of
9540 	 *         `(GtkIconSize)-1` means render at the size of the source and
9541 	 *         don’t scale.
9542 	 *     widget = the widget
9543 	 *     detail = a style detail
9544 	 * Returns: a newly-created #GdkPixbuf
9545 	 *     containing the rendered icon
9546 	 */
9547 	extern(C) GdkPixbuf* function(GtkStyle* style, GtkIconSource* source, GtkTextDirection direction, GtkStateType state, GtkIconSize size, GtkWidget* widget, const(char)* detail) renderIcon;
9548 	/** */
9549 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkWidget* widget, const(char)* detail, int x1, int x2, int y) drawHline;
9550 	/** */
9551 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkWidget* widget, const(char)* detail, int y1, int y2, int x) drawVline;
9552 	/** */
9553 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height) drawShadow;
9554 	/** */
9555 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, GtkArrowType arrowType, int fill, int x, int y, int width, int height) drawArrow;
9556 	/** */
9557 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height) drawDiamond;
9558 	/** */
9559 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height) drawBox;
9560 	/** */
9561 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height) drawFlatBox;
9562 	/** */
9563 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height) drawCheck;
9564 	/** */
9565 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height) drawOption;
9566 	/** */
9567 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height) drawTab;
9568 	/** */
9569 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height, GtkPositionType gapSide, int gapX, int gapWidth) drawShadowGap;
9570 	/** */
9571 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height, GtkPositionType gapSide, int gapX, int gapWidth) drawBoxGap;
9572 	/** */
9573 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height, GtkPositionType gapSide) drawExtension;
9574 	/** */
9575 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height) drawFocus;
9576 	/** */
9577 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height, GtkOrientation orientation) drawSlider;
9578 	/** */
9579 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkShadowType shadowType, GtkWidget* widget, const(char)* detail, int x, int y, int width, int height, GtkOrientation orientation) drawHandle;
9580 	/** */
9581 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkWidget* widget, const(char)* detail, int x, int y, GtkExpanderStyle expanderStyle) drawExpander;
9582 	/** */
9583 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, int useText, GtkWidget* widget, const(char)* detail, int x, int y, PangoLayout* layout) drawLayout;
9584 	/** */
9585 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkWidget* widget, const(char)* detail, GdkWindowEdge edge, int x, int y, int width, int height) drawResizeGrip;
9586 	/** */
9587 	extern(C) void function(GtkStyle* style, cairo_t* cr, GtkStateType stateType, GtkWidget* widget, const(char)* detail, uint step, int x, int y, int width, int height) drawSpinner;
9588 	/** */
9589 	extern(C) void function() GtkReserved1;
9590 	/** */
9591 	extern(C) void function() GtkReserved2;
9592 	/** */
9593 	extern(C) void function() GtkReserved3;
9594 	/** */
9595 	extern(C) void function() GtkReserved4;
9596 	/** */
9597 	extern(C) void function() GtkReserved5;
9598 	/** */
9599 	extern(C) void function() GtkReserved6;
9600 	/** */
9601 	extern(C) void function() GtkReserved7;
9602 	/** */
9603 	extern(C) void function() GtkReserved8;
9604 	/** */
9605 	extern(C) void function() GtkReserved9;
9606 	/** */
9607 	extern(C) void function() GtkReserved10;
9608 	/** */
9609 	extern(C) void function() GtkReserved11;
9610 }
9611 
9612 struct GtkStyleContext
9613 {
9614 	GObject parentObject;
9615 	GtkStyleContextPrivate* priv;
9616 }
9617 
9618 struct GtkStyleContextClass
9619 {
9620 	GObjectClass parentClass;
9621 	/** */
9622 	extern(C) void function(GtkStyleContext* context) changed;
9623 	/** */
9624 	extern(C) void function() GtkReserved1;
9625 	/** */
9626 	extern(C) void function() GtkReserved2;
9627 	/** */
9628 	extern(C) void function() GtkReserved3;
9629 	/** */
9630 	extern(C) void function() GtkReserved4;
9631 }
9632 
9633 struct GtkStyleContextPrivate;
9634 
9635 struct GtkStyleProperties
9636 {
9637 	GObject parentObject;
9638 	GtkStylePropertiesPrivate* priv;
9639 }
9640 
9641 struct GtkStylePropertiesClass
9642 {
9643 	GObjectClass parentClass;
9644 	/** */
9645 	extern(C) void function() GtkReserved1;
9646 	/** */
9647 	extern(C) void function() GtkReserved2;
9648 	/** */
9649 	extern(C) void function() GtkReserved3;
9650 	/** */
9651 	extern(C) void function() GtkReserved4;
9652 }
9653 
9654 struct GtkStylePropertiesPrivate;
9655 
9656 struct GtkStyleProvider;
9657 
9658 struct GtkStyleProviderIface
9659 {
9660 	GTypeInterface gIface;
9661 	/**
9662 	 *
9663 	 * Params:
9664 	 *     provider = a #GtkStyleProvider
9665 	 *     path = #GtkWidgetPath to query
9666 	 * Returns: a #GtkStyleProperties containing the
9667 	 *     style settings affecting @path
9668 	 */
9669 	extern(C) GtkStyleProperties* function(GtkStyleProvider* provider, GtkWidgetPath* path) getStyle;
9670 	/**
9671 	 *
9672 	 * Params:
9673 	 *     provider = a #GtkStyleProvider
9674 	 *     path = #GtkWidgetPath to query
9675 	 *     state = state to query the style property for
9676 	 *     pspec = The #GParamSpec to query
9677 	 *     value = return location for the property value
9678 	 * Returns: %TRUE if the property was found and has a value, %FALSE otherwise
9679 	 */
9680 	extern(C) int function(GtkStyleProvider* provider, GtkWidgetPath* path, GtkStateFlags state, GParamSpec* pspec, GValue* value) getStyleProperty;
9681 	/**
9682 	 *
9683 	 * Params:
9684 	 *     provider = a #GtkStyleProvider
9685 	 *     path = #GtkWidgetPath to query
9686 	 * Returns: The icon factory to use for @path, or %NULL
9687 	 */
9688 	extern(C) GtkIconFactory* function(GtkStyleProvider* provider, GtkWidgetPath* path) getIconFactory;
9689 }
9690 
9691 struct GtkSwitch
9692 {
9693 	GtkWidget parentInstance;
9694 	GtkSwitchPrivate* priv;
9695 }
9696 
9697 struct GtkSwitchAccessible
9698 {
9699 	GtkWidgetAccessible parent;
9700 	GtkSwitchAccessiblePrivate* priv;
9701 }
9702 
9703 struct GtkSwitchAccessibleClass
9704 {
9705 	GtkWidgetAccessibleClass parentClass;
9706 }
9707 
9708 struct GtkSwitchAccessiblePrivate;
9709 
9710 struct GtkSwitchClass
9711 {
9712 	/**
9713 	 * The parent class.
9714 	 */
9715 	GtkWidgetClass parentClass;
9716 	/** */
9717 	extern(C) void function(GtkSwitch* sw) activate;
9718 	/** */
9719 	extern(C) int function(GtkSwitch* sw, int state) stateSet;
9720 	/** */
9721 	extern(C) void function() SwitchPadding1;
9722 	/** */
9723 	extern(C) void function() SwitchPadding2;
9724 	/** */
9725 	extern(C) void function() SwitchPadding3;
9726 	/** */
9727 	extern(C) void function() SwitchPadding4;
9728 	/** */
9729 	extern(C) void function() SwitchPadding5;
9730 }
9731 
9732 struct GtkSwitchPrivate;
9733 
9734 struct GtkSymbolicColor;
9735 
9736 struct GtkTable
9737 {
9738 	GtkContainer container;
9739 	GtkTablePrivate* priv;
9740 }
9741 
9742 struct GtkTableChild
9743 {
9744 	GtkWidget* widget;
9745 	ushort leftAttach;
9746 	ushort rightAttach;
9747 	ushort topAttach;
9748 	ushort bottomAttach;
9749 	ushort xpadding;
9750 	ushort ypadding;
9751 	import std.bitmanip: bitfields;
9752 	mixin(bitfields!(
9753 		uint, "xexpand", 1,
9754 		uint, "yexpand", 1,
9755 		uint, "xshrink", 1,
9756 		uint, "yshrink", 1,
9757 		uint, "xfill", 1,
9758 		uint, "yfill", 1,
9759 		uint, "", 26
9760 	));
9761 }
9762 
9763 struct GtkTableClass
9764 {
9765 	GtkContainerClass parentClass;
9766 	/** */
9767 	extern(C) void function() GtkReserved1;
9768 	/** */
9769 	extern(C) void function() GtkReserved2;
9770 	/** */
9771 	extern(C) void function() GtkReserved3;
9772 	/** */
9773 	extern(C) void function() GtkReserved4;
9774 }
9775 
9776 struct GtkTablePrivate;
9777 
9778 struct GtkTableRowCol
9779 {
9780 	ushort requisition;
9781 	ushort allocation;
9782 	ushort spacing;
9783 	import std.bitmanip: bitfields;
9784 	mixin(bitfields!(
9785 		uint, "needExpand", 1,
9786 		uint, "needShrink", 1,
9787 		uint, "expand", 1,
9788 		uint, "shrink", 1,
9789 		uint, "empty", 1,
9790 		uint, "", 27
9791 	));
9792 }
9793 
9794 struct GtkTargetEntry
9795 {
9796 	/**
9797 	 * a string representation of the target type
9798 	 */
9799 	char* target;
9800 	/**
9801 	 * #GtkTargetFlags for DND
9802 	 */
9803 	uint flags;
9804 	/**
9805 	 * an application-assigned integer ID which will
9806 	 * get passed as a parameter to e.g the #GtkWidget::selection-get
9807 	 * signal. It allows the application to identify the target
9808 	 * type without extensive string compares.
9809 	 */
9810 	uint info;
9811 }
9812 
9813 struct GtkTargetList;
9814 
9815 /**
9816  * A #GtkTargetPair is used to represent the same
9817  * information as a table of #GtkTargetEntry, but in
9818  * an efficient form.
9819  */
9820 struct GtkTargetPair
9821 {
9822 	/**
9823 	 * #GdkAtom representation of the target type
9824 	 */
9825 	GdkAtom target;
9826 	/**
9827 	 * #GtkTargetFlags for DND
9828 	 */
9829 	uint flags;
9830 	/**
9831 	 * an application-assigned integer ID which will
9832 	 * get passed as a parameter to e.g the #GtkWidget::selection-get
9833 	 * signal. It allows the application to identify the target
9834 	 * type without extensive string compares.
9835 	 */
9836 	uint info;
9837 }
9838 
9839 struct GtkTearoffMenuItem
9840 {
9841 	GtkMenuItem menuItem;
9842 	GtkTearoffMenuItemPrivate* priv;
9843 }
9844 
9845 struct GtkTearoffMenuItemClass
9846 {
9847 	/**
9848 	 * The parent class.
9849 	 */
9850 	GtkMenuItemClass parentClass;
9851 	/** */
9852 	extern(C) void function() GtkReserved1;
9853 	/** */
9854 	extern(C) void function() GtkReserved2;
9855 	/** */
9856 	extern(C) void function() GtkReserved3;
9857 	/** */
9858 	extern(C) void function() GtkReserved4;
9859 }
9860 
9861 struct GtkTearoffMenuItemPrivate;
9862 
9863 struct GtkTextAppearance
9864 {
9865 	/**
9866 	 * Background #GdkColor.
9867 	 */
9868 	GdkColor bgColor;
9869 	/**
9870 	 * Foreground #GdkColor.
9871 	 */
9872 	GdkColor fgColor;
9873 	/**
9874 	 * Super/subscript rise, can be negative.
9875 	 */
9876 	int rise;
9877 	import std.bitmanip: bitfields;
9878 	mixin(bitfields!(
9879 		uint, "underline", 4,
9880 		uint, "strikethrough", 1,
9881 		uint, "drawBg", 1,
9882 		uint, "insideSelection", 1,
9883 		uint, "isText", 1,
9884 		uint, "", 24
9885 	));
9886 	union
9887 	{
9888 		GdkRGBA*[2] rgba;
9889 		uint[4] padding;
9890 	}
9891 }
9892 
9893 struct GtkTextAttributes
9894 {
9895 	uint refcount;
9896 	/**
9897 	 * #GtkTextAppearance for text.
9898 	 */
9899 	GtkTextAppearance appearance;
9900 	/**
9901 	 * #GtkJustification for text.
9902 	 */
9903 	GtkJustification justification;
9904 	/**
9905 	 * #GtkTextDirection for text.
9906 	 */
9907 	GtkTextDirection direction;
9908 	/**
9909 	 * #PangoFontDescription for text.
9910 	 */
9911 	PangoFontDescription* font;
9912 	/**
9913 	 * Font scale factor.
9914 	 */
9915 	double fontScale;
9916 	/**
9917 	 * Width of the left margin in pixels.
9918 	 */
9919 	int leftMargin;
9920 	/**
9921 	 * Width of the right margin in pixels.
9922 	 */
9923 	int rightMargin;
9924 	/**
9925 	 * Amount to indent the paragraph, in pixels.
9926 	 */
9927 	int indent;
9928 	/**
9929 	 * Pixels of blank space above paragraphs.
9930 	 */
9931 	int pixelsAboveLines;
9932 	/**
9933 	 * Pixels of blank space below paragraphs.
9934 	 */
9935 	int pixelsBelowLines;
9936 	/**
9937 	 * Pixels of blank space between wrapped lines in
9938 	 * a paragraph.
9939 	 */
9940 	int pixelsInsideWrap;
9941 	/**
9942 	 * Custom #PangoTabArray for this text.
9943 	 */
9944 	PangoTabArray* tabs;
9945 	/**
9946 	 * #GtkWrapMode for text.
9947 	 */
9948 	GtkWrapMode wrapMode;
9949 	/**
9950 	 * #PangoLanguage for text.
9951 	 */
9952 	PangoLanguage* language;
9953 	GdkColor* pgBgColor;
9954 	import std.bitmanip: bitfields;
9955 	mixin(bitfields!(
9956 		uint, "invisible", 1,
9957 		uint, "bgFullHeight", 1,
9958 		uint, "editable", 1,
9959 		uint, "noFallback", 1,
9960 		uint, "", 28
9961 	));
9962 	GdkRGBA* pgBgRgba;
9963 	/**
9964 	 * Extra space to insert between graphemes, in Pango units
9965 	 */
9966 	int letterSpacing;
9967 	union
9968 	{
9969 		char* fontFeatures;
9970 		uint[2] padding;
9971 	}
9972 }
9973 
9974 struct GtkTextBTree;
9975 
9976 struct GtkTextBuffer
9977 {
9978 	GObject parentInstance;
9979 	GtkTextBufferPrivate* priv;
9980 }
9981 
9982 struct GtkTextBufferClass
9983 {
9984 	/**
9985 	 * The object class structure needs to be the first.
9986 	 */
9987 	GObjectClass parentClass;
9988 	/** */
9989 	extern(C) void function(GtkTextBuffer* buffer, GtkTextIter* pos, const(char)* newText, int newTextLength) insertText;
9990 	/** */
9991 	extern(C) void function(GtkTextBuffer* buffer, GtkTextIter* iter, GdkPixbuf* pixbuf) insertPixbuf;
9992 	/** */
9993 	extern(C) void function(GtkTextBuffer* buffer, GtkTextIter* iter, GtkTextChildAnchor* anchor) insertChildAnchor;
9994 	/** */
9995 	extern(C) void function(GtkTextBuffer* buffer, GtkTextIter* start, GtkTextIter* end) deleteRange;
9996 	/** */
9997 	extern(C) void function(GtkTextBuffer* buffer) changed;
9998 	/** */
9999 	extern(C) void function(GtkTextBuffer* buffer) modifiedChanged;
10000 	/** */
10001 	extern(C) void function(GtkTextBuffer* buffer, GtkTextIter* location, GtkTextMark* mark) markSet;
10002 	/** */
10003 	extern(C) void function(GtkTextBuffer* buffer, GtkTextMark* mark) markDeleted;
10004 	/** */
10005 	extern(C) void function(GtkTextBuffer* buffer, GtkTextTag* tag, GtkTextIter* start, GtkTextIter* end) applyTag;
10006 	/** */
10007 	extern(C) void function(GtkTextBuffer* buffer, GtkTextTag* tag, GtkTextIter* start, GtkTextIter* end) removeTag;
10008 	/** */
10009 	extern(C) void function(GtkTextBuffer* buffer) beginUserAction;
10010 	/** */
10011 	extern(C) void function(GtkTextBuffer* buffer) endUserAction;
10012 	/** */
10013 	extern(C) void function(GtkTextBuffer* buffer, GtkClipboard* clipboard) pasteDone;
10014 	/** */
10015 	extern(C) void function() GtkReserved1;
10016 	/** */
10017 	extern(C) void function() GtkReserved2;
10018 	/** */
10019 	extern(C) void function() GtkReserved3;
10020 	/** */
10021 	extern(C) void function() GtkReserved4;
10022 }
10023 
10024 struct GtkTextBufferPrivate;
10025 
10026 struct GtkTextCellAccessible
10027 {
10028 	GtkRendererCellAccessible parent;
10029 	GtkTextCellAccessiblePrivate* priv;
10030 }
10031 
10032 struct GtkTextCellAccessibleClass
10033 {
10034 	GtkRendererCellAccessibleClass parentClass;
10035 }
10036 
10037 struct GtkTextCellAccessiblePrivate;
10038 
10039 struct GtkTextChildAnchor
10040 {
10041 	GObject parentInstance;
10042 	void* segment;
10043 }
10044 
10045 struct GtkTextChildAnchorClass
10046 {
10047 	GObjectClass parentClass;
10048 	/** */
10049 	extern(C) void function() GtkReserved1;
10050 	/** */
10051 	extern(C) void function() GtkReserved2;
10052 	/** */
10053 	extern(C) void function() GtkReserved3;
10054 	/** */
10055 	extern(C) void function() GtkReserved4;
10056 }
10057 
10058 struct GtkTextIter
10059 {
10060 	void* dummy1;
10061 	void* dummy2;
10062 	int dummy3;
10063 	int dummy4;
10064 	int dummy5;
10065 	int dummy6;
10066 	int dummy7;
10067 	int dummy8;
10068 	void* dummy9;
10069 	void* dummy10;
10070 	int dummy11;
10071 	int dummy12;
10072 	int dummy13;
10073 	void* dummy14;
10074 }
10075 
10076 struct GtkTextMark
10077 {
10078 	GObject parentInstance;
10079 	void* segment;
10080 }
10081 
10082 struct GtkTextMarkClass
10083 {
10084 	GObjectClass parentClass;
10085 	/** */
10086 	extern(C) void function() GtkReserved1;
10087 	/** */
10088 	extern(C) void function() GtkReserved2;
10089 	/** */
10090 	extern(C) void function() GtkReserved3;
10091 	/** */
10092 	extern(C) void function() GtkReserved4;
10093 }
10094 
10095 struct GtkTextTag
10096 {
10097 	GObject parentInstance;
10098 	GtkTextTagPrivate* priv;
10099 }
10100 
10101 struct GtkTextTagClass
10102 {
10103 	GObjectClass parentClass;
10104 	/**
10105 	 *
10106 	 * Params:
10107 	 *     tag = a #GtkTextTag
10108 	 *     eventObject = object that received the event, such as a widget
10109 	 *     event = the event
10110 	 *     iter = location where the event was received
10111 	 * Returns: result of signal emission (whether the event was handled)
10112 	 */
10113 	extern(C) int function(GtkTextTag* tag, GObject* eventObject, GdkEvent* event, GtkTextIter* iter) event;
10114 	/** */
10115 	extern(C) void function() GtkReserved1;
10116 	/** */
10117 	extern(C) void function() GtkReserved2;
10118 	/** */
10119 	extern(C) void function() GtkReserved3;
10120 	/** */
10121 	extern(C) void function() GtkReserved4;
10122 }
10123 
10124 struct GtkTextTagPrivate;
10125 
10126 struct GtkTextTagTable
10127 {
10128 	GObject parentInstance;
10129 	GtkTextTagTablePrivate* priv;
10130 }
10131 
10132 struct GtkTextTagTableClass
10133 {
10134 	GObjectClass parentClass;
10135 	/** */
10136 	extern(C) void function(GtkTextTagTable* table, GtkTextTag* tag, int sizeChanged) tagChanged;
10137 	/** */
10138 	extern(C) void function(GtkTextTagTable* table, GtkTextTag* tag) tagAdded;
10139 	/** */
10140 	extern(C) void function(GtkTextTagTable* table, GtkTextTag* tag) tagRemoved;
10141 	/** */
10142 	extern(C) void function() GtkReserved1;
10143 	/** */
10144 	extern(C) void function() GtkReserved2;
10145 	/** */
10146 	extern(C) void function() GtkReserved3;
10147 	/** */
10148 	extern(C) void function() GtkReserved4;
10149 }
10150 
10151 struct GtkTextTagTablePrivate;
10152 
10153 struct GtkTextView
10154 {
10155 	GtkContainer parentInstance;
10156 	GtkTextViewPrivate* priv;
10157 }
10158 
10159 struct GtkTextViewAccessible
10160 {
10161 	GtkContainerAccessible parent;
10162 	GtkTextViewAccessiblePrivate* priv;
10163 }
10164 
10165 struct GtkTextViewAccessibleClass
10166 {
10167 	GtkContainerAccessibleClass parentClass;
10168 }
10169 
10170 struct GtkTextViewAccessiblePrivate;
10171 
10172 struct GtkTextViewClass
10173 {
10174 	/**
10175 	 * The object class structure needs to be the first
10176 	 */
10177 	GtkContainerClass parentClass;
10178 	/** */
10179 	extern(C) void function(GtkTextView* textView, GtkWidget* popup) populatePopup;
10180 	/** */
10181 	extern(C) void function(GtkTextView* textView, GtkMovementStep step, int count, int extendSelection) moveCursor;
10182 	/** */
10183 	extern(C) void function(GtkTextView* textView) setAnchor;
10184 	/** */
10185 	extern(C) void function(GtkTextView* textView, const(char)* str) insertAtCursor;
10186 	/** */
10187 	extern(C) void function(GtkTextView* textView, GtkDeleteType type, int count) deleteFromCursor;
10188 	/** */
10189 	extern(C) void function(GtkTextView* textView) backspace;
10190 	/** */
10191 	extern(C) void function(GtkTextView* textView) cutClipboard;
10192 	/** */
10193 	extern(C) void function(GtkTextView* textView) copyClipboard;
10194 	/** */
10195 	extern(C) void function(GtkTextView* textView) pasteClipboard;
10196 	/** */
10197 	extern(C) void function(GtkTextView* textView) toggleOverwrite;
10198 	/** */
10199 	extern(C) GtkTextBuffer* function(GtkTextView* textView) createBuffer;
10200 	/** */
10201 	extern(C) void function(GtkTextView* textView, GtkTextViewLayer layer, cairo_t* cr) drawLayer;
10202 	/** */
10203 	extern(C) int function(GtkTextView* textView, GtkTextExtendSelection granularity, GtkTextIter* location, GtkTextIter* start, GtkTextIter* end) extendSelection;
10204 	/** */
10205 	extern(C) void function() GtkReserved1;
10206 	/** */
10207 	extern(C) void function() GtkReserved2;
10208 	/** */
10209 	extern(C) void function() GtkReserved3;
10210 	/** */
10211 	extern(C) void function() GtkReserved4;
10212 	/** */
10213 	extern(C) void function() GtkReserved5;
10214 }
10215 
10216 struct GtkTextViewPrivate;
10217 
10218 struct GtkThemeEngine;
10219 
10220 struct GtkThemingEngine
10221 {
10222 	GObject parentObject;
10223 	GtkThemingEnginePrivate* priv;
10224 }
10225 
10226 /**
10227  * Base class for theming engines.
10228  */
10229 struct GtkThemingEngineClass
10230 {
10231 	/**
10232 	 * The parent class.
10233 	 */
10234 	GObjectClass parentClass;
10235 	/** */
10236 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x0, double y0, double x1, double y1) renderLine;
10237 	/** */
10238 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height) renderBackground;
10239 	/** */
10240 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height) renderFrame;
10241 	/** */
10242 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height, GtkPositionType gapSide, double xy0Gap, double xy1Gap) renderFrameGap;
10243 	/** */
10244 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height, GtkPositionType gapSide) renderExtension;
10245 	/** */
10246 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height) renderCheck;
10247 	/** */
10248 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height) renderOption;
10249 	/** */
10250 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double angle, double x, double y, double size) renderArrow;
10251 	/** */
10252 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height) renderExpander;
10253 	/** */
10254 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height) renderFocus;
10255 	/** */
10256 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, PangoLayout* layout) renderLayout;
10257 	/** */
10258 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height, GtkOrientation orientation) renderSlider;
10259 	/** */
10260 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height) renderHandle;
10261 	/** */
10262 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, double x, double y, double width, double height) renderActivity;
10263 	/** */
10264 	extern(C) GdkPixbuf* function(GtkThemingEngine* engine, GtkIconSource* source, GtkIconSize size) renderIconPixbuf;
10265 	/** */
10266 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, GdkPixbuf* pixbuf, double x, double y) renderIcon;
10267 	/** */
10268 	extern(C) void function(GtkThemingEngine* engine, cairo_t* cr, cairo_surface_t* surface, double x, double y) renderIconSurface;
10269 	void*[14] padding;
10270 }
10271 
10272 struct GtkThemingEnginePrivate;
10273 
10274 struct GtkToggleAction
10275 {
10276 	GtkAction parent;
10277 	GtkToggleActionPrivate* privateData;
10278 }
10279 
10280 struct GtkToggleActionClass
10281 {
10282 	GtkActionClass parentClass;
10283 	/** */
10284 	extern(C) void function(GtkToggleAction* action) toggled;
10285 	/** */
10286 	extern(C) void function() GtkReserved1;
10287 	/** */
10288 	extern(C) void function() GtkReserved2;
10289 	/** */
10290 	extern(C) void function() GtkReserved3;
10291 	/** */
10292 	extern(C) void function() GtkReserved4;
10293 }
10294 
10295 /**
10296  * #GtkToggleActionEntry structs are used with
10297  * gtk_action_group_add_toggle_actions() to construct toggle actions.
10298  */
10299 struct GtkToggleActionEntry
10300 {
10301 	/**
10302 	 * The name of the action.
10303 	 */
10304 	const(char)* name;
10305 	/**
10306 	 * The stock id for the action, or the name of an icon from the
10307 	 * icon theme.
10308 	 */
10309 	const(char)* stockId;
10310 	/**
10311 	 * The label for the action. This field should typically be marked
10312 	 * for translation, see gtk_action_group_set_translation_domain().
10313 	 */
10314 	const(char)* label;
10315 	/**
10316 	 * The accelerator for the action, in the format understood by
10317 	 * gtk_accelerator_parse().
10318 	 */
10319 	const(char)* accelerator;
10320 	/**
10321 	 * The tooltip for the action. This field should typically be
10322 	 * marked for translation, see gtk_action_group_set_translation_domain().
10323 	 */
10324 	const(char)* tooltip;
10325 	/**
10326 	 * The function to call when the action is activated.
10327 	 */
10328 	GCallback callback;
10329 	/**
10330 	 * The initial state of the toggle action.
10331 	 */
10332 	bool isActive;
10333 }
10334 
10335 struct GtkToggleActionPrivate;
10336 
10337 struct GtkToggleButton
10338 {
10339 	GtkButton button;
10340 	GtkToggleButtonPrivate* priv;
10341 }
10342 
10343 struct GtkToggleButtonAccessible
10344 {
10345 	GtkButtonAccessible parent;
10346 	GtkToggleButtonAccessiblePrivate* priv;
10347 }
10348 
10349 struct GtkToggleButtonAccessibleClass
10350 {
10351 	GtkButtonAccessibleClass parentClass;
10352 }
10353 
10354 struct GtkToggleButtonAccessiblePrivate;
10355 
10356 struct GtkToggleButtonClass
10357 {
10358 	GtkButtonClass parentClass;
10359 	/** */
10360 	extern(C) void function(GtkToggleButton* toggleButton) toggled;
10361 	/** */
10362 	extern(C) void function() GtkReserved1;
10363 	/** */
10364 	extern(C) void function() GtkReserved2;
10365 	/** */
10366 	extern(C) void function() GtkReserved3;
10367 	/** */
10368 	extern(C) void function() GtkReserved4;
10369 }
10370 
10371 struct GtkToggleButtonPrivate;
10372 
10373 struct GtkToggleToolButton
10374 {
10375 	GtkToolButton parent;
10376 	GtkToggleToolButtonPrivate* priv;
10377 }
10378 
10379 struct GtkToggleToolButtonClass
10380 {
10381 	/**
10382 	 * The parent class.
10383 	 */
10384 	GtkToolButtonClass parentClass;
10385 	/** */
10386 	extern(C) void function(GtkToggleToolButton* button) toggled;
10387 	/** */
10388 	extern(C) void function() GtkReserved1;
10389 	/** */
10390 	extern(C) void function() GtkReserved2;
10391 	/** */
10392 	extern(C) void function() GtkReserved3;
10393 	/** */
10394 	extern(C) void function() GtkReserved4;
10395 }
10396 
10397 struct GtkToggleToolButtonPrivate;
10398 
10399 struct GtkToolButton
10400 {
10401 	GtkToolItem parent;
10402 	GtkToolButtonPrivate* priv;
10403 }
10404 
10405 struct GtkToolButtonClass
10406 {
10407 	/**
10408 	 * The parent class.
10409 	 */
10410 	GtkToolItemClass parentClass;
10411 	GType buttonType;
10412 	/** */
10413 	extern(C) void function(GtkToolButton* toolItem) clicked;
10414 	/** */
10415 	extern(C) void function() GtkReserved1;
10416 	/** */
10417 	extern(C) void function() GtkReserved2;
10418 	/** */
10419 	extern(C) void function() GtkReserved3;
10420 	/** */
10421 	extern(C) void function() GtkReserved4;
10422 }
10423 
10424 struct GtkToolButtonPrivate;
10425 
10426 struct GtkToolItem
10427 {
10428 	GtkBin parent;
10429 	GtkToolItemPrivate* priv;
10430 }
10431 
10432 struct GtkToolItemClass
10433 {
10434 	/**
10435 	 * The parent class.
10436 	 */
10437 	GtkBinClass parentClass;
10438 	/** */
10439 	extern(C) int function(GtkToolItem* toolItem) createMenuProxy;
10440 	/** */
10441 	extern(C) void function(GtkToolItem* toolItem) toolbarReconfigured;
10442 	/** */
10443 	extern(C) void function() GtkReserved1;
10444 	/** */
10445 	extern(C) void function() GtkReserved2;
10446 	/** */
10447 	extern(C) void function() GtkReserved3;
10448 	/** */
10449 	extern(C) void function() GtkReserved4;
10450 }
10451 
10452 struct GtkToolItemGroup
10453 {
10454 	GtkContainer parentInstance;
10455 	GtkToolItemGroupPrivate* priv;
10456 }
10457 
10458 struct GtkToolItemGroupClass
10459 {
10460 	/**
10461 	 * The parent class.
10462 	 */
10463 	GtkContainerClass parentClass;
10464 	/** */
10465 	extern(C) void function() GtkReserved1;
10466 	/** */
10467 	extern(C) void function() GtkReserved2;
10468 	/** */
10469 	extern(C) void function() GtkReserved3;
10470 	/** */
10471 	extern(C) void function() GtkReserved4;
10472 }
10473 
10474 struct GtkToolItemGroupPrivate;
10475 
10476 struct GtkToolItemPrivate;
10477 
10478 struct GtkToolPalette
10479 {
10480 	GtkContainer parentInstance;
10481 	GtkToolPalettePrivate* priv;
10482 }
10483 
10484 struct GtkToolPaletteClass
10485 {
10486 	/**
10487 	 * The parent class.
10488 	 */
10489 	GtkContainerClass parentClass;
10490 	/** */
10491 	extern(C) void function() GtkReserved1;
10492 	/** */
10493 	extern(C) void function() GtkReserved2;
10494 	/** */
10495 	extern(C) void function() GtkReserved3;
10496 	/** */
10497 	extern(C) void function() GtkReserved4;
10498 }
10499 
10500 struct GtkToolPalettePrivate;
10501 
10502 struct GtkToolShell;
10503 
10504 /**
10505  * Virtual function table for the #GtkToolShell interface.
10506  */
10507 struct GtkToolShellIface
10508 {
10509 	GTypeInterface gIface;
10510 	/** */
10511 	extern(C) GtkIconSize function(GtkToolShell* shell) getIconSize;
10512 	/**
10513 	 *
10514 	 * Params:
10515 	 *     shell = a #GtkToolShell
10516 	 * Returns: the current orientation of @shell
10517 	 */
10518 	extern(C) GtkOrientation function(GtkToolShell* shell) getOrientation;
10519 	/**
10520 	 *
10521 	 * Params:
10522 	 *     shell = a #GtkToolShell
10523 	 * Returns: the current style of @shell
10524 	 */
10525 	extern(C) GtkToolbarStyle function(GtkToolShell* shell) getStyle;
10526 	/**
10527 	 *
10528 	 * Params:
10529 	 *     shell = a #GtkToolShell
10530 	 * Returns: The relief style of buttons on @shell.
10531 	 */
10532 	extern(C) GtkReliefStyle function(GtkToolShell* shell) getReliefStyle;
10533 	/** */
10534 	extern(C) void function(GtkToolShell* shell) rebuildMenu;
10535 	/**
10536 	 *
10537 	 * Params:
10538 	 *     shell = a #GtkToolShell
10539 	 * Returns: the current text orientation of @shell
10540 	 */
10541 	extern(C) GtkOrientation function(GtkToolShell* shell) getTextOrientation;
10542 	/**
10543 	 *
10544 	 * Params:
10545 	 *     shell = a #GtkToolShell
10546 	 * Returns: the current text alignment of @shell
10547 	 */
10548 	extern(C) float function(GtkToolShell* shell) getTextAlignment;
10549 	/**
10550 	 *
10551 	 * Params:
10552 	 *     shell = a #GtkToolShell
10553 	 * Returns: the current ellipsize mode of @shell
10554 	 */
10555 	extern(C) PangoEllipsizeMode function(GtkToolShell* shell) getEllipsizeMode;
10556 	/**
10557 	 *
10558 	 * Params:
10559 	 *     shell = a #GtkToolShell
10560 	 * Returns: the current text size group of @shell
10561 	 */
10562 	extern(C) GtkSizeGroup* function(GtkToolShell* shell) getTextSizeGroup;
10563 }
10564 
10565 struct GtkToolbar
10566 {
10567 	GtkContainer container;
10568 	GtkToolbarPrivate* priv;
10569 }
10570 
10571 struct GtkToolbarClass
10572 {
10573 	GtkContainerClass parentClass;
10574 	/** */
10575 	extern(C) void function(GtkToolbar* toolbar, GtkOrientation orientation) orientationChanged;
10576 	/** */
10577 	extern(C) void function(GtkToolbar* toolbar, GtkToolbarStyle style) styleChanged;
10578 	/** */
10579 	extern(C) int function(GtkToolbar* toolbar, int x, int y, int buttonNumber) popupContextMenu;
10580 	/** */
10581 	extern(C) void function() GtkReserved1;
10582 	/** */
10583 	extern(C) void function() GtkReserved2;
10584 	/** */
10585 	extern(C) void function() GtkReserved3;
10586 	/** */
10587 	extern(C) void function() GtkReserved4;
10588 }
10589 
10590 struct GtkToolbarPrivate;
10591 
10592 struct GtkTooltip;
10593 
10594 struct GtkToplevelAccessible
10595 {
10596 	AtkObject parent;
10597 	GtkToplevelAccessiblePrivate* priv;
10598 }
10599 
10600 struct GtkToplevelAccessibleClass
10601 {
10602 	AtkObjectClass parentClass;
10603 }
10604 
10605 struct GtkToplevelAccessiblePrivate;
10606 
10607 struct GtkTreeDragDest;
10608 
10609 struct GtkTreeDragDestIface
10610 {
10611 	GTypeInterface gIface;
10612 	/**
10613 	 *
10614 	 * Params:
10615 	 *     dragDest = a #GtkTreeDragDest
10616 	 *     dest = row to drop in front of
10617 	 *     selectionData = data to drop
10618 	 * Returns: whether a new row was created before position @dest
10619 	 */
10620 	extern(C) int function(GtkTreeDragDest* dragDest, GtkTreePath* dest, GtkSelectionData* selectionData) dragDataReceived;
10621 	/**
10622 	 *
10623 	 * Params:
10624 	 *     dragDest = a #GtkTreeDragDest
10625 	 *     destPath = destination row
10626 	 *     selectionData = the data being dragged
10627 	 * Returns: %TRUE if a drop is possible before @dest_path
10628 	 */
10629 	extern(C) int function(GtkTreeDragDest* dragDest, GtkTreePath* destPath, GtkSelectionData* selectionData) rowDropPossible;
10630 }
10631 
10632 struct GtkTreeDragSource;
10633 
10634 struct GtkTreeDragSourceIface
10635 {
10636 	GTypeInterface gIface;
10637 	/**
10638 	 *
10639 	 * Params:
10640 	 *     dragSource = a #GtkTreeDragSource
10641 	 *     path = row on which user is initiating a drag
10642 	 * Returns: %TRUE if the row can be dragged
10643 	 */
10644 	extern(C) int function(GtkTreeDragSource* dragSource, GtkTreePath* path) rowDraggable;
10645 	/**
10646 	 *
10647 	 * Params:
10648 	 *     dragSource = a #GtkTreeDragSource
10649 	 *     path = row that was dragged
10650 	 *     selectionData = a #GtkSelectionData to fill with data
10651 	 *         from the dragged row
10652 	 * Returns: %TRUE if data of the required type was provided
10653 	 */
10654 	extern(C) int function(GtkTreeDragSource* dragSource, GtkTreePath* path, GtkSelectionData* selectionData) dragDataGet;
10655 	/**
10656 	 *
10657 	 * Params:
10658 	 *     dragSource = a #GtkTreeDragSource
10659 	 *     path = row that was being dragged
10660 	 * Returns: %TRUE if the row was successfully deleted
10661 	 */
10662 	extern(C) int function(GtkTreeDragSource* dragSource, GtkTreePath* path) dragDataDelete;
10663 }
10664 
10665 struct GtkTreeIter
10666 {
10667 	/**
10668 	 * a unique stamp to catch invalid iterators
10669 	 */
10670 	int stamp;
10671 	/**
10672 	 * model-specific data
10673 	 */
10674 	void* userData;
10675 	/**
10676 	 * model-specific data
10677 	 */
10678 	void* userData2;
10679 	/**
10680 	 * model-specific data
10681 	 */
10682 	void* userData3;
10683 }
10684 
10685 struct GtkTreeModel;
10686 
10687 struct GtkTreeModelFilter
10688 {
10689 	GObject parent;
10690 	GtkTreeModelFilterPrivate* priv;
10691 }
10692 
10693 struct GtkTreeModelFilterClass
10694 {
10695 	GObjectClass parentClass;
10696 	/** */
10697 	extern(C) int function(GtkTreeModelFilter* self, GtkTreeModel* childModel, GtkTreeIter* iter) visible;
10698 	/** */
10699 	extern(C) void function(GtkTreeModelFilter* self, GtkTreeModel* childModel, GtkTreeIter* iter, GValue* value, int column) modify;
10700 	/** */
10701 	extern(C) void function() GtkReserved1;
10702 	/** */
10703 	extern(C) void function() GtkReserved2;
10704 	/** */
10705 	extern(C) void function() GtkReserved3;
10706 	/** */
10707 	extern(C) void function() GtkReserved4;
10708 }
10709 
10710 struct GtkTreeModelFilterPrivate;
10711 
10712 struct GtkTreeModelIface
10713 {
10714 	GTypeInterface gIface;
10715 	/** */
10716 	extern(C) void function(GtkTreeModel* treeModel, GtkTreePath* path, GtkTreeIter* iter) rowChanged;
10717 	/** */
10718 	extern(C) void function(GtkTreeModel* treeModel, GtkTreePath* path, GtkTreeIter* iter) rowInserted;
10719 	/** */
10720 	extern(C) void function(GtkTreeModel* treeModel, GtkTreePath* path, GtkTreeIter* iter) rowHasChildToggled;
10721 	/** */
10722 	extern(C) void function(GtkTreeModel* treeModel, GtkTreePath* path) rowDeleted;
10723 	/** */
10724 	extern(C) void function(GtkTreeModel* treeModel, GtkTreePath* path, GtkTreeIter* iter, int* newOrder) rowsReordered;
10725 	/**
10726 	 *
10727 	 * Params:
10728 	 *     treeModel = a #GtkTreeModel
10729 	 * Returns: the flags supported by this interface
10730 	 */
10731 	extern(C) GtkTreeModelFlags function(GtkTreeModel* treeModel) getFlags;
10732 	/**
10733 	 *
10734 	 * Params:
10735 	 *     treeModel = a #GtkTreeModel
10736 	 * Returns: the number of columns
10737 	 */
10738 	extern(C) int function(GtkTreeModel* treeModel) getNColumns;
10739 	/**
10740 	 *
10741 	 * Params:
10742 	 *     treeModel = a #GtkTreeModel
10743 	 *     index = the column index
10744 	 * Returns: the type of the column
10745 	 */
10746 	extern(C) GType function(GtkTreeModel* treeModel, int index) getColumnType;
10747 	/**
10748 	 *
10749 	 * Params:
10750 	 *     treeModel = a #GtkTreeModel
10751 	 *     iter = the uninitialized #GtkTreeIter-struct
10752 	 *     path = the #GtkTreePath-struct
10753 	 * Returns: %TRUE, if @iter was set
10754 	 */
10755 	extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter, GtkTreePath* path) getIter;
10756 	/**
10757 	 *
10758 	 * Params:
10759 	 *     treeModel = a #GtkTreeModel
10760 	 *     iter = the #GtkTreeIter-struct
10761 	 * Returns: a newly-created #GtkTreePath-struct
10762 	 */
10763 	extern(C) GtkTreePath* function(GtkTreeModel* treeModel, GtkTreeIter* iter) getPath;
10764 	/** */
10765 	extern(C) void function(GtkTreeModel* treeModel, GtkTreeIter* iter, int column, GValue* value) getValue;
10766 	/**
10767 	 *
10768 	 * Params:
10769 	 *     treeModel = a #GtkTreeModel
10770 	 *     iter = the #GtkTreeIter-struct
10771 	 * Returns: %TRUE if @iter has been changed to the next node
10772 	 */
10773 	extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter) iterNext;
10774 	/**
10775 	 *
10776 	 * Params:
10777 	 *     treeModel = a #GtkTreeModel
10778 	 *     iter = the #GtkTreeIter-struct
10779 	 * Returns: %TRUE if @iter has been changed to the previous node
10780 	 */
10781 	extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter) iterPrevious;
10782 	/**
10783 	 *
10784 	 * Params:
10785 	 *     treeModel = a #GtkTreeModel
10786 	 *     iter = the new #GtkTreeIter-struct to be set to the child
10787 	 *     parent = the #GtkTreeIter-struct, or %NULL
10788 	 * Returns: %TRUE, if @iter has been set to the first child
10789 	 */
10790 	extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter, GtkTreeIter* parent) iterChildren;
10791 	/**
10792 	 *
10793 	 * Params:
10794 	 *     treeModel = a #GtkTreeModel
10795 	 *     iter = the #GtkTreeIter-struct to test for children
10796 	 * Returns: %TRUE if @iter has children
10797 	 */
10798 	extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter) iterHasChild;
10799 	/**
10800 	 *
10801 	 * Params:
10802 	 *     treeModel = a #GtkTreeModel
10803 	 *     iter = the #GtkTreeIter-struct, or %NULL
10804 	 * Returns: the number of children of @iter
10805 	 */
10806 	extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter) iterNChildren;
10807 	/**
10808 	 *
10809 	 * Params:
10810 	 *     treeModel = a #GtkTreeModel
10811 	 *     iter = the #GtkTreeIter-struct to set to the nth child
10812 	 *     parent = the #GtkTreeIter-struct to get the child from, or %NULL.
10813 	 *     n = the index of the desired child
10814 	 * Returns: %TRUE, if @parent has an @n-th child
10815 	 */
10816 	extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter, GtkTreeIter* parent, int n) iterNthChild;
10817 	/**
10818 	 *
10819 	 * Params:
10820 	 *     treeModel = a #GtkTreeModel
10821 	 *     iter = the new #GtkTreeIter-struct to set to the parent
10822 	 *     child = the #GtkTreeIter-struct
10823 	 * Returns: %TRUE, if @iter is set to the parent of @child
10824 	 */
10825 	extern(C) int function(GtkTreeModel* treeModel, GtkTreeIter* iter, GtkTreeIter* child) iterParent;
10826 	/** */
10827 	extern(C) void function(GtkTreeModel* treeModel, GtkTreeIter* iter) refNode;
10828 	/** */
10829 	extern(C) void function(GtkTreeModel* treeModel, GtkTreeIter* iter) unrefNode;
10830 }
10831 
10832 struct GtkTreeModelSort
10833 {
10834 	GObject parent;
10835 	GtkTreeModelSortPrivate* priv;
10836 }
10837 
10838 struct GtkTreeModelSortClass
10839 {
10840 	GObjectClass parentClass;
10841 	/** */
10842 	extern(C) void function() GtkReserved1;
10843 	/** */
10844 	extern(C) void function() GtkReserved2;
10845 	/** */
10846 	extern(C) void function() GtkReserved3;
10847 	/** */
10848 	extern(C) void function() GtkReserved4;
10849 }
10850 
10851 struct GtkTreeModelSortPrivate;
10852 
10853 struct GtkTreePath;
10854 
10855 struct GtkTreeRowReference;
10856 
10857 struct GtkTreeSelection
10858 {
10859 	GObject parent;
10860 	GtkTreeSelectionPrivate* priv;
10861 }
10862 
10863 struct GtkTreeSelectionClass
10864 {
10865 	/**
10866 	 * The parent class.
10867 	 */
10868 	GObjectClass parentClass;
10869 	/** */
10870 	extern(C) void function(GtkTreeSelection* selection) changed;
10871 	/** */
10872 	extern(C) void function() GtkReserved1;
10873 	/** */
10874 	extern(C) void function() GtkReserved2;
10875 	/** */
10876 	extern(C) void function() GtkReserved3;
10877 	/** */
10878 	extern(C) void function() GtkReserved4;
10879 }
10880 
10881 struct GtkTreeSelectionPrivate;
10882 
10883 struct GtkTreeSortable;
10884 
10885 struct GtkTreeSortableIface
10886 {
10887 	GTypeInterface gIface;
10888 	/** */
10889 	extern(C) void function(GtkTreeSortable* sortable) sortColumnChanged;
10890 	/**
10891 	 *
10892 	 * Params:
10893 	 *     sortable = A #GtkTreeSortable
10894 	 *     sortColumnId = The sort column id to be filled in
10895 	 *     order = The #GtkSortType to be filled in
10896 	 * Returns: %TRUE if the sort column is not one of the special sort
10897 	 *     column ids.
10898 	 */
10899 	extern(C) int function(GtkTreeSortable* sortable, int* sortColumnId, GtkSortType* order) getSortColumnId;
10900 	/** */
10901 	extern(C) void function(GtkTreeSortable* sortable, int sortColumnId, GtkSortType order) setSortColumnId;
10902 	/** */
10903 	extern(C) void function(GtkTreeSortable* sortable, int sortColumnId, GtkTreeIterCompareFunc sortFunc, void* userData, GDestroyNotify destroy) setSortFunc;
10904 	/** */
10905 	extern(C) void function(GtkTreeSortable* sortable, GtkTreeIterCompareFunc sortFunc, void* userData, GDestroyNotify destroy) setDefaultSortFunc;
10906 	/**
10907 	 *
10908 	 * Params:
10909 	 *     sortable = A #GtkTreeSortable
10910 	 * Returns: %TRUE, if the model has a default sort function
10911 	 */
10912 	extern(C) int function(GtkTreeSortable* sortable) hasDefaultSortFunc;
10913 }
10914 
10915 struct GtkTreeStore
10916 {
10917 	GObject parent;
10918 	GtkTreeStorePrivate* priv;
10919 }
10920 
10921 struct GtkTreeStoreClass
10922 {
10923 	GObjectClass parentClass;
10924 	/** */
10925 	extern(C) void function() GtkReserved1;
10926 	/** */
10927 	extern(C) void function() GtkReserved2;
10928 	/** */
10929 	extern(C) void function() GtkReserved3;
10930 	/** */
10931 	extern(C) void function() GtkReserved4;
10932 }
10933 
10934 struct GtkTreeStorePrivate;
10935 
10936 struct GtkTreeView
10937 {
10938 	GtkContainer parent;
10939 	GtkTreeViewPrivate* priv;
10940 }
10941 
10942 struct GtkTreeViewAccessible
10943 {
10944 	GtkContainerAccessible parent;
10945 	GtkTreeViewAccessiblePrivate* priv;
10946 }
10947 
10948 struct GtkTreeViewAccessibleClass
10949 {
10950 	GtkContainerAccessibleClass parentClass;
10951 }
10952 
10953 struct GtkTreeViewAccessiblePrivate;
10954 
10955 struct GtkTreeViewClass
10956 {
10957 	GtkContainerClass parentClass;
10958 	/** */
10959 	extern(C) void function(GtkTreeView* treeView, GtkTreePath* path, GtkTreeViewColumn* column) rowActivated;
10960 	/** */
10961 	extern(C) int function(GtkTreeView* treeView, GtkTreeIter* iter, GtkTreePath* path) testExpandRow;
10962 	/** */
10963 	extern(C) int function(GtkTreeView* treeView, GtkTreeIter* iter, GtkTreePath* path) testCollapseRow;
10964 	/** */
10965 	extern(C) void function(GtkTreeView* treeView, GtkTreeIter* iter, GtkTreePath* path) rowExpanded;
10966 	/** */
10967 	extern(C) void function(GtkTreeView* treeView, GtkTreeIter* iter, GtkTreePath* path) rowCollapsed;
10968 	/** */
10969 	extern(C) void function(GtkTreeView* treeView) columnsChanged;
10970 	/** */
10971 	extern(C) void function(GtkTreeView* treeView) cursorChanged;
10972 	/** */
10973 	extern(C) int function(GtkTreeView* treeView, GtkMovementStep step, int count) moveCursor;
10974 	/** */
10975 	extern(C) int function(GtkTreeView* treeView) selectAll;
10976 	/** */
10977 	extern(C) int function(GtkTreeView* treeView) unselectAll;
10978 	/** */
10979 	extern(C) int function(GtkTreeView* treeView, int startEditing) selectCursorRow;
10980 	/** */
10981 	extern(C) int function(GtkTreeView* treeView) toggleCursorRow;
10982 	/** */
10983 	extern(C) int function(GtkTreeView* treeView, int logical, int expand, int openAll) expandCollapseCursorRow;
10984 	/** */
10985 	extern(C) int function(GtkTreeView* treeView) selectCursorParent;
10986 	/** */
10987 	extern(C) int function(GtkTreeView* treeView) startInteractiveSearch;
10988 	/** */
10989 	extern(C) void function() GtkReserved1;
10990 	/** */
10991 	extern(C) void function() GtkReserved2;
10992 	/** */
10993 	extern(C) void function() GtkReserved3;
10994 	/** */
10995 	extern(C) void function() GtkReserved4;
10996 	/** */
10997 	extern(C) void function() GtkReserved5;
10998 	/** */
10999 	extern(C) void function() GtkReserved6;
11000 	/** */
11001 	extern(C) void function() GtkReserved7;
11002 	/** */
11003 	extern(C) void function() GtkReserved8;
11004 }
11005 
11006 struct GtkTreeViewColumn
11007 {
11008 	GObject parentInstance;
11009 	GtkTreeViewColumnPrivate* priv;
11010 }
11011 
11012 struct GtkTreeViewColumnClass
11013 {
11014 	GObjectClass parentClass;
11015 	/** */
11016 	extern(C) void function(GtkTreeViewColumn* treeColumn) clicked;
11017 	/** */
11018 	extern(C) void function() GtkReserved1;
11019 	/** */
11020 	extern(C) void function() GtkReserved2;
11021 	/** */
11022 	extern(C) void function() GtkReserved3;
11023 	/** */
11024 	extern(C) void function() GtkReserved4;
11025 }
11026 
11027 struct GtkTreeViewColumnPrivate;
11028 
11029 struct GtkTreeViewPrivate;
11030 
11031 struct GtkUIManager
11032 {
11033 	GObject parent;
11034 	GtkUIManagerPrivate* privateData;
11035 }
11036 
11037 struct GtkUIManagerClass
11038 {
11039 	GObjectClass parentClass;
11040 	/** */
11041 	extern(C) void function(GtkUIManager* manager, GtkWidget* widget) addWidget;
11042 	/** */
11043 	extern(C) void function(GtkUIManager* manager) actionsChanged;
11044 	/** */
11045 	extern(C) void function(GtkUIManager* manager, GtkAction* action, GtkWidget* proxy) connectProxy;
11046 	/** */
11047 	extern(C) void function(GtkUIManager* manager, GtkAction* action, GtkWidget* proxy) disconnectProxy;
11048 	/** */
11049 	extern(C) void function(GtkUIManager* manager, GtkAction* action) preActivate;
11050 	/** */
11051 	extern(C) void function(GtkUIManager* manager, GtkAction* action) postActivate;
11052 	/**
11053 	 *
11054 	 * Params:
11055 	 *     manager = a #GtkUIManager
11056 	 *     path = a path
11057 	 * Returns: the widget found by following the path,
11058 	 *     or %NULL if no widget was found
11059 	 */
11060 	extern(C) GtkWidget* function(GtkUIManager* manager, const(char)* path) getWidget;
11061 	/**
11062 	 *
11063 	 * Params:
11064 	 *     manager = a #GtkUIManager
11065 	 *     path = a path
11066 	 * Returns: the action whose proxy widget is found by following the path,
11067 	 *     or %NULL if no widget was found.
11068 	 */
11069 	extern(C) GtkAction* function(GtkUIManager* manager, const(char)* path) getAction;
11070 	/** */
11071 	extern(C) void function() GtkReserved1;
11072 	/** */
11073 	extern(C) void function() GtkReserved2;
11074 	/** */
11075 	extern(C) void function() GtkReserved3;
11076 	/** */
11077 	extern(C) void function() GtkReserved4;
11078 }
11079 
11080 struct GtkUIManagerPrivate;
11081 
11082 struct GtkVBox
11083 {
11084 	GtkBox box;
11085 }
11086 
11087 struct GtkVBoxClass
11088 {
11089 	GtkBoxClass parentClass;
11090 }
11091 
11092 struct GtkVButtonBox
11093 {
11094 	GtkButtonBox buttonBox;
11095 }
11096 
11097 struct GtkVButtonBoxClass
11098 {
11099 	GtkButtonBoxClass parentClass;
11100 }
11101 
11102 struct GtkVPaned
11103 {
11104 	GtkPaned paned;
11105 }
11106 
11107 struct GtkVPanedClass
11108 {
11109 	GtkPanedClass parentClass;
11110 }
11111 
11112 struct GtkVScale
11113 {
11114 	GtkScale scale;
11115 }
11116 
11117 struct GtkVScaleClass
11118 {
11119 	GtkScaleClass parentClass;
11120 }
11121 
11122 struct GtkVScrollbar
11123 {
11124 	GtkScrollbar scrollbar;
11125 }
11126 
11127 struct GtkVScrollbarClass
11128 {
11129 	GtkScrollbarClass parentClass;
11130 }
11131 
11132 struct GtkVSeparator
11133 {
11134 	GtkSeparator separator;
11135 }
11136 
11137 struct GtkVSeparatorClass
11138 {
11139 	GtkSeparatorClass parentClass;
11140 }
11141 
11142 struct GtkViewport
11143 {
11144 	GtkBin bin;
11145 	GtkViewportPrivate* priv;
11146 }
11147 
11148 struct GtkViewportClass
11149 {
11150 	/**
11151 	 * The parent class.
11152 	 */
11153 	GtkBinClass parentClass;
11154 	/** */
11155 	extern(C) void function() GtkReserved1;
11156 	/** */
11157 	extern(C) void function() GtkReserved2;
11158 	/** */
11159 	extern(C) void function() GtkReserved3;
11160 	/** */
11161 	extern(C) void function() GtkReserved4;
11162 }
11163 
11164 struct GtkViewportPrivate;
11165 
11166 struct GtkVolumeButton
11167 {
11168 	GtkScaleButton parent;
11169 }
11170 
11171 struct GtkVolumeButtonClass
11172 {
11173 	GtkScaleButtonClass parentClass;
11174 	/** */
11175 	extern(C) void function() GtkReserved1;
11176 	/** */
11177 	extern(C) void function() GtkReserved2;
11178 	/** */
11179 	extern(C) void function() GtkReserved3;
11180 	/** */
11181 	extern(C) void function() GtkReserved4;
11182 }
11183 
11184 struct GtkWidget
11185 {
11186 	GObject parentInstance;
11187 	GtkWidgetPrivate* priv;
11188 }
11189 
11190 struct GtkWidgetAccessible
11191 {
11192 	GtkAccessible parent;
11193 	GtkWidgetAccessiblePrivate* priv;
11194 }
11195 
11196 struct GtkWidgetAccessibleClass
11197 {
11198 	GtkAccessibleClass parentClass;
11199 	/** */
11200 	extern(C) void function(GObject* object, GParamSpec* pspec) notifyGtk;
11201 }
11202 
11203 struct GtkWidgetAccessiblePrivate;
11204 
11205 struct GtkWidgetClass
11206 {
11207 	/**
11208 	 * The object class structure needs to be the first
11209 	 * element in the widget class structure in order for the class mechanism
11210 	 * to work correctly. This allows a GtkWidgetClass pointer to be cast to
11211 	 * a GObjectClass pointer.
11212 	 */
11213 	GObjectClass parentClass;
11214 	/**
11215 	 * The signal to emit when a widget of this class is
11216 	 * activated, gtk_widget_activate() handles the emission.
11217 	 * Implementation of this signal is optional.
11218 	 */
11219 	uint activateSignal;
11220 	/** */
11221 	extern(C) void function(GtkWidget* widget, uint nPspecs, GParamSpec** pspecs) dispatchChildPropertiesChanged;
11222 	/** */
11223 	extern(C) void function(GtkWidget* widget) destroy;
11224 	/** */
11225 	extern(C) void function(GtkWidget* widget) show;
11226 	/** */
11227 	extern(C) void function(GtkWidget* widget) showAll;
11228 	/** */
11229 	extern(C) void function(GtkWidget* widget) hide;
11230 	/** */
11231 	extern(C) void function(GtkWidget* widget) map;
11232 	/** */
11233 	extern(C) void function(GtkWidget* widget) unmap;
11234 	/** */
11235 	extern(C) void function(GtkWidget* widget) realize;
11236 	/** */
11237 	extern(C) void function(GtkWidget* widget) unrealize;
11238 	/** */
11239 	extern(C) void function(GtkWidget* widget, GtkAllocation* allocation) sizeAllocate;
11240 	/** */
11241 	extern(C) void function(GtkWidget* widget, GtkStateType previousState) stateChanged;
11242 	/** */
11243 	extern(C) void function(GtkWidget* widget, GtkStateFlags previousStateFlags) stateFlagsChanged;
11244 	/** */
11245 	extern(C) void function(GtkWidget* widget, GtkWidget* previousParent) parentSet;
11246 	/** */
11247 	extern(C) void function(GtkWidget* widget, GtkWidget* previousToplevel) hierarchyChanged;
11248 	/** */
11249 	extern(C) void function(GtkWidget* widget, GtkStyle* previousStyle) styleSet;
11250 	/** */
11251 	extern(C) void function(GtkWidget* widget, GtkTextDirection previousDirection) directionChanged;
11252 	/** */
11253 	extern(C) void function(GtkWidget* widget, int wasGrabbed) grabNotify;
11254 	/** */
11255 	extern(C) void function(GtkWidget* widget, GParamSpec* childProperty) childNotify;
11256 	/** */
11257 	extern(C) int function(GtkWidget* widget, cairo_t* cr) draw;
11258 	/**
11259 	 *
11260 	 * Params:
11261 	 *     widget = a #GtkWidget instance
11262 	 * Returns: The #GtkSizeRequestMode preferred by @widget.
11263 	 */
11264 	extern(C) GtkSizeRequestMode function(GtkWidget* widget) getRequestMode;
11265 	/** */
11266 	extern(C) void function(GtkWidget* widget, int* minimumHeight, int* naturalHeight) getPreferredHeight;
11267 	/** */
11268 	extern(C) void function(GtkWidget* widget, int height, int* minimumWidth, int* naturalWidth) getPreferredWidthForHeight;
11269 	/** */
11270 	extern(C) void function(GtkWidget* widget, int* minimumWidth, int* naturalWidth) getPreferredWidth;
11271 	/** */
11272 	extern(C) void function(GtkWidget* widget, int width, int* minimumHeight, int* naturalHeight) getPreferredHeightForWidth;
11273 	/**
11274 	 *
11275 	 * Params:
11276 	 *     widget = a #GtkWidget
11277 	 *     groupCycling = %TRUE if there are other widgets with the same mnemonic
11278 	 * Returns: %TRUE if the signal has been handled
11279 	 */
11280 	extern(C) int function(GtkWidget* widget, int groupCycling) mnemonicActivate;
11281 	/** */
11282 	extern(C) void function(GtkWidget* widget) grabFocus;
11283 	/** */
11284 	extern(C) int function(GtkWidget* widget, GtkDirectionType direction) focus;
11285 	/** */
11286 	extern(C) void function(GtkWidget* widget, GtkDirectionType direction) moveFocus;
11287 	/**
11288 	 *
11289 	 * Params:
11290 	 *     widget = a #GtkWidget
11291 	 *     direction = direction of focus movement
11292 	 * Returns: %TRUE if stopping keyboard navigation is fine, %FALSE
11293 	 *     if the emitting widget should try to handle the keyboard
11294 	 *     navigation attempt in its parent container(s).
11295 	 */
11296 	extern(C) int function(GtkWidget* widget, GtkDirectionType direction) keynavFailed;
11297 	/**
11298 	 *
11299 	 * Params:
11300 	 *     widget = a #GtkWidget
11301 	 *     event = a #GdkEvent
11302 	 * Returns: return from the event signal emission (%TRUE if
11303 	 *     the event was handled)
11304 	 */
11305 	extern(C) int function(GtkWidget* widget, GdkEvent* event) event;
11306 	/** */
11307 	extern(C) int function(GtkWidget* widget, GdkEventButton* event) buttonPressEvent;
11308 	/** */
11309 	extern(C) int function(GtkWidget* widget, GdkEventButton* event) buttonReleaseEvent;
11310 	/** */
11311 	extern(C) int function(GtkWidget* widget, GdkEventScroll* event) scrollEvent;
11312 	/** */
11313 	extern(C) int function(GtkWidget* widget, GdkEventMotion* event) motionNotifyEvent;
11314 	/** */
11315 	extern(C) int function(GtkWidget* widget, GdkEventAny* event) deleteEvent;
11316 	/** */
11317 	extern(C) int function(GtkWidget* widget, GdkEventAny* event) destroyEvent;
11318 	/** */
11319 	extern(C) int function(GtkWidget* widget, GdkEventKey* event) keyPressEvent;
11320 	/** */
11321 	extern(C) int function(GtkWidget* widget, GdkEventKey* event) keyReleaseEvent;
11322 	/** */
11323 	extern(C) int function(GtkWidget* widget, GdkEventCrossing* event) enterNotifyEvent;
11324 	/** */
11325 	extern(C) int function(GtkWidget* widget, GdkEventCrossing* event) leaveNotifyEvent;
11326 	/** */
11327 	extern(C) int function(GtkWidget* widget, GdkEventConfigure* event) configureEvent;
11328 	/** */
11329 	extern(C) int function(GtkWidget* widget, GdkEventFocus* event) focusInEvent;
11330 	/** */
11331 	extern(C) int function(GtkWidget* widget, GdkEventFocus* event) focusOutEvent;
11332 	/** */
11333 	extern(C) int function(GtkWidget* widget, GdkEventAny* event) mapEvent;
11334 	/** */
11335 	extern(C) int function(GtkWidget* widget, GdkEventAny* event) unmapEvent;
11336 	/** */
11337 	extern(C) int function(GtkWidget* widget, GdkEventProperty* event) propertyNotifyEvent;
11338 	/** */
11339 	extern(C) int function(GtkWidget* widget, GdkEventSelection* event) selectionClearEvent;
11340 	/** */
11341 	extern(C) int function(GtkWidget* widget, GdkEventSelection* event) selectionRequestEvent;
11342 	/** */
11343 	extern(C) int function(GtkWidget* widget, GdkEventSelection* event) selectionNotifyEvent;
11344 	/** */
11345 	extern(C) int function(GtkWidget* widget, GdkEventProximity* event) proximityInEvent;
11346 	/** */
11347 	extern(C) int function(GtkWidget* widget, GdkEventProximity* event) proximityOutEvent;
11348 	/** */
11349 	extern(C) int function(GtkWidget* widget, GdkEventVisibility* event) visibilityNotifyEvent;
11350 	/** */
11351 	extern(C) int function(GtkWidget* widget, GdkEventWindowState* event) windowStateEvent;
11352 	/** */
11353 	extern(C) int function(GtkWidget* widget, GdkEventExpose* event) damageEvent;
11354 	/** */
11355 	extern(C) int function(GtkWidget* widget, GdkEventGrabBroken* event) grabBrokenEvent;
11356 	/** */
11357 	extern(C) void function(GtkWidget* widget, GtkSelectionData* selectionData, uint info, uint time) selectionGet;
11358 	/** */
11359 	extern(C) void function(GtkWidget* widget, GtkSelectionData* selectionData, uint time) selectionReceived;
11360 	/** */
11361 	extern(C) void function(GtkWidget* widget, GdkDragContext* context) dragBegin;
11362 	/** */
11363 	extern(C) void function(GtkWidget* widget, GdkDragContext* context) dragEnd;
11364 	/** */
11365 	extern(C) void function(GtkWidget* widget, GdkDragContext* context, GtkSelectionData* selectionData, uint info, uint time) dragDataGet;
11366 	/** */
11367 	extern(C) void function(GtkWidget* widget, GdkDragContext* context) dragDataDelete;
11368 	/** */
11369 	extern(C) void function(GtkWidget* widget, GdkDragContext* context, uint time) dragLeave;
11370 	/** */
11371 	extern(C) int function(GtkWidget* widget, GdkDragContext* context, int x, int y, uint time) dragMotion;
11372 	/** */
11373 	extern(C) int function(GtkWidget* widget, GdkDragContext* context, int x, int y, uint time) dragDrop;
11374 	/** */
11375 	extern(C) void function(GtkWidget* widget, GdkDragContext* context, int x, int y, GtkSelectionData* selectionData, uint info, uint time) dragDataReceived;
11376 	/** */
11377 	extern(C) int function(GtkWidget* widget, GdkDragContext* context, GtkDragResult result) dragFailed;
11378 	/** */
11379 	extern(C) int function(GtkWidget* widget) popupMenu;
11380 	/** */
11381 	extern(C) int function(GtkWidget* widget, GtkWidgetHelpType helpType) showHelp;
11382 	/**
11383 	 *
11384 	 * Params:
11385 	 *     widget = a #GtkWidget
11386 	 * Returns: the #AtkObject associated with @widget
11387 	 */
11388 	extern(C) AtkObject* function(GtkWidget* widget) getAccessible;
11389 	/** */
11390 	extern(C) void function(GtkWidget* widget, GdkScreen* previousScreen) screenChanged;
11391 	/**
11392 	 *
11393 	 * Params:
11394 	 *     widget = a #GtkWidget
11395 	 *     signalId = the ID of a signal installed on @widget
11396 	 * Returns: %TRUE if the accelerator can be activated.
11397 	 */
11398 	extern(C) int function(GtkWidget* widget, uint signalId) canActivateAccel;
11399 	/** */
11400 	extern(C) void function(GtkWidget* widget) compositedChanged;
11401 	/** */
11402 	extern(C) int function(GtkWidget* widget, int x, int y, int keyboardTooltip, GtkTooltip* tooltip) queryTooltip;
11403 	/** */
11404 	extern(C) void function(GtkWidget* widget, int* hexpandP, int* vexpandP) computeExpand;
11405 	/** */
11406 	extern(C) void function(GtkWidget* widget, GtkOrientation orientation, int* minimumSize, int* naturalSize) adjustSizeRequest;
11407 	/** */
11408 	extern(C) void function(GtkWidget* widget, GtkOrientation orientation, int* minimumSize, int* naturalSize, int* allocatedPos, int* allocatedSize) adjustSizeAllocation;
11409 	/** */
11410 	extern(C) void function(GtkWidget* widget) styleUpdated;
11411 	/** */
11412 	extern(C) int function(GtkWidget* widget, GdkEventTouch* event) touchEvent;
11413 	/** */
11414 	extern(C) void function(GtkWidget* widget, int width, int* minimumHeight, int* naturalHeight, int* minimumBaseline, int* naturalBaseline) getPreferredHeightAndBaselineForWidth;
11415 	/** */
11416 	extern(C) void function(GtkWidget* widget, int* minimumBaseline, int* naturalBaseline) adjustBaselineRequest;
11417 	/** */
11418 	extern(C) void function(GtkWidget* widget, int* baseline) adjustBaselineAllocation;
11419 	/** */
11420 	extern(C) void function(GtkWidget* widget, cairo_region_t* region) queueDrawRegion;
11421 	GtkWidgetClassPrivate* priv;
11422 	/** */
11423 	extern(C) void function() GtkReserved6;
11424 	/** */
11425 	extern(C) void function() GtkReserved7;
11426 }
11427 
11428 struct GtkWidgetClassPrivate;
11429 
11430 struct GtkWidgetPath;
11431 
11432 struct GtkWidgetPrivate;
11433 
11434 struct GtkWindow
11435 {
11436 	GtkBin bin;
11437 	GtkWindowPrivate* priv;
11438 }
11439 
11440 struct GtkWindowAccessible
11441 {
11442 	GtkContainerAccessible parent;
11443 	GtkWindowAccessiblePrivate* priv;
11444 }
11445 
11446 struct GtkWindowAccessibleClass
11447 {
11448 	GtkContainerAccessibleClass parentClass;
11449 }
11450 
11451 struct GtkWindowAccessiblePrivate;
11452 
11453 struct GtkWindowClass
11454 {
11455 	/**
11456 	 * The parent class.
11457 	 */
11458 	GtkBinClass parentClass;
11459 	/** */
11460 	extern(C) void function(GtkWindow* window, GtkWidget* focus) setFocus;
11461 	/** */
11462 	extern(C) void function(GtkWindow* window) activateFocus;
11463 	/** */
11464 	extern(C) void function(GtkWindow* window) activateDefault;
11465 	/** */
11466 	extern(C) void function(GtkWindow* window) keysChanged;
11467 	/** */
11468 	extern(C) int function(GtkWindow* window, int toggle) enableDebugging;
11469 	/** */
11470 	extern(C) void function() GtkReserved1;
11471 	/** */
11472 	extern(C) void function() GtkReserved2;
11473 	/** */
11474 	extern(C) void function() GtkReserved3;
11475 }
11476 
11477 struct GtkWindowGeometryInfo;
11478 
11479 struct GtkWindowGroup
11480 {
11481 	GObject parentInstance;
11482 	GtkWindowGroupPrivate* priv;
11483 }
11484 
11485 struct GtkWindowGroupClass
11486 {
11487 	GObjectClass parentClass;
11488 	/** */
11489 	extern(C) void function() GtkReserved1;
11490 	/** */
11491 	extern(C) void function() GtkReserved2;
11492 	/** */
11493 	extern(C) void function() GtkReserved3;
11494 	/** */
11495 	extern(C) void function() GtkReserved4;
11496 }
11497 
11498 struct GtkWindowGroupPrivate;
11499 
11500 struct GtkWindowPrivate;
11501 
11502 /** */
11503 public alias extern(C) int function(GtkAccelGroup* accelGroup, GObject* acceleratable, uint keyval, GdkModifierType modifier) GtkAccelGroupActivate;
11504 
11505 /** */
11506 public alias extern(C) int function(GtkAccelKey* key, GClosure* closure, void* data) GtkAccelGroupFindFunc;
11507 
11508 /** */
11509 public alias extern(C) void function(void* data, const(char)* accelPath, uint accelKey, GdkModifierType accelMods, int changed) GtkAccelMapForeach;
11510 
11511 /**
11512  * A function used by gtk_assistant_set_forward_page_func() to know which
11513  * is the next page given a current one. It’s called both for computing the
11514  * next page when the user presses the “forward” button and for handling
11515  * the behavior of the “last” button.
11516  *
11517  * Params:
11518  *     currentPage = The page number used to calculate the next page.
11519  *     data = user data.
11520  *
11521  * Returns: The next page number.
11522  */
11523 public alias extern(C) int function(int currentPage, void* data) GtkAssistantPageFunc;
11524 
11525 /**
11526  * This is the signature of a function used to connect signals.  It is used
11527  * by the gtk_builder_connect_signals() and gtk_builder_connect_signals_full()
11528  * methods.  It is mainly intended for interpreted language bindings, but
11529  * could be useful where the programmer wants more control over the signal
11530  * connection process. Note that this function can only be called once,
11531  * subsequent calls will do nothing.
11532  *
11533  * Params:
11534  *     builder = a #GtkBuilder
11535  *     object = object to connect a signal to
11536  *     signalName = name of the signal
11537  *     handlerName = name of the handler
11538  *     connectObject = a #GObject, if non-%NULL, use g_signal_connect_object()
11539  *     flags = #GConnectFlags to use
11540  *     userData = user data
11541  *
11542  * Since: 2.12
11543  */
11544 public alias extern(C) void function(GtkBuilder* builder, GObject* object, const(char)* signalName, const(char)* handlerName, GObject* connectObject, GConnectFlags flags, void* userData) GtkBuilderConnectFunc;
11545 
11546 /**
11547  * This kind of functions provide Pango markup with detail information for the
11548  * specified day. Examples for such details are holidays or appointments. The
11549  * function returns %NULL when no information is available.
11550  *
11551  * Params:
11552  *     calendar = a #GtkCalendar.
11553  *     year = the year for which details are needed.
11554  *     month = the month for which details are needed.
11555  *     day = the day of @month for which details are needed.
11556  *     userData = the data passed with gtk_calendar_set_detail_func().
11557  *
11558  * Returns: Newly allocated string with Pango markup
11559  *     with details for the specified day or %NULL.
11560  *
11561  * Since: 2.14
11562  */
11563 public alias extern(C) char* function(GtkCalendar* calendar, uint year, uint month, uint day, void* userData) GtkCalendarDetailFunc;
11564 
11565 /**
11566  * The type of the callback functions used for e.g. iterating over
11567  * the children of a container, see gtk_container_foreach().
11568  *
11569  * Params:
11570  *     widget = the widget to operate on
11571  *     data = user-supplied data
11572  */
11573 public alias extern(C) void function(GtkWidget* widget, void* data) GtkCallback;
11574 
11575 /**
11576  * The type of the callback functions used for iterating over the
11577  * cell renderers and their allocated areas inside a #GtkCellArea,
11578  * see gtk_cell_area_foreach_alloc().
11579  *
11580  * Params:
11581  *     renderer = the cell renderer to operate on
11582  *     cellArea = the area allocated to @renderer inside the rectangle
11583  *         provided to gtk_cell_area_foreach_alloc().
11584  *     cellBackground = the background area for @renderer inside the
11585  *         background area provided to gtk_cell_area_foreach_alloc().
11586  *     data = user-supplied data
11587  *
11588  * Returns: %TRUE to stop iterating over cells.
11589  */
11590 public alias extern(C) int function(GtkCellRenderer* renderer, GdkRectangle* cellArea, GdkRectangle* cellBackground, void* data) GtkCellAllocCallback;
11591 
11592 /**
11593  * The type of the callback functions used for iterating over
11594  * the cell renderers of a #GtkCellArea, see gtk_cell_area_foreach().
11595  *
11596  * Params:
11597  *     renderer = the cell renderer to operate on
11598  *     data = user-supplied data
11599  *
11600  * Returns: %TRUE to stop iterating over cells.
11601  */
11602 public alias extern(C) int function(GtkCellRenderer* renderer, void* data) GtkCellCallback;
11603 
11604 /**
11605  * A function which should set the value of @cell_layout’s cell renderer(s)
11606  * as appropriate.
11607  *
11608  * Params:
11609  *     cellLayout = a #GtkCellLayout
11610  *     cell = the cell renderer whose value is to be set
11611  *     treeModel = the model
11612  *     iter = a #GtkTreeIter indicating the row to set the value for
11613  *     data = user data passed to gtk_cell_layout_set_cell_data_func()
11614  */
11615 public alias extern(C) void function(GtkCellLayout* cellLayout, GtkCellRenderer* cell, GtkTreeModel* treeModel, GtkTreeIter* iter, void* data) GtkCellLayoutDataFunc;
11616 
11617 /**
11618  * A function that will be called when the contents of the clipboard are changed
11619  * or cleared. Once this has called, the @user_data_or_owner argument
11620  * will not be used again.
11621  *
11622  * Params:
11623  *     clipboard = the #GtkClipboard
11624  *     userDataOrOwner = the @user_data argument passed to gtk_clipboard_set_with_data(),
11625  *         or the @owner argument passed to gtk_clipboard_set_with_owner()
11626  */
11627 public alias extern(C) void function(GtkClipboard* clipboard, void* userDataOrOwner) GtkClipboardClearFunc;
11628 
11629 /**
11630  * A function that will be called to provide the contents of the selection.
11631  * If multiple types of data were advertised, the requested type can
11632  * be determined from the @info parameter or by checking the target field
11633  * of @selection_data. If the data could successfully be converted into
11634  * then it should be stored into the @selection_data object by
11635  * calling gtk_selection_data_set() (or related functions such
11636  * as gtk_selection_data_set_text()). If no data is set, the requestor
11637  * will be informed that the attempt to get the data failed.
11638  *
11639  * Params:
11640  *     clipboard = the #GtkClipboard
11641  *     selectionData = a #GtkSelectionData argument in which the requested
11642  *         data should be stored.
11643  *     info = the info field corresponding to the requested target from the
11644  *         #GtkTargetEntry array passed to gtk_clipboard_set_with_data() or
11645  *         gtk_clipboard_set_with_owner().
11646  *     userDataOrOwner = the @user_data argument passed to
11647  *         gtk_clipboard_set_with_data(), or the @owner argument passed to
11648  *         gtk_clipboard_set_with_owner()
11649  */
11650 public alias extern(C) void function(GtkClipboard* clipboard, GtkSelectionData* selectionData, uint info, void* userDataOrOwner) GtkClipboardGetFunc;
11651 
11652 /**
11653  * A function to be called when the results of gtk_clipboard_request_image()
11654  * are received, or when the request fails.
11655  *
11656  * Params:
11657  *     clipboard = the #GtkClipboard
11658  *     pixbuf = the received image
11659  *     data = the @user_data supplied to
11660  *         gtk_clipboard_request_image().
11661  *
11662  * Since: 2.6
11663  */
11664 public alias extern(C) void function(GtkClipboard* clipboard, GdkPixbuf* pixbuf, void* data) GtkClipboardImageReceivedFunc;
11665 
11666 /**
11667  * A function to be called when the results of gtk_clipboard_request_contents()
11668  * are received, or when the request fails.
11669  *
11670  * Params:
11671  *     clipboard = the #GtkClipboard
11672  *     selectionData = a #GtkSelectionData containing the data was received.
11673  *         If retrieving the data failed, then then length field
11674  *         of @selection_data will be negative.
11675  *     data = the @user_data supplied to
11676  *         gtk_clipboard_request_contents().
11677  */
11678 public alias extern(C) void function(GtkClipboard* clipboard, GtkSelectionData* selectionData, void* data) GtkClipboardReceivedFunc;
11679 
11680 /**
11681  * A function to be called when the results of
11682  * gtk_clipboard_request_rich_text() are received, or when the request
11683  * fails.
11684  *
11685  * Params:
11686  *     clipboard = the #GtkClipboard
11687  *     format = The format of the rich text
11688  *     text = the rich text received, as
11689  *         a UTF-8 encoded string, or %NULL if retrieving the data failed.
11690  *     length = Length of the text.
11691  *     data = the @user_data supplied to
11692  *         gtk_clipboard_request_rich_text().
11693  *
11694  * Since: 2.10
11695  */
11696 public alias extern(C) void function(GtkClipboard* clipboard, GdkAtom format, ubyte* text, size_t length, void* data) GtkClipboardRichTextReceivedFunc;
11697 
11698 /**
11699  * A function to be called when the results of gtk_clipboard_request_targets()
11700  * are received, or when the request fails.
11701  *
11702  * Params:
11703  *     clipboard = the #GtkClipboard
11704  *     atoms = the supported targets,
11705  *         as array of #GdkAtom, or %NULL if retrieving the data failed.
11706  *     nAtoms = the length of the @atoms array.
11707  *     data = the @user_data supplied to
11708  *         gtk_clipboard_request_targets().
11709  *
11710  * Since: 2.4
11711  */
11712 public alias extern(C) void function(GtkClipboard* clipboard, GdkAtom* atoms, int nAtoms, void* data) GtkClipboardTargetsReceivedFunc;
11713 
11714 /**
11715  * A function to be called when the results of gtk_clipboard_request_text()
11716  * are received, or when the request fails.
11717  *
11718  * Params:
11719  *     clipboard = the #GtkClipboard
11720  *     text = the text received, as a UTF-8 encoded string, or
11721  *         %NULL if retrieving the data failed.
11722  *     data = the @user_data supplied to
11723  *         gtk_clipboard_request_text().
11724  */
11725 public alias extern(C) void function(GtkClipboard* clipboard, const(char)* text, void* data) GtkClipboardTextReceivedFunc;
11726 
11727 /**
11728  * A function to be called when the results of
11729  * gtk_clipboard_request_uris() are received, or when the request
11730  * fails.
11731  *
11732  * Params:
11733  *     clipboard = the #GtkClipboard
11734  *     uris = the received URIs
11735  *     data = the @user_data supplied to
11736  *         gtk_clipboard_request_uris().
11737  *
11738  * Since: 2.14
11739  */
11740 public alias extern(C) void function(GtkClipboard* clipboard, char** uris, void* data) GtkClipboardURIReceivedFunc;
11741 
11742 /** */
11743 public alias extern(C) void function(GdkColor* colors, int nColors) GtkColorSelectionChangePaletteFunc;
11744 
11745 /** */
11746 public alias extern(C) void function(GdkScreen* screen, GdkColor* colors, int nColors) GtkColorSelectionChangePaletteWithScreenFunc;
11747 
11748 /**
11749  * A function which decides whether the row indicated by @iter matches
11750  * a given @key, and should be displayed as a possible completion for @key.
11751  * Note that @key is normalized and case-folded (see g_utf8_normalize()
11752  * and g_utf8_casefold()). If this is not appropriate, match functions
11753  * have access to the unmodified key via
11754  * `gtk_entry_get_text (GTK_ENTRY (gtk_entry_completion_get_entry ()))`.
11755  *
11756  * Params:
11757  *     completion = the #GtkEntryCompletion
11758  *     key = the string to match, normalized and case-folded
11759  *     iter = a #GtkTreeIter indicating the row to match
11760  *     userData = user data given to gtk_entry_completion_set_match_func()
11761  *
11762  * Returns: %TRUE if @iter should be displayed as a possible completion
11763  *     for @key
11764  */
11765 public alias extern(C) int function(GtkEntryCompletion* completion, const(char)* key, GtkTreeIter* iter, void* userData) GtkEntryCompletionMatchFunc;
11766 
11767 /**
11768  * The type of function that is used with custom filters, see
11769  * gtk_file_filter_add_custom().
11770  *
11771  * Params:
11772  *     filterInfo = a #GtkFileFilterInfo that is filled according
11773  *         to the @needed flags passed to gtk_file_filter_add_custom()
11774  *     data = user data passed to gtk_file_filter_add_custom()
11775  *
11776  * Returns: %TRUE if the file should be displayed
11777  */
11778 public alias extern(C) int function(GtkFileFilterInfo* filterInfo, void* data) GtkFileFilterFunc;
11779 
11780 /**
11781  * Called for flow boxes that are bound to a #GListModel with
11782  * gtk_flow_box_bind_model() for each item that gets added to the model.
11783  *
11784  * Params:
11785  *     item = the item from the model for which to create a widget for
11786  *     userData = user data from gtk_flow_box_bind_model()
11787  *
11788  * Returns: a #GtkWidget that represents @item
11789  *
11790  * Since: 3.18
11791  */
11792 public alias extern(C) GtkWidget* function(void* item, void* userData) GtkFlowBoxCreateWidgetFunc;
11793 
11794 /**
11795  * A function that will be called whenrever a child changes
11796  * or is added. It lets you control if the child should be
11797  * visible or not.
11798  *
11799  * Params:
11800  *     child = a #GtkFlowBoxChild that may be filtered
11801  *     userData = user data
11802  *
11803  * Returns: %TRUE if the row should be visible, %FALSE otherwise
11804  *
11805  * Since: 3.12
11806  */
11807 public alias extern(C) int function(GtkFlowBoxChild* child, void* userData) GtkFlowBoxFilterFunc;
11808 
11809 /**
11810  * A function used by gtk_flow_box_selected_foreach().
11811  * It will be called on every selected child of the @box.
11812  *
11813  * Params:
11814  *     box = a #GtkFlowBox
11815  *     child = a #GtkFlowBoxChild
11816  *     userData = user data
11817  *
11818  * Since: 3.12
11819  */
11820 public alias extern(C) void function(GtkFlowBox* box, GtkFlowBoxChild* child, void* userData) GtkFlowBoxForeachFunc;
11821 
11822 /**
11823  * A function to compare two children to determine which
11824  * should come first.
11825  *
11826  * Params:
11827  *     child1 = the first child
11828  *     child2 = the second child
11829  *     userData = user data
11830  *
11831  * Returns: < 0 if @child1 should be before @child2, 0 if
11832  *     the are equal, and > 0 otherwise
11833  *
11834  * Since: 3.12
11835  */
11836 public alias extern(C) int function(GtkFlowBoxChild* child1, GtkFlowBoxChild* child2, void* userData) GtkFlowBoxSortFunc;
11837 
11838 /**
11839  * The type of function that is used for deciding what fonts get
11840  * shown in a #GtkFontChooser. See gtk_font_chooser_set_filter_func().
11841  *
11842  * Params:
11843  *     family = a #PangoFontFamily
11844  *     face = a #PangoFontFace belonging to @family
11845  *     data = user data passed to gtk_font_chooser_set_filter_func()
11846  *
11847  * Returns: %TRUE if the font should be displayed
11848  */
11849 public alias extern(C) int function(PangoFontFamily* family, PangoFontFace* face, void* data) GtkFontFilterFunc;
11850 
11851 /**
11852  * A function used by gtk_icon_view_selected_foreach() to map all
11853  * selected rows.  It will be called on every selected row in the view.
11854  *
11855  * Params:
11856  *     iconView = a #GtkIconView
11857  *     path = The #GtkTreePath of a selected row
11858  *     data = user data
11859  */
11860 public alias extern(C) void function(GtkIconView* iconView, GtkTreePath* path, void* data) GtkIconViewForeachFunc;
11861 
11862 /**
11863  * Key snooper functions are called before normal event delivery.
11864  * They can be used to implement custom key event handling.
11865  *
11866  * Params:
11867  *     grabWidget = the widget to which the event will be delivered
11868  *     event = the key event
11869  *     funcData = data supplied to gtk_key_snooper_install()
11870  *
11871  * Returns: %TRUE to stop further processing of @event, %FALSE to continue.
11872  */
11873 public alias extern(C) int function(GtkWidget* grabWidget, GdkEventKey* event, void* funcData) GtkKeySnoopFunc;
11874 
11875 /**
11876  * Called for list boxes that are bound to a #GListModel with
11877  * gtk_list_box_bind_model() for each item that gets added to the model.
11878  *
11879  * Versions of GTK+ prior to 3.18 called gtk_widget_show_all() on the rows
11880  * created by the GtkListBoxCreateWidgetFunc, but this forced all widgets
11881  * inside the row to be shown, and is no longer the case. Applications should
11882  * be updated to show the desired row widgets.
11883  *
11884  * Params:
11885  *     item = the item from the model for which to create a widget for
11886  *     userData = user data
11887  *
11888  * Returns: a #GtkWidget that represents @item
11889  *
11890  * Since: 3.16
11891  */
11892 public alias extern(C) GtkWidget* function(void* item, void* userData) GtkListBoxCreateWidgetFunc;
11893 
11894 /**
11895  * Will be called whenever the row changes or is added and lets you control
11896  * if the row should be visible or not.
11897  *
11898  * Params:
11899  *     row = the row that may be filtered
11900  *     userData = user data
11901  *
11902  * Returns: %TRUE if the row should be visible, %FALSE otherwise
11903  *
11904  * Since: 3.10
11905  */
11906 public alias extern(C) int function(GtkListBoxRow* row, void* userData) GtkListBoxFilterFunc;
11907 
11908 /**
11909  * A function used by gtk_list_box_selected_foreach().
11910  * It will be called on every selected child of the @box.
11911  *
11912  * Params:
11913  *     box = a #GtkListBox
11914  *     row = a #GtkListBoxRow
11915  *     userData = user data
11916  *
11917  * Since: 3.14
11918  */
11919 public alias extern(C) void function(GtkListBox* box, GtkListBoxRow* row, void* userData) GtkListBoxForeachFunc;
11920 
11921 /**
11922  * Compare two rows to determine which should be first.
11923  *
11924  * Params:
11925  *     row1 = the first row
11926  *     row2 = the second row
11927  *     userData = user data
11928  *
11929  * Returns: < 0 if @row1 should be before @row2, 0 if they are
11930  *     equal and > 0 otherwise
11931  *
11932  * Since: 3.10
11933  */
11934 public alias extern(C) int function(GtkListBoxRow* row1, GtkListBoxRow* row2, void* userData) GtkListBoxSortFunc;
11935 
11936 /**
11937  * Whenever @row changes or which row is before @row changes this
11938  * is called, which lets you update the header on @row. You may
11939  * remove or set a new one via gtk_list_box_row_set_header() or
11940  * just change the state of the current header widget.
11941  *
11942  * Params:
11943  *     row = the row to update
11944  *     before = the row before @row, or %NULL if it is first
11945  *     userData = user data
11946  *
11947  * Since: 3.10
11948  */
11949 public alias extern(C) void function(GtkListBoxRow* row, GtkListBoxRow* before, void* userData) GtkListBoxUpdateHeaderFunc;
11950 
11951 /**
11952  * A user function supplied when calling gtk_menu_attach_to_widget() which
11953  * will be called when the menu is later detached from the widget.
11954  *
11955  * Params:
11956  *     attachWidget = the #GtkWidget that the menu is being detached from.
11957  *     menu = the #GtkMenu being detached.
11958  */
11959 public alias extern(C) void function(GtkWidget* attachWidget, GtkMenu* menu) GtkMenuDetachFunc;
11960 
11961 /**
11962  * A user function supplied when calling gtk_menu_popup() which
11963  * controls the positioning of the menu when it is displayed.  The
11964  * function sets the @x and @y parameters to the coordinates where the
11965  * menu is to be drawn.  To make the menu appear on a different
11966  * monitor than the mouse pointer, gtk_menu_set_monitor() must be
11967  * called.
11968  *
11969  * Params:
11970  *     menu = a #GtkMenu.
11971  *     x = address of the #gint representing the horizontal
11972  *         position where the menu shall be drawn.
11973  *     y = address of the #gint representing the vertical position
11974  *         where the menu shall be drawn.  This is an output parameter.
11975  *     pushIn = This parameter controls how menus placed outside
11976  *         the monitor are handled.  If this is set to %TRUE and part of
11977  *         the menu is outside the monitor then GTK+ pushes the window
11978  *         into the visible area, effectively modifying the popup
11979  *         position.  Note that moving and possibly resizing the menu
11980  *         around will alter the scroll position to keep the menu items
11981  *         “in place”, i.e. at the same monitor position they would have
11982  *         been without resizing.  In practice, this behavior is only
11983  *         useful for combobox popups or option menus and cannot be used
11984  *         to simply confine a menu to monitor boundaries.  In that case,
11985  *         changing the scroll offset is not desirable.
11986  *     userData = the data supplied by the user in the gtk_menu_popup()
11987  *         @data parameter.
11988  */
11989 public alias extern(C) void function(GtkMenu* menu, int* x, int* y, int* pushIn, void* userData) GtkMenuPositionFunc;
11990 
11991 /**
11992  * A multihead-aware GTK+ module may have a gtk_module_display_init() function
11993  * with this prototype. GTK+ calls this function for each opened display.
11994  *
11995  * Params:
11996  *     display = an open #GdkDisplay
11997  *
11998  * Since: 2.2
11999  */
12000 public alias extern(C) void function(GdkDisplay* display) GtkModuleDisplayInitFunc;
12001 
12002 /**
12003  * Each GTK+ module must have a function gtk_module_init() with this prototype.
12004  * This function is called after loading the module.
12005  *
12006  * Params:
12007  *     argc = GTK+ always passes %NULL for this argument
12008  *     argv = GTK+ always passes %NULL for this argument
12009  */
12010 public alias extern(C) void function(int* argc, char*** argv) GtkModuleInitFunc;
12011 
12012 /**
12013  * The type of function that is passed to
12014  * gtk_print_run_page_setup_dialog_async().
12015  *
12016  * This function will be called when the page setup dialog
12017  * is dismissed, and also serves as destroy notify for @data.
12018  *
12019  * Params:
12020  *     pageSetup = the #GtkPageSetup that has been
12021  *     data = user data that has been passed to
12022  *         gtk_print_run_page_setup_dialog_async()
12023  */
12024 public alias extern(C) void function(GtkPageSetup* pageSetup, void* data) GtkPageSetupDoneFunc;
12025 
12026 /** */
12027 public alias extern(C) void function(const(char)* key, const(char)* value, void* userData) GtkPrintSettingsFunc;
12028 
12029 /** */
12030 public alias extern(C) int function(GParamSpec* pspec, GString* rcString, GValue* propertyValue) GtkRcPropertyParser;
12031 
12032 /**
12033  * The type of function that is used with custom filters,
12034  * see gtk_recent_filter_add_custom().
12035  *
12036  * Params:
12037  *     filterInfo = a #GtkRecentFilterInfo that is filled according
12038  *         to the @needed flags passed to gtk_recent_filter_add_custom()
12039  *     userData = user data passed to gtk_recent_filter_add_custom()
12040  *
12041  * Returns: %TRUE if the file should be displayed
12042  */
12043 public alias extern(C) int function(GtkRecentFilterInfo* filterInfo, void* userData) GtkRecentFilterFunc;
12044 
12045 /** */
12046 public alias extern(C) int function(GtkRecentInfo* a, GtkRecentInfo* b, void* userData) GtkRecentSortFunc;
12047 
12048 /** */
12049 public alias extern(C) int function(const(char)* str, GValue* value, GError** err) GtkStylePropertyParser;
12050 
12051 /**
12052  * A function that is called to deserialize rich text that has been
12053  * serialized with gtk_text_buffer_serialize(), and insert it at @iter.
12054  *
12055  * Params:
12056  *     registerBuffer = the #GtkTextBuffer the format is registered with
12057  *     contentBuffer = the #GtkTextBuffer to deserialize into
12058  *     iter = insertion point for the deserialized text
12059  *     data = data to deserialize
12060  *     length = length of @data
12061  *     createTags = %TRUE if deserializing may create tags
12062  *     userData = user data that was specified when registering the format
12063  *
12064  * Returns: %TRUE on success, %FALSE otherwise
12065  *
12066  * Throws: GException on failure.
12067  */
12068 public alias extern(C) int function(GtkTextBuffer* registerBuffer, GtkTextBuffer* contentBuffer, GtkTextIter* iter, ubyte* data, size_t length, int createTags, void* userData, GError** err) GtkTextBufferDeserializeFunc;
12069 
12070 /**
12071  * A function that is called to serialize the content of a text buffer.
12072  * It must return the serialized form of the content.
12073  *
12074  * Params:
12075  *     registerBuffer = the #GtkTextBuffer for which the format is registered
12076  *     contentBuffer = the #GtkTextBuffer to serialize
12077  *     start = start of the block of text to serialize
12078  *     end = end of the block of text to serialize
12079  *     length = Return location for the length of the serialized data
12080  *     userData = user data that was specified when registering the format
12081  *
12082  * Returns: a newly-allocated array of guint8 which contains
12083  *     the serialized data, or %NULL if an error occurred
12084  */
12085 public alias extern(C) ubyte* function(GtkTextBuffer* registerBuffer, GtkTextBuffer* contentBuffer, GtkTextIter* start, GtkTextIter* end, size_t* length, void* userData) GtkTextBufferSerializeFunc;
12086 
12087 /** */
12088 public alias extern(C) int function(dchar ch, void* userData) GtkTextCharPredicate;
12089 
12090 /** */
12091 public alias extern(C) void function(GtkTextTag* tag, void* data) GtkTextTagTableForeach;
12092 
12093 /**
12094  * Callback type for adding a function to update animations. See gtk_widget_add_tick_callback().
12095  *
12096  * Params:
12097  *     widget = the widget
12098  *     frameClock = the frame clock for the widget (same as calling gtk_widget_get_frame_clock())
12099  *     userData = user data passed to gtk_widget_add_tick_callback().
12100  *
12101  * Returns: %G_SOURCE_CONTINUE if the tick callback should continue to be called,
12102  *     %G_SOURCE_REMOVE if the tick callback should be removed.
12103  *
12104  * Since: 3.8
12105  */
12106 public alias extern(C) int function(GtkWidget* widget, GdkFrameClock* frameClock, void* userData) GtkTickCallback;
12107 
12108 /**
12109  * The function used to translate messages in e.g. #GtkIconFactory
12110  * and #GtkActionGroup.
12111  *
12112  * Params:
12113  *     path = The id of the message. In #GtkActionGroup this will be a label
12114  *         or tooltip from a #GtkActionEntry.
12115  *     funcData = user data passed in when registering the
12116  *         function
12117  *
12118  * Returns: the translated message
12119  */
12120 public alias extern(C) char* function(const(char)* path, void* funcData) GtkTranslateFunc;
12121 
12122 /**
12123  * A function to set the properties of a cell instead of just using the
12124  * straight mapping between the cell and the model.  This is useful for
12125  * customizing the cell renderer.  For example, a function might get an
12126  * integer from the @tree_model, and render it to the “text” attribute of
12127  * “cell” by converting it to its written equivalent.  This is set by
12128  * calling gtk_tree_view_column_set_cell_data_func()
12129  *
12130  * Params:
12131  *     treeColumn = A #GtkTreeViewColumn
12132  *     cell = The #GtkCellRenderer that is being rendered by @tree_column
12133  *     treeModel = The #GtkTreeModel being rendered
12134  *     iter = A #GtkTreeIter of the current row rendered
12135  *     data = user data
12136  */
12137 public alias extern(C) void function(GtkTreeViewColumn* treeColumn, GtkCellRenderer* cell, GtkTreeModel* treeModel, GtkTreeIter* iter, void* data) GtkTreeCellDataFunc;
12138 
12139 /** */
12140 public alias extern(C) void function(GtkTreeView* treeView, GtkTreePath* path, int children, void* userData) GtkTreeDestroyCountFunc;
12141 
12142 /**
12143  * A GtkTreeIterCompareFunc should return a negative integer, zero, or a positive
12144  * integer if @a sorts before @b, @a sorts with @b, or @a sorts after @b
12145  * respectively. If two iters compare as equal, their order in the sorted model
12146  * is undefined. In order to ensure that the #GtkTreeSortable behaves as
12147  * expected, the GtkTreeIterCompareFunc must define a partial order on
12148  * the model, i.e. it must be reflexive, antisymmetric and transitive.
12149  *
12150  * For example, if @model is a product catalogue, then a compare function
12151  * for the “price” column could be one which returns
12152  * `price_of(@a) - price_of(@b)`.
12153  *
12154  * Params:
12155  *     model = The #GtkTreeModel the comparison is within
12156  *     a = A #GtkTreeIter in @model
12157  *     b = Another #GtkTreeIter in @model
12158  *     userData = Data passed when the compare func is assigned e.g. by
12159  *         gtk_tree_sortable_set_sort_func()
12160  *
12161  * Returns: a negative integer, zero or a positive integer depending on whether
12162  *     @a sorts before, with or after @b
12163  */
12164 public alias extern(C) int function(GtkTreeModel* model, GtkTreeIter* a, GtkTreeIter* b, void* userData) GtkTreeIterCompareFunc;
12165 
12166 /**
12167  * A function which calculates display values from raw values in the model.
12168  * It must fill @value with the display value for the column @column in the
12169  * row indicated by @iter.
12170  *
12171  * Since this function is called for each data access, it’s not a
12172  * particularly efficient operation.
12173  *
12174  * Params:
12175  *     model = the #GtkTreeModelFilter
12176  *     iter = a #GtkTreeIter pointing to the row whose display values are determined
12177  *     value = A #GValue which is already initialized for
12178  *         with the correct type for the column @column.
12179  *     column = the column whose display value is determined
12180  *     data = user data given to gtk_tree_model_filter_set_modify_func()
12181  */
12182 public alias extern(C) void function(GtkTreeModel* model, GtkTreeIter* iter, GValue* value, int column, void* data) GtkTreeModelFilterModifyFunc;
12183 
12184 /**
12185  * A function which decides whether the row indicated by @iter is visible.
12186  *
12187  * Params:
12188  *     model = the child model of the #GtkTreeModelFilter
12189  *     iter = a #GtkTreeIter pointing to the row in @model whose visibility
12190  *         is determined
12191  *     data = user data given to gtk_tree_model_filter_set_visible_func()
12192  *
12193  * Returns: Whether the row indicated by @iter is visible.
12194  */
12195 public alias extern(C) int function(GtkTreeModel* model, GtkTreeIter* iter, void* data) GtkTreeModelFilterVisibleFunc;
12196 
12197 /**
12198  * Type of the callback passed to gtk_tree_model_foreach() to
12199  * iterate over the rows in a tree model.
12200  *
12201  * Params:
12202  *     model = the #GtkTreeModel being iterated
12203  *     path = the current #GtkTreePath
12204  *     iter = the current #GtkTreeIter
12205  *     data = The user data passed to gtk_tree_model_foreach()
12206  *
12207  * Returns: %TRUE to stop iterating, %FALSE to continue
12208  */
12209 public alias extern(C) int function(GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter, void* data) GtkTreeModelForeachFunc;
12210 
12211 /**
12212  * A function used by gtk_tree_selection_selected_foreach() to map all
12213  * selected rows.  It will be called on every selected row in the view.
12214  *
12215  * Params:
12216  *     model = The #GtkTreeModel being viewed
12217  *     path = The #GtkTreePath of a selected row
12218  *     iter = A #GtkTreeIter pointing to a selected row
12219  *     data = user data
12220  */
12221 public alias extern(C) void function(GtkTreeModel* model, GtkTreePath* path, GtkTreeIter* iter, void* data) GtkTreeSelectionForeachFunc;
12222 
12223 /**
12224  * A function used by gtk_tree_selection_set_select_function() to filter
12225  * whether or not a row may be selected.  It is called whenever a row's
12226  * state might change.  A return value of %TRUE indicates to @selection
12227  * that it is okay to change the selection.
12228  *
12229  * Params:
12230  *     selection = A #GtkTreeSelection
12231  *     model = A #GtkTreeModel being viewed
12232  *     path = The #GtkTreePath of the row in question
12233  *     pathCurrentlySelected = %TRUE, if the path is currently selected
12234  *     data = user data
12235  *
12236  * Returns: %TRUE, if the selection state of the row can be toggled
12237  */
12238 public alias extern(C) int function(GtkTreeSelection* selection, GtkTreeModel* model, GtkTreePath* path, int pathCurrentlySelected, void* data) GtkTreeSelectionFunc;
12239 
12240 /**
12241  * Function type for determining whether @column can be dropped in a
12242  * particular spot (as determined by @prev_column and @next_column).  In
12243  * left to right locales, @prev_column is on the left of the potential drop
12244  * spot, and @next_column is on the right.  In right to left mode, this is
12245  * reversed.  This function should return %TRUE if the spot is a valid drop
12246  * spot.  Please note that returning %TRUE does not actually indicate that
12247  * the column drop was made, but is meant only to indicate a possible drop
12248  * spot to the user.
12249  *
12250  * Params:
12251  *     treeView = A #GtkTreeView
12252  *     column = The #GtkTreeViewColumn being dragged
12253  *     prevColumn = A #GtkTreeViewColumn on one side of @column
12254  *     nextColumn = A #GtkTreeViewColumn on the other side of @column
12255  *     data = user data
12256  *
12257  * Returns: %TRUE, if @column can be dropped in this spot
12258  */
12259 public alias extern(C) int function(GtkTreeView* treeView, GtkTreeViewColumn* column, GtkTreeViewColumn* prevColumn, GtkTreeViewColumn* nextColumn, void* data) GtkTreeViewColumnDropFunc;
12260 
12261 /**
12262  * Function used for gtk_tree_view_map_expanded_rows().
12263  *
12264  * Params:
12265  *     treeView = A #GtkTreeView
12266  *     path = The path that’s expanded
12267  *     userData = user data
12268  */
12269 public alias extern(C) void function(GtkTreeView* treeView, GtkTreePath* path, void* userData) GtkTreeViewMappingFunc;
12270 
12271 /**
12272  * Function type for determining whether the row pointed to by @iter should
12273  * be rendered as a separator. A common way to implement this is to have a
12274  * boolean column in the model, whose values the #GtkTreeViewRowSeparatorFunc
12275  * returns.
12276  *
12277  * Params:
12278  *     model = the #GtkTreeModel
12279  *     iter = a #GtkTreeIter pointing at a row in @model
12280  *     data = user data
12281  *
12282  * Returns: %TRUE if the row is a separator
12283  */
12284 public alias extern(C) int function(GtkTreeModel* model, GtkTreeIter* iter, void* data) GtkTreeViewRowSeparatorFunc;
12285 
12286 /**
12287  * A function used for checking whether a row in @model matches
12288  * a search key string entered by the user. Note the return value
12289  * is reversed from what you would normally expect, though it
12290  * has some similarity to strcmp() returning 0 for equal strings.
12291  *
12292  * Params:
12293  *     model = the #GtkTreeModel being searched
12294  *     column = the search column set by gtk_tree_view_set_search_column()
12295  *     key = the key string to compare with
12296  *     iter = a #GtkTreeIter pointing the row of @model that should be compared
12297  *         with @key.
12298  *     searchData = user data from gtk_tree_view_set_search_equal_func()
12299  *
12300  * Returns: %FALSE if the row matches, %TRUE otherwise.
12301  */
12302 public alias extern(C) int function(GtkTreeModel* model, int column, const(char)* key, GtkTreeIter* iter, void* searchData) GtkTreeViewSearchEqualFunc;
12303 
12304 /** */
12305 public alias extern(C) void function(GtkTreeView* treeView, GtkWidget* searchDialog, void* userData) GtkTreeViewSearchPositionFunc;
12306 
12307 /**
12308  * Like gtk_get_binary_age(), but from the headers used at
12309  * application compile time, rather than from the library linked
12310  * against at application run time.
12311  */
12312 enum BINARY_AGE = 2226;
12313 alias GTK_BINARY_AGE = BINARY_AGE;
12314 
12315 /**
12316  * Constant to return from a signal handler for the #GtkSpinButton::input
12317  * signal in case of conversion failure.
12318  */
12319 enum INPUT_ERROR = -1;
12320 alias GTK_INPUT_ERROR = INPUT_ERROR;
12321 
12322 /**
12323  * Like gtk_get_interface_age(), but from the headers used at
12324  * application compile time, rather than from the library linked
12325  * against at application run time.
12326  */
12327 enum INTERFACE_AGE = 26;
12328 alias GTK_INTERFACE_AGE = INTERFACE_AGE;
12329 
12330 /**
12331  * The name used for the stock full offset included by #GtkLevelBar.
12332  */
12333 enum LEVEL_BAR_OFFSET_FULL = "full";
12334 alias GTK_LEVEL_BAR_OFFSET_FULL = LEVEL_BAR_OFFSET_FULL;
12335 
12336 /**
12337  * The name used for the stock high offset included by #GtkLevelBar.
12338  */
12339 enum LEVEL_BAR_OFFSET_HIGH = "high";
12340 alias GTK_LEVEL_BAR_OFFSET_HIGH = LEVEL_BAR_OFFSET_HIGH;
12341 
12342 /**
12343  * The name used for the stock low offset included by #GtkLevelBar.
12344  */
12345 enum LEVEL_BAR_OFFSET_LOW = "low";
12346 alias GTK_LEVEL_BAR_OFFSET_LOW = LEVEL_BAR_OFFSET_LOW;
12347 
12348 /**
12349  * Like gtk_get_major_version(), but from the headers used at
12350  * application compile time, rather than from the library linked
12351  * against at application run time.
12352  */
12353 enum MAJOR_VERSION = 3;
12354 alias GTK_MAJOR_VERSION = MAJOR_VERSION;
12355 
12356 /**
12357  * The maximum length of sequences in compose tables.
12358  */
12359 enum MAX_COMPOSE_LEN = 7;
12360 alias GTK_MAX_COMPOSE_LEN = MAX_COMPOSE_LEN;
12361 
12362 /**
12363  * Like gtk_get_micro_version(), but from the headers used at
12364  * application compile time, rather than from the library linked
12365  * against at application run time.
12366  */
12367 enum MICRO_VERSION = 26;
12368 alias GTK_MICRO_VERSION = MICRO_VERSION;
12369 
12370 /**
12371  * Like gtk_get_minor_version(), but from the headers used at
12372  * application compile time, rather than from the library linked
12373  * against at application run time.
12374  */
12375 enum MINOR_VERSION = 22;
12376 alias GTK_MINOR_VERSION = MINOR_VERSION;
12377 
12378 /**
12379  * Name for the A3 paper size.
12380  */
12381 enum PAPER_NAME_A3 = "iso_a3";
12382 alias GTK_PAPER_NAME_A3 = PAPER_NAME_A3;
12383 
12384 /**
12385  * Name for the A4 paper size.
12386  */
12387 enum PAPER_NAME_A4 = "iso_a4";
12388 alias GTK_PAPER_NAME_A4 = PAPER_NAME_A4;
12389 
12390 /**
12391  * Name for the A5 paper size.
12392  */
12393 enum PAPER_NAME_A5 = "iso_a5";
12394 alias GTK_PAPER_NAME_A5 = PAPER_NAME_A5;
12395 
12396 /**
12397  * Name for the B5 paper size.
12398  */
12399 enum PAPER_NAME_B5 = "iso_b5";
12400 alias GTK_PAPER_NAME_B5 = PAPER_NAME_B5;
12401 
12402 /**
12403  * Name for the Executive paper size.
12404  */
12405 enum PAPER_NAME_EXECUTIVE = "na_executive";
12406 alias GTK_PAPER_NAME_EXECUTIVE = PAPER_NAME_EXECUTIVE;
12407 
12408 /**
12409  * Name for the Legal paper size.
12410  */
12411 enum PAPER_NAME_LEGAL = "na_legal";
12412 alias GTK_PAPER_NAME_LEGAL = PAPER_NAME_LEGAL;
12413 
12414 /**
12415  * Name for the Letter paper size.
12416  */
12417 enum PAPER_NAME_LETTER = "na_letter";
12418 alias GTK_PAPER_NAME_LETTER = PAPER_NAME_LETTER;
12419 
12420 enum PATH_PRIO_MASK = 15;
12421 alias GTK_PATH_PRIO_MASK = PATH_PRIO_MASK;
12422 
12423 enum PRINT_SETTINGS_COLLATE = "collate";
12424 alias GTK_PRINT_SETTINGS_COLLATE = PRINT_SETTINGS_COLLATE;
12425 
12426 enum PRINT_SETTINGS_DEFAULT_SOURCE = "default-source";
12427 alias GTK_PRINT_SETTINGS_DEFAULT_SOURCE = PRINT_SETTINGS_DEFAULT_SOURCE;
12428 
12429 enum PRINT_SETTINGS_DITHER = "dither";
12430 alias GTK_PRINT_SETTINGS_DITHER = PRINT_SETTINGS_DITHER;
12431 
12432 enum PRINT_SETTINGS_DUPLEX = "duplex";
12433 alias GTK_PRINT_SETTINGS_DUPLEX = PRINT_SETTINGS_DUPLEX;
12434 
12435 enum PRINT_SETTINGS_FINISHINGS = "finishings";
12436 alias GTK_PRINT_SETTINGS_FINISHINGS = PRINT_SETTINGS_FINISHINGS;
12437 
12438 enum PRINT_SETTINGS_MEDIA_TYPE = "media-type";
12439 alias GTK_PRINT_SETTINGS_MEDIA_TYPE = PRINT_SETTINGS_MEDIA_TYPE;
12440 
12441 enum PRINT_SETTINGS_NUMBER_UP = "number-up";
12442 alias GTK_PRINT_SETTINGS_NUMBER_UP = PRINT_SETTINGS_NUMBER_UP;
12443 
12444 enum PRINT_SETTINGS_NUMBER_UP_LAYOUT = "number-up-layout";
12445 alias GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT = PRINT_SETTINGS_NUMBER_UP_LAYOUT;
12446 
12447 enum PRINT_SETTINGS_N_COPIES = "n-copies";
12448 alias GTK_PRINT_SETTINGS_N_COPIES = PRINT_SETTINGS_N_COPIES;
12449 
12450 enum PRINT_SETTINGS_ORIENTATION = "orientation";
12451 alias GTK_PRINT_SETTINGS_ORIENTATION = PRINT_SETTINGS_ORIENTATION;
12452 
12453 /**
12454  * The key used by the “Print to file” printer to store the file
12455  * name of the output without the path to the directory and the
12456  * file extension.
12457  */
12458 enum PRINT_SETTINGS_OUTPUT_BASENAME = "output-basename";
12459 alias GTK_PRINT_SETTINGS_OUTPUT_BASENAME = PRINT_SETTINGS_OUTPUT_BASENAME;
12460 
12461 enum PRINT_SETTINGS_OUTPUT_BIN = "output-bin";
12462 alias GTK_PRINT_SETTINGS_OUTPUT_BIN = PRINT_SETTINGS_OUTPUT_BIN;
12463 
12464 /**
12465  * The key used by the “Print to file” printer to store the
12466  * directory to which the output should be written.
12467  */
12468 enum PRINT_SETTINGS_OUTPUT_DIR = "output-dir";
12469 alias GTK_PRINT_SETTINGS_OUTPUT_DIR = PRINT_SETTINGS_OUTPUT_DIR;
12470 
12471 /**
12472  * The key used by the “Print to file” printer to store the format
12473  * of the output. The supported values are “PS” and “PDF”.
12474  */
12475 enum PRINT_SETTINGS_OUTPUT_FILE_FORMAT = "output-file-format";
12476 alias GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT = PRINT_SETTINGS_OUTPUT_FILE_FORMAT;
12477 
12478 /**
12479  * The key used by the “Print to file” printer to store the URI
12480  * to which the output should be written. GTK+ itself supports
12481  * only “file://” URIs.
12482  */
12483 enum PRINT_SETTINGS_OUTPUT_URI = "output-uri";
12484 alias GTK_PRINT_SETTINGS_OUTPUT_URI = PRINT_SETTINGS_OUTPUT_URI;
12485 
12486 enum PRINT_SETTINGS_PAGE_RANGES = "page-ranges";
12487 alias GTK_PRINT_SETTINGS_PAGE_RANGES = PRINT_SETTINGS_PAGE_RANGES;
12488 
12489 enum PRINT_SETTINGS_PAGE_SET = "page-set";
12490 alias GTK_PRINT_SETTINGS_PAGE_SET = PRINT_SETTINGS_PAGE_SET;
12491 
12492 enum PRINT_SETTINGS_PAPER_FORMAT = "paper-format";
12493 alias GTK_PRINT_SETTINGS_PAPER_FORMAT = PRINT_SETTINGS_PAPER_FORMAT;
12494 
12495 enum PRINT_SETTINGS_PAPER_HEIGHT = "paper-height";
12496 alias GTK_PRINT_SETTINGS_PAPER_HEIGHT = PRINT_SETTINGS_PAPER_HEIGHT;
12497 
12498 enum PRINT_SETTINGS_PAPER_WIDTH = "paper-width";
12499 alias GTK_PRINT_SETTINGS_PAPER_WIDTH = PRINT_SETTINGS_PAPER_WIDTH;
12500 
12501 enum PRINT_SETTINGS_PRINTER = "printer";
12502 alias GTK_PRINT_SETTINGS_PRINTER = PRINT_SETTINGS_PRINTER;
12503 
12504 enum PRINT_SETTINGS_PRINTER_LPI = "printer-lpi";
12505 alias GTK_PRINT_SETTINGS_PRINTER_LPI = PRINT_SETTINGS_PRINTER_LPI;
12506 
12507 enum PRINT_SETTINGS_PRINT_PAGES = "print-pages";
12508 alias GTK_PRINT_SETTINGS_PRINT_PAGES = PRINT_SETTINGS_PRINT_PAGES;
12509 
12510 enum PRINT_SETTINGS_QUALITY = "quality";
12511 alias GTK_PRINT_SETTINGS_QUALITY = PRINT_SETTINGS_QUALITY;
12512 
12513 enum PRINT_SETTINGS_RESOLUTION = "resolution";
12514 alias GTK_PRINT_SETTINGS_RESOLUTION = PRINT_SETTINGS_RESOLUTION;
12515 
12516 enum PRINT_SETTINGS_RESOLUTION_X = "resolution-x";
12517 alias GTK_PRINT_SETTINGS_RESOLUTION_X = PRINT_SETTINGS_RESOLUTION_X;
12518 
12519 enum PRINT_SETTINGS_RESOLUTION_Y = "resolution-y";
12520 alias GTK_PRINT_SETTINGS_RESOLUTION_Y = PRINT_SETTINGS_RESOLUTION_Y;
12521 
12522 enum PRINT_SETTINGS_REVERSE = "reverse";
12523 alias GTK_PRINT_SETTINGS_REVERSE = PRINT_SETTINGS_REVERSE;
12524 
12525 enum PRINT_SETTINGS_SCALE = "scale";
12526 alias GTK_PRINT_SETTINGS_SCALE = PRINT_SETTINGS_SCALE;
12527 
12528 enum PRINT_SETTINGS_USE_COLOR = "use-color";
12529 alias GTK_PRINT_SETTINGS_USE_COLOR = PRINT_SETTINGS_USE_COLOR;
12530 
12531 enum PRINT_SETTINGS_WIN32_DRIVER_EXTRA = "win32-driver-extra";
12532 alias GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA = PRINT_SETTINGS_WIN32_DRIVER_EXTRA;
12533 
12534 enum PRINT_SETTINGS_WIN32_DRIVER_VERSION = "win32-driver-version";
12535 alias GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION = PRINT_SETTINGS_WIN32_DRIVER_VERSION;
12536 
12537 /**
12538  * Use this priority for functionality related to size allocation.
12539  *
12540  * It is used internally by GTK+ to compute the sizes of widgets.
12541  * This priority is higher than %GDK_PRIORITY_REDRAW to avoid
12542  * resizing a widget which was just redrawn.
12543  */
12544 enum PRIORITY_RESIZE = 10;
12545 alias GTK_PRIORITY_RESIZE = PRIORITY_RESIZE;
12546 
12547 /**
12548  * A CSS class to match an accelerator.
12549  *
12550  * Refer to individual widget documentation for used style classes.
12551  */
12552 enum STYLE_CLASS_ACCELERATOR = "accelerator";
12553 alias GTK_STYLE_CLASS_ACCELERATOR = STYLE_CLASS_ACCELERATOR;
12554 
12555 /**
12556  * A CSS class used when rendering an arrow element.
12557  *
12558  * Refer to individual widget documentation for used style classes.
12559  */
12560 enum STYLE_CLASS_ARROW = "arrow";
12561 alias GTK_STYLE_CLASS_ARROW = STYLE_CLASS_ARROW;
12562 
12563 /**
12564  * A CSS class to match the window background.
12565  *
12566  * Refer to individual widget documentation for used style classes.
12567  */
12568 enum STYLE_CLASS_BACKGROUND = "background";
12569 alias GTK_STYLE_CLASS_BACKGROUND = STYLE_CLASS_BACKGROUND;
12570 
12571 /**
12572  * A CSS class to indicate an area at the bottom of a widget.
12573  *
12574  * Refer to individual widget documentation for used style classes.
12575  */
12576 enum STYLE_CLASS_BOTTOM = "bottom";
12577 alias GTK_STYLE_CLASS_BOTTOM = STYLE_CLASS_BOTTOM;
12578 
12579 /**
12580  * A CSS class to match buttons.
12581  *
12582  * Refer to individual widget documentation for used style classes.
12583  */
12584 enum STYLE_CLASS_BUTTON = "button";
12585 alias GTK_STYLE_CLASS_BUTTON = STYLE_CLASS_BUTTON;
12586 
12587 /**
12588  * A CSS class to match calendars.
12589  *
12590  * Refer to individual widget documentation for used style classes.
12591  */
12592 enum STYLE_CLASS_CALENDAR = "calendar";
12593 alias GTK_STYLE_CLASS_CALENDAR = STYLE_CLASS_CALENDAR;
12594 
12595 /**
12596  * A CSS class to match content rendered in cell views.
12597  *
12598  * Refer to individual widget documentation for used style classes.
12599  */
12600 enum STYLE_CLASS_CELL = "cell";
12601 alias GTK_STYLE_CLASS_CELL = STYLE_CLASS_CELL;
12602 
12603 /**
12604  * A CSS class to match check boxes.
12605  *
12606  * Refer to individual widget documentation for used style classes.
12607  */
12608 enum STYLE_CLASS_CHECK = "check";
12609 alias GTK_STYLE_CLASS_CHECK = STYLE_CLASS_CHECK;
12610 
12611 /**
12612  * A CSS class to match combobox entries.
12613  *
12614  * Refer to individual widget documentation for used style classes.
12615  */
12616 enum STYLE_CLASS_COMBOBOX_ENTRY = "combobox-entry";
12617 alias GTK_STYLE_CLASS_COMBOBOX_ENTRY = STYLE_CLASS_COMBOBOX_ENTRY;
12618 
12619 /**
12620  * A CSS class to match context menus.
12621  *
12622  * Refer to individual widget documentation for used style classes.
12623  */
12624 enum STYLE_CLASS_CONTEXT_MENU = "context-menu";
12625 alias GTK_STYLE_CLASS_CONTEXT_MENU = STYLE_CLASS_CONTEXT_MENU;
12626 
12627 /**
12628  * A CSS class that gets added to windows which have client-side decorations.
12629  *
12630  * Refer to individual widget documentation for used style classes.
12631  */
12632 enum STYLE_CLASS_CSD = "csd";
12633 alias GTK_STYLE_CLASS_CSD = STYLE_CLASS_CSD;
12634 
12635 /**
12636  * A CSS class used when rendering a drag handle for
12637  * text selection.
12638  *
12639  * Refer to individual widget documentation for used style classes.
12640  */
12641 enum STYLE_CLASS_CURSOR_HANDLE = "cursor-handle";
12642 alias GTK_STYLE_CLASS_CURSOR_HANDLE = STYLE_CLASS_CURSOR_HANDLE;
12643 
12644 /**
12645  * A CSS class to match the default widget.
12646  *
12647  * Refer to individual widget documentation for used style classes.
12648  */
12649 enum STYLE_CLASS_DEFAULT = "default";
12650 alias GTK_STYLE_CLASS_DEFAULT = STYLE_CLASS_DEFAULT;
12651 
12652 /**
12653  * A CSS class used when an action (usually a button) is
12654  * one that is expected to remove or destroy something visible
12655  * to the user.
12656  *
12657  * Refer to individual widget documentation for used style classes.
12658  */
12659 enum STYLE_CLASS_DESTRUCTIVE_ACTION = "destructive-action";
12660 alias GTK_STYLE_CLASS_DESTRUCTIVE_ACTION = STYLE_CLASS_DESTRUCTIVE_ACTION;
12661 
12662 /**
12663  * A CSS class to match dimmed labels.
12664  *
12665  * Refer to individual widget documentation for used style classes.
12666  */
12667 enum STYLE_CLASS_DIM_LABEL = "dim-label";
12668 alias GTK_STYLE_CLASS_DIM_LABEL = STYLE_CLASS_DIM_LABEL;
12669 
12670 /**
12671  * A CSS class for a drag-and-drop indicator.
12672  *
12673  * Refer to individual widget documentation for used style classes.
12674  */
12675 enum STYLE_CLASS_DND = "dnd";
12676 alias GTK_STYLE_CLASS_DND = STYLE_CLASS_DND;
12677 
12678 /**
12679  * A CSS class defining a dock area.
12680  *
12681  * Refer to individual widget documentation for used style classes.
12682  */
12683 enum STYLE_CLASS_DOCK = "dock";
12684 alias GTK_STYLE_CLASS_DOCK = STYLE_CLASS_DOCK;
12685 
12686 /**
12687  * A CSS class to match text entries.
12688  *
12689  * Refer to individual widget documentation for used style classes.
12690  */
12691 enum STYLE_CLASS_ENTRY = "entry";
12692 alias GTK_STYLE_CLASS_ENTRY = STYLE_CLASS_ENTRY;
12693 
12694 /**
12695  * A CSS class for an area displaying an error message,
12696  * such as those in infobars.
12697  *
12698  * Refer to individual widget documentation for used style classes.
12699  */
12700 enum STYLE_CLASS_ERROR = "error";
12701 alias GTK_STYLE_CLASS_ERROR = STYLE_CLASS_ERROR;
12702 
12703 /**
12704  * A CSS class defining an expander, such as those in treeviews.
12705  *
12706  * Refer to individual widget documentation for used style classes.
12707  */
12708 enum STYLE_CLASS_EXPANDER = "expander";
12709 alias GTK_STYLE_CLASS_EXPANDER = STYLE_CLASS_EXPANDER;
12710 
12711 /**
12712  * A CSS class that is added when widgets that usually have
12713  * a frame or border (like buttons or entries) should appear
12714  * without it.
12715  *
12716  * Refer to individual widget documentation for used style classes.
12717  */
12718 enum STYLE_CLASS_FLAT = "flat";
12719 alias GTK_STYLE_CLASS_FLAT = STYLE_CLASS_FLAT;
12720 
12721 /**
12722  * A CSS class defining a frame delimiting content, such as
12723  * #GtkFrame or the scrolled window frame around the
12724  * scrollable area.
12725  *
12726  * Refer to individual widget documentation for used style classes.
12727  */
12728 enum STYLE_CLASS_FRAME = "frame";
12729 alias GTK_STYLE_CLASS_FRAME = STYLE_CLASS_FRAME;
12730 
12731 /**
12732  * A CSS class defining a resize grip.
12733  *
12734  * Refer to individual widget documentation for used style classes.
12735  */
12736 enum STYLE_CLASS_GRIP = "grip";
12737 alias GTK_STYLE_CLASS_GRIP = STYLE_CLASS_GRIP;
12738 
12739 /**
12740  * A CSS class to match a header element.
12741  *
12742  * Refer to individual widget documentation for used style classes.
12743  */
12744 enum STYLE_CLASS_HEADER = "header";
12745 alias GTK_STYLE_CLASS_HEADER = STYLE_CLASS_HEADER;
12746 
12747 /**
12748  * A CSS class defining a highlighted area, such as headings in
12749  * assistants and calendars.
12750  *
12751  * Refer to individual widget documentation for used style classes.
12752  */
12753 enum STYLE_CLASS_HIGHLIGHT = "highlight";
12754 alias GTK_STYLE_CLASS_HIGHLIGHT = STYLE_CLASS_HIGHLIGHT;
12755 
12756 /**
12757  * A CSS class for horizontally layered widgets.
12758  *
12759  * Refer to individual widget documentation for used style classes.
12760  */
12761 enum STYLE_CLASS_HORIZONTAL = "horizontal";
12762 alias GTK_STYLE_CLASS_HORIZONTAL = STYLE_CLASS_HORIZONTAL;
12763 
12764 /**
12765  * A CSS class defining an image, such as the icon in an entry.
12766  *
12767  * Refer to individual widget documentation for used style classes.
12768  */
12769 enum STYLE_CLASS_IMAGE = "image";
12770 alias GTK_STYLE_CLASS_IMAGE = STYLE_CLASS_IMAGE;
12771 
12772 /**
12773  * A CSS class for an area displaying an informational message,
12774  * such as those in infobars.
12775  *
12776  * Refer to individual widget documentation for used style classes.
12777  */
12778 enum STYLE_CLASS_INFO = "info";
12779 alias GTK_STYLE_CLASS_INFO = STYLE_CLASS_INFO;
12780 
12781 /**
12782  * A CSS class to match inline toolbars.
12783  *
12784  * Refer to individual widget documentation for used style classes.
12785  */
12786 enum STYLE_CLASS_INLINE_TOOLBAR = "inline-toolbar";
12787 alias GTK_STYLE_CLASS_INLINE_TOOLBAR = STYLE_CLASS_INLINE_TOOLBAR;
12788 
12789 /**
12790  * A CSS class used when rendering a drag handle for
12791  * the insertion cursor position.
12792  *
12793  * Refer to individual widget documentation for used style classes.
12794  */
12795 enum STYLE_CLASS_INSERTION_CURSOR = "insertion-cursor";
12796 alias GTK_STYLE_CLASS_INSERTION_CURSOR = STYLE_CLASS_INSERTION_CURSOR;
12797 
12798 /**
12799  * A CSS class to match labels.
12800  *
12801  * Refer to individual widget documentation for used style classes.
12802  */
12803 enum STYLE_CLASS_LABEL = "label";
12804 alias GTK_STYLE_CLASS_LABEL = STYLE_CLASS_LABEL;
12805 
12806 /**
12807  * A CSS class to indicate an area at the left of a widget.
12808  *
12809  * Refer to individual widget documentation for used style classes.
12810  */
12811 enum STYLE_CLASS_LEFT = "left";
12812 alias GTK_STYLE_CLASS_LEFT = STYLE_CLASS_LEFT;
12813 
12814 /**
12815  * A CSS class used when rendering a level indicator, such
12816  * as a battery charge level, or a password strength.
12817  *
12818  * Refer to individual widget documentation for used style classes.
12819  */
12820 enum STYLE_CLASS_LEVEL_BAR = "level-bar";
12821 alias GTK_STYLE_CLASS_LEVEL_BAR = STYLE_CLASS_LEVEL_BAR;
12822 
12823 /**
12824  * A CSS class to match a linked area, such as a box containing buttons
12825  * belonging to the same control.
12826  *
12827  * Refer to individual widget documentation for used style classes.
12828  */
12829 enum STYLE_CLASS_LINKED = "linked";
12830 alias GTK_STYLE_CLASS_LINKED = STYLE_CLASS_LINKED;
12831 
12832 /**
12833  * A CSS class to match lists.
12834  *
12835  * Refer to individual widget documentation for used style classes.
12836  */
12837 enum STYLE_CLASS_LIST = "list";
12838 alias GTK_STYLE_CLASS_LIST = STYLE_CLASS_LIST;
12839 
12840 /**
12841  * A CSS class to match list rows.
12842  *
12843  * Refer to individual widget documentation for used style classes.
12844  */
12845 enum STYLE_CLASS_LIST_ROW = "list-row";
12846 alias GTK_STYLE_CLASS_LIST_ROW = STYLE_CLASS_LIST_ROW;
12847 
12848 /**
12849  * A CSS class defining marks in a widget, such as in scales.
12850  *
12851  * Refer to individual widget documentation for used style classes.
12852  */
12853 enum STYLE_CLASS_MARK = "mark";
12854 alias GTK_STYLE_CLASS_MARK = STYLE_CLASS_MARK;
12855 
12856 /**
12857  * A CSS class to match menus.
12858  *
12859  * Refer to individual widget documentation for used style classes.
12860  */
12861 enum STYLE_CLASS_MENU = "menu";
12862 alias GTK_STYLE_CLASS_MENU = STYLE_CLASS_MENU;
12863 
12864 /**
12865  * A CSS class to menubars.
12866  *
12867  * Refer to individual widget documentation for used style classes.
12868  */
12869 enum STYLE_CLASS_MENUBAR = "menubar";
12870 alias GTK_STYLE_CLASS_MENUBAR = STYLE_CLASS_MENUBAR;
12871 
12872 /**
12873  * A CSS class to match menu items.
12874  *
12875  * Refer to individual widget documentation for used style classes.
12876  */
12877 enum STYLE_CLASS_MENUITEM = "menuitem";
12878 alias GTK_STYLE_CLASS_MENUITEM = STYLE_CLASS_MENUITEM;
12879 
12880 /**
12881  * A CSS class that is added to message dialogs.
12882  *
12883  * Refer to individual widget documentation for used style classes.
12884  */
12885 enum STYLE_CLASS_MESSAGE_DIALOG = "message-dialog";
12886 alias GTK_STYLE_CLASS_MESSAGE_DIALOG = STYLE_CLASS_MESSAGE_DIALOG;
12887 
12888 /**
12889  * A CSS class that is added to text view that should use
12890  * a monospace font.
12891  *
12892  * Refer to individual widget documentation for used style classes.
12893  */
12894 enum STYLE_CLASS_MONOSPACE = "monospace";
12895 alias GTK_STYLE_CLASS_MONOSPACE = STYLE_CLASS_MONOSPACE;
12896 
12897 /**
12898  * A CSS class used when an element needs the user attention,
12899  * for instance a button in a stack switcher corresponding to
12900  * a hidden page that changed state.
12901  *
12902  * Refer to individual widget documentation for used style classes.
12903  */
12904 enum STYLE_CLASS_NEEDS_ATTENTION = "needs-attention";
12905 alias GTK_STYLE_CLASS_NEEDS_ATTENTION = STYLE_CLASS_NEEDS_ATTENTION;
12906 
12907 /**
12908  * A CSS class defining a notebook.
12909  *
12910  * Refer to individual widget documentation for used style classes.
12911  */
12912 enum STYLE_CLASS_NOTEBOOK = "notebook";
12913 alias GTK_STYLE_CLASS_NOTEBOOK = STYLE_CLASS_NOTEBOOK;
12914 
12915 /**
12916  * A CSS class used when rendering an OSD (On Screen Display) element,
12917  * on top of another container.
12918  *
12919  * Refer to individual widget documentation for used style classes.
12920  */
12921 enum STYLE_CLASS_OSD = "osd";
12922 alias GTK_STYLE_CLASS_OSD = STYLE_CLASS_OSD;
12923 
12924 /**
12925  * A CSS class that is added on the visual hints that happen
12926  * when scrolling is attempted past the limits of a scrollable
12927  * area.
12928  *
12929  * Refer to individual widget documentation for used style classes.
12930  */
12931 enum STYLE_CLASS_OVERSHOOT = "overshoot";
12932 alias GTK_STYLE_CLASS_OVERSHOOT = STYLE_CLASS_OVERSHOOT;
12933 
12934 /**
12935  * A CSS class for a pane separator, such as those in #GtkPaned.
12936  *
12937  * Refer to individual widget documentation for used style classes.
12938  */
12939 enum STYLE_CLASS_PANE_SEPARATOR = "pane-separator";
12940 alias GTK_STYLE_CLASS_PANE_SEPARATOR = STYLE_CLASS_PANE_SEPARATOR;
12941 
12942 /**
12943  * A CSS class that is added to areas that should look like paper.
12944  *
12945  * This is used in print previews and themes are encouraged to
12946  * style it as black text on white background.
12947  *
12948  * Refer to individual widget documentation for used style classes.
12949  */
12950 enum STYLE_CLASS_PAPER = "paper";
12951 alias GTK_STYLE_CLASS_PAPER = STYLE_CLASS_PAPER;
12952 
12953 /**
12954  * A CSS class that matches popovers.
12955  *
12956  * Refer to individual widget documentation for used style classes.
12957  */
12958 enum STYLE_CLASS_POPOVER = "popover";
12959 alias GTK_STYLE_CLASS_POPOVER = STYLE_CLASS_POPOVER;
12960 
12961 /**
12962  * A CSS class that is added to the toplevel windows used for menus.
12963  *
12964  * Refer to individual widget documentation for used style classes.
12965  */
12966 enum STYLE_CLASS_POPUP = "popup";
12967 alias GTK_STYLE_CLASS_POPUP = STYLE_CLASS_POPUP;
12968 
12969 /**
12970  * A CSS class to match primary toolbars.
12971  *
12972  * Refer to individual widget documentation for used style classes.
12973  */
12974 enum STYLE_CLASS_PRIMARY_TOOLBAR = "primary-toolbar";
12975 alias GTK_STYLE_CLASS_PRIMARY_TOOLBAR = STYLE_CLASS_PRIMARY_TOOLBAR;
12976 
12977 /**
12978  * A CSS class to use when rendering activity as a progressbar.
12979  *
12980  * Refer to individual widget documentation for used style classes.
12981  */
12982 enum STYLE_CLASS_PROGRESSBAR = "progressbar";
12983 alias GTK_STYLE_CLASS_PROGRESSBAR = STYLE_CLASS_PROGRESSBAR;
12984 
12985 /**
12986  * A CSS class to use when rendering a pulse in an indeterminate progress bar.
12987  *
12988  * Refer to individual widget documentation for used style classes.
12989  */
12990 enum STYLE_CLASS_PULSE = "pulse";
12991 alias GTK_STYLE_CLASS_PULSE = STYLE_CLASS_PULSE;
12992 
12993 /**
12994  * A CSS class for an area displaying a question to the user,
12995  * such as those in infobars.
12996  *
12997  * Refer to individual widget documentation for used style classes.
12998  */
12999 enum STYLE_CLASS_QUESTION = "question";
13000 alias GTK_STYLE_CLASS_QUESTION = STYLE_CLASS_QUESTION;
13001 
13002 /**
13003  * A CSS class to match radio buttons.
13004  *
13005  * Refer to individual widget documentation for used style classes.
13006  */
13007 enum STYLE_CLASS_RADIO = "radio";
13008 alias GTK_STYLE_CLASS_RADIO = STYLE_CLASS_RADIO;
13009 
13010 /**
13011  * A CSS class to match a raised control, such as a raised
13012  * button on a toolbar.
13013  *
13014  * Refer to individual widget documentation for used style classes.
13015  */
13016 enum STYLE_CLASS_RAISED = "raised";
13017 alias GTK_STYLE_CLASS_RAISED = STYLE_CLASS_RAISED;
13018 
13019 /**
13020  * A CSS class used to indicate a read-only state.
13021  *
13022  * Refer to individual widget documentation for used style classes.
13023  */
13024 enum STYLE_CLASS_READ_ONLY = "read-only";
13025 alias GTK_STYLE_CLASS_READ_ONLY = STYLE_CLASS_READ_ONLY;
13026 
13027 /**
13028  * A CSS class to indicate an area at the right of a widget.
13029  *
13030  * Refer to individual widget documentation for used style classes.
13031  */
13032 enum STYLE_CLASS_RIGHT = "right";
13033 alias GTK_STYLE_CLASS_RIGHT = STYLE_CLASS_RIGHT;
13034 
13035 /**
13036  * A CSS class to match the rubberband selection rectangle.
13037  *
13038  * Refer to individual widget documentation for used style classes.
13039  */
13040 enum STYLE_CLASS_RUBBERBAND = "rubberband";
13041 alias GTK_STYLE_CLASS_RUBBERBAND = STYLE_CLASS_RUBBERBAND;
13042 
13043 /**
13044  * A CSS class to match scale widgets.
13045  *
13046  * Refer to individual widget documentation for used style classes.
13047  */
13048 enum STYLE_CLASS_SCALE = "scale";
13049 alias GTK_STYLE_CLASS_SCALE = STYLE_CLASS_SCALE;
13050 
13051 /**
13052  * A CSS class to match scale widgets with marks attached,
13053  * all the marks are above for horizontal #GtkScale.
13054  * left for vertical #GtkScale.
13055  *
13056  * Refer to individual widget documentation for used style classes.
13057  */
13058 enum STYLE_CLASS_SCALE_HAS_MARKS_ABOVE = "scale-has-marks-above";
13059 alias GTK_STYLE_CLASS_SCALE_HAS_MARKS_ABOVE = STYLE_CLASS_SCALE_HAS_MARKS_ABOVE;
13060 
13061 /**
13062  * A CSS class to match scale widgets with marks attached,
13063  * all the marks are below for horizontal #GtkScale,
13064  * right for vertical #GtkScale.
13065  *
13066  * Refer to individual widget documentation for used style classes.
13067  */
13068 enum STYLE_CLASS_SCALE_HAS_MARKS_BELOW = "scale-has-marks-below";
13069 alias GTK_STYLE_CLASS_SCALE_HAS_MARKS_BELOW = STYLE_CLASS_SCALE_HAS_MARKS_BELOW;
13070 
13071 /**
13072  * A CSS class to match scrollbars.
13073  *
13074  * Refer to individual widget documentation for used style classes.
13075  */
13076 enum STYLE_CLASS_SCROLLBAR = "scrollbar";
13077 alias GTK_STYLE_CLASS_SCROLLBAR = STYLE_CLASS_SCROLLBAR;
13078 
13079 /**
13080  * A CSS class to match the junction area between an horizontal
13081  * and vertical scrollbar, when they’re both shown.
13082  *
13083  * Refer to individual widget documentation for used style classes.
13084  */
13085 enum STYLE_CLASS_SCROLLBARS_JUNCTION = "scrollbars-junction";
13086 alias GTK_STYLE_CLASS_SCROLLBARS_JUNCTION = STYLE_CLASS_SCROLLBARS_JUNCTION;
13087 
13088 /**
13089  * A CSS class for a separator.
13090  *
13091  * Refer to individual widget documentation for used style classes.
13092  */
13093 enum STYLE_CLASS_SEPARATOR = "separator";
13094 alias GTK_STYLE_CLASS_SEPARATOR = STYLE_CLASS_SEPARATOR;
13095 
13096 /**
13097  * A CSS class defining a sidebar, such as the left side in
13098  * a file chooser.
13099  *
13100  * Refer to individual widget documentation for used style classes.
13101  */
13102 enum STYLE_CLASS_SIDEBAR = "sidebar";
13103 alias GTK_STYLE_CLASS_SIDEBAR = STYLE_CLASS_SIDEBAR;
13104 
13105 /**
13106  * A CSS class to match sliders.
13107  *
13108  * Refer to individual widget documentation for used style classes.
13109  */
13110 enum STYLE_CLASS_SLIDER = "slider";
13111 alias GTK_STYLE_CLASS_SLIDER = STYLE_CLASS_SLIDER;
13112 
13113 /**
13114  * A CSS class defining an spinbutton.
13115  *
13116  * Refer to individual widget documentation for used style classes.
13117  */
13118 enum STYLE_CLASS_SPINBUTTON = "spinbutton";
13119 alias GTK_STYLE_CLASS_SPINBUTTON = STYLE_CLASS_SPINBUTTON;
13120 
13121 /**
13122  * A CSS class to use when rendering activity as a “spinner”.
13123  *
13124  * Refer to individual widget documentation for used style classes.
13125  */
13126 enum STYLE_CLASS_SPINNER = "spinner";
13127 alias GTK_STYLE_CLASS_SPINNER = STYLE_CLASS_SPINNER;
13128 
13129 /**
13130  * A CSS class to match statusbars.
13131  *
13132  * Refer to individual widget documentation for used style classes.
13133  */
13134 enum STYLE_CLASS_STATUSBAR = "statusbar";
13135 alias GTK_STYLE_CLASS_STATUSBAR = STYLE_CLASS_STATUSBAR;
13136 
13137 /**
13138  * A CSS class used for the subtitle label in a titlebar in
13139  * a toplevel window.
13140  *
13141  * Refer to individual widget documentation for used style classes.
13142  */
13143 enum STYLE_CLASS_SUBTITLE = "subtitle";
13144 alias GTK_STYLE_CLASS_SUBTITLE = STYLE_CLASS_SUBTITLE;
13145 
13146 /**
13147  * A CSS class used when an action (usually a button) is the
13148  * primary suggested action in a specific context.
13149  *
13150  * Refer to individual widget documentation for used style classes.
13151  */
13152 enum STYLE_CLASS_SUGGESTED_ACTION = "suggested-action";
13153 alias GTK_STYLE_CLASS_SUGGESTED_ACTION = STYLE_CLASS_SUGGESTED_ACTION;
13154 
13155 /**
13156  * A CSS class used for the title label in a titlebar in
13157  * a toplevel window.
13158  *
13159  * Refer to individual widget documentation for used style classes.
13160  */
13161 enum STYLE_CLASS_TITLE = "title";
13162 alias GTK_STYLE_CLASS_TITLE = STYLE_CLASS_TITLE;
13163 
13164 /**
13165  * A CSS class used when rendering a titlebar in a toplevel window.
13166  *
13167  * Refer to individual widget documentation for used style classes.
13168  */
13169 enum STYLE_CLASS_TITLEBAR = "titlebar";
13170 alias GTK_STYLE_CLASS_TITLEBAR = STYLE_CLASS_TITLEBAR;
13171 
13172 /**
13173  * A CSS class to match toolbars.
13174  *
13175  * Refer to individual widget documentation for used style classes.
13176  */
13177 enum STYLE_CLASS_TOOLBAR = "toolbar";
13178 alias GTK_STYLE_CLASS_TOOLBAR = STYLE_CLASS_TOOLBAR;
13179 
13180 /**
13181  * A CSS class to match tooltip windows.
13182  *
13183  * Refer to individual widget documentation for used style classes.
13184  */
13185 enum STYLE_CLASS_TOOLTIP = "tooltip";
13186 alias GTK_STYLE_CLASS_TOOLTIP = STYLE_CLASS_TOOLTIP;
13187 
13188 /**
13189  * A CSS class to indicate an area at the top of a widget.
13190  *
13191  * Refer to individual widget documentation for used style classes.
13192  */
13193 enum STYLE_CLASS_TOP = "top";
13194 alias GTK_STYLE_CLASS_TOP = STYLE_CLASS_TOP;
13195 
13196 /**
13197  * A CSS class for touch selection popups on entries
13198  * and text views.
13199  *
13200  * Refer to individual widget documentation for used style classes.
13201  */
13202 enum STYLE_CLASS_TOUCH_SELECTION = "touch-selection";
13203 alias GTK_STYLE_CLASS_TOUCH_SELECTION = STYLE_CLASS_TOUCH_SELECTION;
13204 
13205 /**
13206  * A CSS class to match troughs, as in scrollbars and progressbars.
13207  *
13208  * Refer to individual widget documentation for used style classes.
13209  */
13210 enum STYLE_CLASS_TROUGH = "trough";
13211 alias GTK_STYLE_CLASS_TROUGH = STYLE_CLASS_TROUGH;
13212 
13213 /**
13214  * A CSS class that is added on the visual hints that happen
13215  * where content is 'scrolled off' and can be made visible
13216  * by scrolling.
13217  *
13218  * Refer to individual widget documentation for used style classes.
13219  */
13220 enum STYLE_CLASS_UNDERSHOOT = "undershoot";
13221 alias GTK_STYLE_CLASS_UNDERSHOOT = STYLE_CLASS_UNDERSHOOT;
13222 
13223 /**
13224  * A CSS class for vertically layered widgets.
13225  *
13226  * Refer to individual widget documentation for used style classes.
13227  */
13228 enum STYLE_CLASS_VERTICAL = "vertical";
13229 alias GTK_STYLE_CLASS_VERTICAL = STYLE_CLASS_VERTICAL;
13230 
13231 /**
13232  * A CSS class defining a view, such as iconviews or treeviews.
13233  *
13234  * Refer to individual widget documentation for used style classes.
13235  */
13236 enum STYLE_CLASS_VIEW = "view";
13237 alias GTK_STYLE_CLASS_VIEW = STYLE_CLASS_VIEW;
13238 
13239 /**
13240  * A CSS class for an area displaying a warning message,
13241  * such as those in infobars.
13242  *
13243  * Refer to individual widget documentation for used style classes.
13244  */
13245 enum STYLE_CLASS_WARNING = "warning";
13246 alias GTK_STYLE_CLASS_WARNING = STYLE_CLASS_WARNING;
13247 
13248 /**
13249  * A CSS class to indicate that a UI element should be 'wide'.
13250  * Used by #GtkPaned.
13251  *
13252  * Refer to individual widget documentation for used style classes.
13253  */
13254 enum STYLE_CLASS_WIDE = "wide";
13255 alias GTK_STYLE_CLASS_WIDE = STYLE_CLASS_WIDE;
13256 
13257 /**
13258  * A property holding the background color of rendered elements as a #GdkRGBA.
13259  */
13260 enum STYLE_PROPERTY_BACKGROUND_COLOR = "background-color";
13261 alias GTK_STYLE_PROPERTY_BACKGROUND_COLOR = STYLE_PROPERTY_BACKGROUND_COLOR;
13262 
13263 /**
13264  * A property holding the element’s background as a #cairo_pattern_t.
13265  */
13266 enum STYLE_PROPERTY_BACKGROUND_IMAGE = "background-image";
13267 alias GTK_STYLE_PROPERTY_BACKGROUND_IMAGE = STYLE_PROPERTY_BACKGROUND_IMAGE;
13268 
13269 /**
13270  * A property holding the element’s border color as a #GdkRGBA.
13271  */
13272 enum STYLE_PROPERTY_BORDER_COLOR = "border-color";
13273 alias GTK_STYLE_PROPERTY_BORDER_COLOR = STYLE_PROPERTY_BORDER_COLOR;
13274 
13275 /**
13276  * A property holding the rendered element’s border radius in pixels as a #gint.
13277  */
13278 enum STYLE_PROPERTY_BORDER_RADIUS = "border-radius";
13279 alias GTK_STYLE_PROPERTY_BORDER_RADIUS = STYLE_PROPERTY_BORDER_RADIUS;
13280 
13281 /**
13282  * A property holding the element’s border style as a #GtkBorderStyle.
13283  */
13284 enum STYLE_PROPERTY_BORDER_STYLE = "border-style";
13285 alias GTK_STYLE_PROPERTY_BORDER_STYLE = STYLE_PROPERTY_BORDER_STYLE;
13286 
13287 /**
13288  * A property holding the rendered element’s border width in pixels as
13289  * a #GtkBorder. The border is the intermediary spacing property of the
13290  * padding/border/margin series.
13291  *
13292  * gtk_render_frame() uses this property to find out the frame line width,
13293  * so #GtkWidgets rendering frames may need to add up this padding when
13294  * requesting size
13295  */
13296 enum STYLE_PROPERTY_BORDER_WIDTH = "border-width";
13297 alias GTK_STYLE_PROPERTY_BORDER_WIDTH = STYLE_PROPERTY_BORDER_WIDTH;
13298 
13299 /**
13300  * A property holding the foreground color of rendered elements as a #GdkRGBA.
13301  */
13302 enum STYLE_PROPERTY_COLOR = "color";
13303 alias GTK_STYLE_PROPERTY_COLOR = STYLE_PROPERTY_COLOR;
13304 
13305 /**
13306  * A property holding the font properties used when rendering text
13307  * as a #PangoFontDescription.
13308  */
13309 enum STYLE_PROPERTY_FONT = "font";
13310 alias GTK_STYLE_PROPERTY_FONT = STYLE_PROPERTY_FONT;
13311 
13312 /**
13313  * A property holding the rendered element’s margin as a #GtkBorder. The
13314  * margin is defined as the spacing between the border of the element
13315  * and its surrounding elements. It is external to #GtkWidget's
13316  * size allocations, and the most external spacing property of the
13317  * padding/border/margin series.
13318  */
13319 enum STYLE_PROPERTY_MARGIN = "margin";
13320 alias GTK_STYLE_PROPERTY_MARGIN = STYLE_PROPERTY_MARGIN;
13321 
13322 /**
13323  * A property holding the rendered element’s padding as a #GtkBorder. The
13324  * padding is defined as the spacing between the inner part of the element border
13325  * and its child. It’s the innermost spacing property of the padding/border/margin
13326  * series.
13327  */
13328 enum STYLE_PROPERTY_PADDING = "padding";
13329 alias GTK_STYLE_PROPERTY_PADDING = STYLE_PROPERTY_PADDING;
13330 
13331 /**
13332  * A priority that can be used when adding a #GtkStyleProvider
13333  * for application-specific style information.
13334  */
13335 enum STYLE_PROVIDER_PRIORITY_APPLICATION = 600;
13336 alias GTK_STYLE_PROVIDER_PRIORITY_APPLICATION = STYLE_PROVIDER_PRIORITY_APPLICATION;
13337 
13338 /**
13339  * The priority used for default style information
13340  * that is used in the absence of themes.
13341  *
13342  * Note that this is not very useful for providing default
13343  * styling for custom style classes - themes are likely to
13344  * override styling provided at this priority with
13345  * catch-all `* {...}` rules.
13346  */
13347 enum STYLE_PROVIDER_PRIORITY_FALLBACK = 1;
13348 alias GTK_STYLE_PROVIDER_PRIORITY_FALLBACK = STYLE_PROVIDER_PRIORITY_FALLBACK;
13349 
13350 /**
13351  * The priority used for style information provided
13352  * via #GtkSettings.
13353  *
13354  * This priority is higher than #GTK_STYLE_PROVIDER_PRIORITY_THEME
13355  * to let settings override themes.
13356  */
13357 enum STYLE_PROVIDER_PRIORITY_SETTINGS = 400;
13358 alias GTK_STYLE_PROVIDER_PRIORITY_SETTINGS = STYLE_PROVIDER_PRIORITY_SETTINGS;
13359 
13360 /**
13361  * The priority used for style information provided
13362  * by themes.
13363  */
13364 enum STYLE_PROVIDER_PRIORITY_THEME = 200;
13365 alias GTK_STYLE_PROVIDER_PRIORITY_THEME = STYLE_PROVIDER_PRIORITY_THEME;
13366 
13367 /**
13368  * The priority used for the style information from
13369  * `~/.gtk-3.0.css`.
13370  *
13371  * You should not use priorities higher than this, to
13372  * give the user the last word.
13373  */
13374 enum STYLE_PROVIDER_PRIORITY_USER = 800;
13375 alias GTK_STYLE_PROVIDER_PRIORITY_USER = STYLE_PROVIDER_PRIORITY_USER;
13376 
13377 /**
13378  * A widget region name to define a treeview column.
13379  *
13380  * Deprecated: Don't use regions.
13381  */
13382 enum STYLE_REGION_COLUMN = "column";
13383 alias GTK_STYLE_REGION_COLUMN = STYLE_REGION_COLUMN;
13384 
13385 /**
13386  * A widget region name to define a treeview column header.
13387  *
13388  * Deprecated: Don't use regions.
13389  */
13390 enum STYLE_REGION_COLUMN_HEADER = "column-header";
13391 alias GTK_STYLE_REGION_COLUMN_HEADER = STYLE_REGION_COLUMN_HEADER;
13392 
13393 /**
13394  * A widget region name to define a treeview row.
13395  *
13396  * Deprecated: Don't use regions.
13397  */
13398 enum STYLE_REGION_ROW = "row";
13399 alias GTK_STYLE_REGION_ROW = STYLE_REGION_ROW;
13400 
13401 /**
13402  * A widget region name to define a notebook tab.
13403  *
13404  * Deprecated: Don't use regions.
13405  */
13406 enum STYLE_REGION_TAB = "tab";
13407 alias GTK_STYLE_REGION_TAB = STYLE_REGION_TAB;
13408 
13409 /**
13410  * The priority at which the text view validates onscreen lines
13411  * in an idle job in the background.
13412  */
13413 enum TEXT_VIEW_PRIORITY_VALIDATE = 5;
13414 alias GTK_TEXT_VIEW_PRIORITY_VALIDATE = TEXT_VIEW_PRIORITY_VALIDATE;
13415 
13416 /**
13417  * The GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID can be used to make a
13418  * #GtkTreeSortable use the default sort function.
13419  *
13420  * See also gtk_tree_sortable_set_sort_column_id()
13421  */
13422 enum TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID = -1;
13423 alias GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID = TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID;
13424 
13425 /**
13426  * The GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID can be used to make a
13427  * #GtkTreeSortable use no sorting.
13428  *
13429  * See also gtk_tree_sortable_set_sort_column_id()
13430  */
13431 enum TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID = -2;
13432 alias GTK_TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID = TREE_SORTABLE_UNSORTED_SORT_COLUMN_ID;
13433 
13434 /**
13435  * StockIds
13436  */
13437 public enum StockID
13438 {
13439 	/**
13440 	 * The “About” item.
13441 	 * ![](help-about.png)
13442 	 *
13443 	 * Deprecated: Use named icon &quot;help-about&quot; or the label &quot;_About&quot;.
13444 	 */
13445 	ABOUT = "gtk-about",
13446 	/**
13447 	 * The “Add” item and icon.
13448 	 *
13449 	 * Deprecated: Use named icon &quot;list-add&quot; or the label &quot;_Add&quot;.
13450 	 */
13451 	ADD = "gtk-add",
13452 	/**
13453 	 * The “Apply” item and icon.
13454 	 *
13455 	 * Deprecated: Do not use an icon. Use label &quot;_Apply&quot;.
13456 	 */
13457 	APPLY = "gtk-apply",
13458 	/**
13459 	 * The “Bold” item and icon.
13460 	 *
13461 	 * Deprecated: Use named icon &quot;format-text-bold&quot;.
13462 	 */
13463 	BOLD = "gtk-bold",
13464 	/**
13465 	 * The “Cancel” item and icon.
13466 	 *
13467 	 * Deprecated: Do not use an icon. Use label &quot;_Cancel&quot;.
13468 	 */
13469 	CANCEL = "gtk-cancel",
13470 	/**
13471 	 * The “Caps Lock Warning” icon.
13472 	 *
13473 	 * Deprecated: Use named icon &quot;dialog-warning-symbolic&quot;.
13474 	 */
13475 	CAPS_LOCK_WARNING = "gtk-caps-lock-warning",
13476 	/**
13477 	 * The “CD-Rom” item and icon.
13478 	 *
13479 	 * Deprecated: Use named icon &quot;media-optical&quot;.
13480 	 */
13481 	CDROM = "gtk-cdrom",
13482 	/**
13483 	 * The “Clear” item and icon.
13484 	 *
13485 	 * Deprecated: Use named icon &quot;edit-clear&quot;.
13486 	 */
13487 	CLEAR = "gtk-clear",
13488 	/**
13489 	 * The “Close” item and icon.
13490 	 *
13491 	 * Deprecated: Use named icon &quot;window-close&quot; or the label &quot;_Close&quot;.
13492 	 */
13493 	CLOSE = "gtk-close",
13494 	/**
13495 	 * The “Color Picker” item and icon.
13496 	 */
13497 	COLOR_PICKER = "gtk-color-picker",
13498 	/**
13499 	 * The “Connect” icon.
13500 	 */
13501 	CONNECT = "gtk-connect",
13502 	/**
13503 	 * The “Convert” item and icon.
13504 	 */
13505 	CONVERT = "gtk-convert",
13506 	/**
13507 	 * The “Copy” item and icon.
13508 	 *
13509 	 * Deprecated: Use the named icon &quot;edit-copy&quot; or the label &quot;_Copy&quot;.
13510 	 */
13511 	COPY = "gtk-copy",
13512 	/**
13513 	 * The “Cut” item and icon.
13514 	 *
13515 	 * Deprecated: Use the named icon &quot;edit-cut&quot; or the label &quot;Cu_t&quot;.
13516 	 */
13517 	CUT = "gtk-cut",
13518 	/**
13519 	 * The “Delete” item and icon.
13520 	 *
13521 	 * Deprecated: Use the named icon &quot;edit-delete&quot; or the label &quot;_Delete&quot;.
13522 	 */
13523 	DELETE = "gtk-delete",
13524 	/**
13525 	 * The “Authentication” item and icon.
13526 	 *
13527 	 * Deprecated: Use named icon &quot;dialog-password&quot;.
13528 	 */
13529 	DIALOG_AUTHENTICATION = "gtk-dialog-authentication",
13530 	/**
13531 	 * The “Error” item and icon.
13532 	 *
13533 	 * Deprecated: Use named icon &quot;dialog-error&quot;.
13534 	 */
13535 	DIALOG_ERROR = "gtk-dialog-error",
13536 	/**
13537 	 * The “Information” item and icon.
13538 	 *
13539 	 * Deprecated: Use named icon &quot;dialog-information&quot;.
13540 	 */
13541 	DIALOG_INFO = "gtk-dialog-info",
13542 	/**
13543 	 * The “Question” item and icon.
13544 	 *
13545 	 * Deprecated: Use named icon &quot;dialog-question&quot;.
13546 	 */
13547 	DIALOG_QUESTION = "gtk-dialog-question",
13548 	/**
13549 	 * The “Warning” item and icon.
13550 	 *
13551 	 * Deprecated: Use named icon &quot;dialog-warning&quot;.
13552 	 */
13553 	DIALOG_WARNING = "gtk-dialog-warning",
13554 	/**
13555 	 * The “Directory” icon.
13556 	 *
13557 	 * Deprecated: Use named icon &quot;folder&quot;.
13558 	 */
13559 	DIRECTORY = "gtk-directory",
13560 	/**
13561 	 * The “Discard” item.
13562 	 */
13563 	DISCARD = "gtk-discard",
13564 	/**
13565 	 * The “Disconnect” icon.
13566 	 */
13567 	DISCONNECT = "gtk-disconnect",
13568 	/**
13569 	 * The “Drag-And-Drop” icon.
13570 	 */
13571 	DND = "gtk-dnd",
13572 	/**
13573 	 * The “Drag-And-Drop multiple” icon.
13574 	 */
13575 	DND_MULTIPLE = "gtk-dnd-multiple",
13576 	/**
13577 	 * The “Edit” item and icon.
13578 	 */
13579 	EDIT = "gtk-edit",
13580 	/**
13581 	 * The “Execute” item and icon.
13582 	 *
13583 	 * Deprecated: Use named icon &quot;system-run&quot;.
13584 	 */
13585 	EXECUTE = "gtk-execute",
13586 	/**
13587 	 * The “File” item and icon.
13588 	 *
13589 	 * Since 3.0, this item has a label, before it only had an icon.
13590 	 *
13591 	 * Deprecated: Use named icon &quot;text-x-generic&quot;.
13592 	 */
13593 	FILE = "gtk-file",
13594 	/**
13595 	 * The “Find” item and icon.
13596 	 *
13597 	 * Deprecated: Use named icon &quot;edit-find&quot;.
13598 	 */
13599 	FIND = "gtk-find",
13600 	/**
13601 	 * The “Find and Replace” item and icon.
13602 	 *
13603 	 * Deprecated: Use named icon &quot;edit-find-replace&quot;.
13604 	 */
13605 	FIND_AND_REPLACE = "gtk-find-and-replace",
13606 	/**
13607 	 * The “Floppy” item and icon.
13608 	 */
13609 	FLOPPY = "gtk-floppy",
13610 	/**
13611 	 * The “Fullscreen” item and icon.
13612 	 *
13613 	 * Deprecated: Use named icon &quot;view-fullscreen&quot;.
13614 	 */
13615 	FULLSCREEN = "gtk-fullscreen",
13616 	/**
13617 	 * The “Bottom” item and icon.
13618 	 *
13619 	 * Deprecated: Use named icon &quot;go-bottom&quot;.
13620 	 */
13621 	GOTO_BOTTOM = "gtk-goto-bottom",
13622 	/**
13623 	 * The “First” item and icon. The icon has an RTL variant.
13624 	 *
13625 	 * Deprecated: Use named icon &quot;go-first&quot;.
13626 	 */
13627 	GOTO_FIRST = "gtk-goto-first",
13628 	/**
13629 	 * The “Last” item and icon. The icon has an RTL variant.
13630 	 *
13631 	 * Deprecated: Use named icon &quot;go-last&quot;.
13632 	 */
13633 	GOTO_LAST = "gtk-goto-last",
13634 	/**
13635 	 * The “Top” item and icon.
13636 	 *
13637 	 * Deprecated: Use named icon &quot;go-top&quot;.
13638 	 */
13639 	GOTO_TOP = "gtk-goto-top",
13640 	/**
13641 	 * The “Back” item and icon. The icon has an RTL variant.
13642 	 *
13643 	 * Deprecated: Use named icon &quot;go-previous&quot;.
13644 	 */
13645 	GO_BACK = "gtk-go-back",
13646 	/**
13647 	 * The “Down” item and icon.
13648 	 *
13649 	 * Deprecated: Use named icon &quot;go-down&quot;.
13650 	 */
13651 	GO_DOWN = "gtk-go-down",
13652 	/**
13653 	 * The “Forward” item and icon. The icon has an RTL variant.
13654 	 *
13655 	 * Deprecated: Use named icon &quot;go-next&quot;.
13656 	 */
13657 	GO_FORWARD = "gtk-go-forward",
13658 	/**
13659 	 * The “Up” item and icon.
13660 	 *
13661 	 * Deprecated: Use named icon &quot;go-up&quot;.
13662 	 */
13663 	GO_UP = "gtk-go-up",
13664 	/**
13665 	 * The “Harddisk” item and icon.
13666 	 *
13667 	 * Deprecated: Use named icon &quot;drive-harddisk&quot;.
13668 	 */
13669 	HARDDISK = "gtk-harddisk",
13670 	/**
13671 	 * The “Help” item and icon.
13672 	 *
13673 	 * Deprecated: Use named icon &quot;help-browser&quot;.
13674 	 */
13675 	HELP = "gtk-help",
13676 	/**
13677 	 * The “Home” item and icon.
13678 	 *
13679 	 * Deprecated: Use named icon &quot;go-home&quot;.
13680 	 */
13681 	HOME = "gtk-home",
13682 	/**
13683 	 * The “Indent” item and icon. The icon has an RTL variant.
13684 	 *
13685 	 * Deprecated: Use named icon &quot;format-indent-more&quot;.
13686 	 */
13687 	INDENT = "gtk-indent",
13688 	/**
13689 	 * The “Index” item and icon.
13690 	 */
13691 	INDEX = "gtk-index",
13692 	/**
13693 	 * The “Info” item and icon.
13694 	 *
13695 	 * Deprecated: Use named icon &quot;dialog-information&quot;.
13696 	 */
13697 	INFO = "gtk-info",
13698 	/**
13699 	 * The “Italic” item and icon.
13700 	 *
13701 	 * Deprecated: Use named icon &quot;format-text-italic&quot;.
13702 	 */
13703 	ITALIC = "gtk-italic",
13704 	/**
13705 	 * The “Jump to” item and icon. The icon has an RTL variant.
13706 	 *
13707 	 * Deprecated: Use named icon &quot;go-jump&quot;.
13708 	 */
13709 	JUMP_TO = "gtk-jump-to",
13710 	/**
13711 	 * The “Center” item and icon.
13712 	 *
13713 	 * Deprecated: Use named icon &quot;format-justify-center&quot;.
13714 	 */
13715 	JUSTIFY_CENTER = "gtk-justify-center",
13716 	/**
13717 	 * The “Fill” item and icon.
13718 	 *
13719 	 * Deprecated: Use named icon &quot;format-justify-fill&quot;.
13720 	 */
13721 	JUSTIFY_FILL = "gtk-justify-fill",
13722 	/**
13723 	 * The “Left” item and icon.
13724 	 *
13725 	 * Deprecated: Use named icon &quot;format-justify-left&quot;.
13726 	 */
13727 	JUSTIFY_LEFT = "gtk-justify-left",
13728 	/**
13729 	 * The “Right” item and icon.
13730 	 *
13731 	 * Deprecated: Use named icon &quot;format-justify-right&quot;.
13732 	 */
13733 	JUSTIFY_RIGHT = "gtk-justify-right",
13734 	/**
13735 	 * The “Leave Fullscreen” item and icon.
13736 	 *
13737 	 * Deprecated: Use named icon &quot;view-restore&quot;.
13738 	 */
13739 	LEAVE_FULLSCREEN = "gtk-leave-fullscreen",
13740 	/**
13741 	 * The “Media Forward” item and icon. The icon has an RTL variant.
13742 	 *
13743 	 * Deprecated: Use named icon &quot;media-seek-forward&quot; or the label &quot;_Forward&quot;.
13744 	 */
13745 	MEDIA_FORWARD = "gtk-media-forward",
13746 	/**
13747 	 * The “Media Next” item and icon. The icon has an RTL variant.
13748 	 *
13749 	 * Deprecated: Use named icon &quot;media-skip-forward&quot; or the label &quot;_Next&quot;.
13750 	 */
13751 	MEDIA_NEXT = "gtk-media-next",
13752 	/**
13753 	 * The “Media Pause” item and icon.
13754 	 *
13755 	 * Deprecated: Use named icon &quot;media-playback-pause&quot; or the label &quot;P_ause&quot;.
13756 	 */
13757 	MEDIA_PAUSE = "gtk-media-pause",
13758 	/**
13759 	 * The “Media Play” item and icon. The icon has an RTL variant.
13760 	 *
13761 	 * Deprecated: Use named icon &quot;media-playback-start&quot; or the label &quot;_Play&quot;.
13762 	 */
13763 	MEDIA_PLAY = "gtk-media-play",
13764 	/**
13765 	 * The “Media Previous” item and icon. The icon has an RTL variant.
13766 	 *
13767 	 * Deprecated: Use named icon &quot;media-skip-backward&quot; or the label &quot;Pre_vious&quot;.
13768 	 */
13769 	MEDIA_PREVIOUS = "gtk-media-previous",
13770 	/**
13771 	 * The “Media Record” item and icon.
13772 	 *
13773 	 * Deprecated: Use named icon &quot;media-record&quot; or the label &quot;_Record&quot;.
13774 	 */
13775 	MEDIA_RECORD = "gtk-media-record",
13776 	/**
13777 	 * The “Media Rewind” item and icon. The icon has an RTL variant.
13778 	 *
13779 	 * Deprecated: Use named icon &quot;media-seek-backward&quot; or the label &quot;R_ewind&quot;.
13780 	 */
13781 	MEDIA_REWIND = "gtk-media-rewind",
13782 	/**
13783 	 * The “Media Stop” item and icon.
13784 	 *
13785 	 * Deprecated: Use named icon &quot;media-playback-stop&quot; or the label &quot;_Stop&quot;.
13786 	 */
13787 	MEDIA_STOP = "gtk-media-stop",
13788 	/**
13789 	 * The “Missing image” icon.
13790 	 *
13791 	 * Deprecated: Use named icon &quot;image-missing&quot;.
13792 	 */
13793 	MISSING_IMAGE = "gtk-missing-image",
13794 	/**
13795 	 * The “Network” item and icon.
13796 	 *
13797 	 * Deprecated: Use named icon &quot;network-workgroup&quot;.
13798 	 */
13799 	NETWORK = "gtk-network",
13800 	/**
13801 	 * The “New” item and icon.
13802 	 *
13803 	 * Deprecated: Use named icon &quot;document-new&quot; or the label &quot;_New&quot;.
13804 	 */
13805 	NEW = "gtk-new",
13806 	/**
13807 	 * The “No” item and icon.
13808 	 */
13809 	NO = "gtk-no",
13810 	/**
13811 	 * The “OK” item and icon.
13812 	 *
13813 	 * Deprecated: Do not use an icon. Use label &quot;_OK&quot;.
13814 	 */
13815 	OK = "gtk-ok",
13816 	/**
13817 	 * The “Open” item and icon.
13818 	 *
13819 	 * Deprecated: Use named icon &quot;document-open&quot; or the label &quot;_Open&quot;.
13820 	 */
13821 	OPEN = "gtk-open",
13822 	/**
13823 	 * The “Landscape Orientation” item and icon.
13824 	 */
13825 	ORIENTATION_LANDSCAPE = "gtk-orientation-landscape",
13826 	/**
13827 	 * The “Portrait Orientation” item and icon.
13828 	 */
13829 	ORIENTATION_PORTRAIT = "gtk-orientation-portrait",
13830 	/**
13831 	 * The “Reverse Landscape Orientation” item and icon.
13832 	 */
13833 	ORIENTATION_REVERSE_LANDSCAPE = "gtk-orientation-reverse-landscape",
13834 	/**
13835 	 * The “Reverse Portrait Orientation” item and icon.
13836 	 */
13837 	ORIENTATION_REVERSE_PORTRAIT = "gtk-orientation-reverse-portrait",
13838 	/**
13839 	 * The “Page Setup” item and icon.
13840 	 *
13841 	 * Deprecated: Use named icon &quot;document-page-setup&quot; or the label &quot;Page Set_up&quot;.
13842 	 */
13843 	PAGE_SETUP = "gtk-page-setup",
13844 	/**
13845 	 * The “Paste” item and icon.
13846 	 *
13847 	 * Deprecated: Use named icon &quot;edit-paste&quot; or the label &quot;_Paste&quot;.
13848 	 */
13849 	PASTE = "gtk-paste",
13850 	/**
13851 	 * The “Preferences” item and icon.
13852 	 *
13853 	 * Deprecated: Use named icon &quot;preferences-system&quot; or the label &quot;_Preferences&quot;.
13854 	 */
13855 	PREFERENCES = "gtk-preferences",
13856 	/**
13857 	 * The “Print” item and icon.
13858 	 *
13859 	 * Deprecated: Use named icon &quot;document-print&quot; or the label &quot;_Print&quot;.
13860 	 */
13861 	PRINT = "gtk-print",
13862 	/**
13863 	 * The “Print Error” icon.
13864 	 *
13865 	 * Deprecated: Use named icon &quot;printer-error&quot;.
13866 	 */
13867 	PRINT_ERROR = "gtk-print-error",
13868 	/**
13869 	 * The “Print Paused” icon.
13870 	 */
13871 	PRINT_PAUSED = "gtk-print-paused",
13872 	/**
13873 	 * The “Print Preview” item and icon.
13874 	 *
13875 	 * Deprecated: Use label &quot;Pre_view&quot;.
13876 	 */
13877 	PRINT_PREVIEW = "gtk-print-preview",
13878 	/**
13879 	 * The “Print Report” icon.
13880 	 */
13881 	PRINT_REPORT = "gtk-print-report",
13882 	/**
13883 	 * The “Print Warning” icon.
13884 	 */
13885 	PRINT_WARNING = "gtk-print-warning",
13886 	/**
13887 	 * The “Properties” item and icon.
13888 	 *
13889 	 * Deprecated: Use named icon &quot;document-properties&quot; or the label &quot;_Properties&quot;.
13890 	 */
13891 	PROPERTIES = "gtk-properties",
13892 	/**
13893 	 * The “Quit” item and icon.
13894 	 *
13895 	 * Deprecated: Use named icon &quot;application-exit&quot; or the label &quot;_Quit&quot;.
13896 	 */
13897 	QUIT = "gtk-quit",
13898 	/**
13899 	 * The “Redo” item and icon. The icon has an RTL variant.
13900 	 *
13901 	 * Deprecated: Use named icon &quot;edit-redo&quot; or the label &quot;_Redo&quot;.
13902 	 */
13903 	REDO = "gtk-redo",
13904 	/**
13905 	 * The “Refresh” item and icon.
13906 	 *
13907 	 * Deprecated: Use named icon &quot;view-refresh&quot; or the label &quot;_Refresh&quot;.
13908 	 */
13909 	REFRESH = "gtk-refresh",
13910 	/**
13911 	 * The “Remove” item and icon.
13912 	 *
13913 	 * Deprecated: Use named icon &quot;list-remove&quot; or the label &quot;_Remove&quot;.
13914 	 */
13915 	REMOVE = "gtk-remove",
13916 	/**
13917 	 * The “Revert” item and icon. The icon has an RTL variant.
13918 	 *
13919 	 * Deprecated: Use named icon &quot;document-revert&quot; or the label &quot;_Revert&quot;.
13920 	 */
13921 	REVERT_TO_SAVED = "gtk-revert-to-saved",
13922 	/**
13923 	 * The “Save” item and icon.
13924 	 *
13925 	 * Deprecated: Use named icon &quot;document-save&quot; or the label &quot;_Save&quot;.
13926 	 */
13927 	SAVE = "gtk-save",
13928 	/**
13929 	 * The “Save As” item and icon.
13930 	 *
13931 	 * Deprecated: Use named icon &quot;document-save-as&quot; or the label &quot;Save _As&quot;.
13932 	 */
13933 	SAVE_AS = "gtk-save-as",
13934 	/**
13935 	 * The “Select All” item and icon.
13936 	 *
13937 	 * Deprecated: Use named icon &quot;edit-select-all&quot; or the label &quot;Select _All&quot;.
13938 	 */
13939 	SELECT_ALL = "gtk-select-all",
13940 	/**
13941 	 * The “Color” item and icon.
13942 	 */
13943 	SELECT_COLOR = "gtk-select-color",
13944 	/**
13945 	 * The “Font” item and icon.
13946 	 */
13947 	SELECT_FONT = "gtk-select-font",
13948 	/**
13949 	 * The “Ascending” item and icon.
13950 	 *
13951 	 * Deprecated: Use named icon &quot;view-sort-ascending&quot;.
13952 	 */
13953 	SORT_ASCENDING = "gtk-sort-ascending",
13954 	/**
13955 	 * The “Descending” item and icon.
13956 	 *
13957 	 * Deprecated: Use named icon &quot;view-sort-descending&quot;.
13958 	 */
13959 	SORT_DESCENDING = "gtk-sort-descending",
13960 	/**
13961 	 * The “Spell Check” item and icon.
13962 	 *
13963 	 * Deprecated: Use named icon &quot;tools-check-spelling&quot;.
13964 	 */
13965 	SPELL_CHECK = "gtk-spell-check",
13966 	/**
13967 	 * The “Stop” item and icon.
13968 	 *
13969 	 * Deprecated: Use named icon &quot;process-stop&quot; or the label &quot;_Stop&quot;.
13970 	 */
13971 	STOP = "gtk-stop",
13972 	/**
13973 	 * The “Strikethrough” item and icon.
13974 	 *
13975 	 * Deprecated: Use named icon &quot;format-text-strikethrough&quot; or the label &quot;_Strikethrough&quot;.
13976 	 */
13977 	STRIKETHROUGH = "gtk-strikethrough",
13978 	/**
13979 	 * The “Undelete” item and icon. The icon has an RTL variant.
13980 	 */
13981 	UNDELETE = "gtk-undelete",
13982 	/**
13983 	 * The “Underline” item and icon.
13984 	 *
13985 	 * Deprecated: Use named icon &quot;format-text-underline&quot; or the label &quot;_Underline&quot;.
13986 	 */
13987 	UNDERLINE = "gtk-underline",
13988 	/**
13989 	 * The “Undo” item and icon. The icon has an RTL variant.
13990 	 *
13991 	 * Deprecated: Use named icon &quot;edit-undo&quot; or the label &quot;_Undo&quot;.
13992 	 */
13993 	UNDO = "gtk-undo",
13994 	/**
13995 	 * The “Unindent” item and icon. The icon has an RTL variant.
13996 	 *
13997 	 * Deprecated: Use named icon &quot;format-indent-less&quot;.
13998 	 */
13999 	UNINDENT = "gtk-unindent",
14000 	/**
14001 	 * The “Yes” item and icon.
14002 	 */
14003 	YES = "gtk-yes",
14004 	/**
14005 	 * The “Zoom 100%” item and icon.
14006 	 *
14007 	 * Deprecated: Use named icon &quot;zoom-original&quot; or the label &quot;_Normal Size&quot;.
14008 	 */
14009 	ZOOM_100 = "gtk-zoom-100",
14010 	/**
14011 	 * The “Zoom to Fit” item and icon.
14012 	 *
14013 	 * Deprecated: Use named icon &quot;zoom-fit-best&quot; or the label &quot;Best _Fit&quot;.
14014 	 */
14015 	ZOOM_FIT = "gtk-zoom-fit",
14016 	/**
14017 	 * The “Zoom In” item and icon.
14018 	 *
14019 	 * Deprecated: Use named icon &quot;zoom-in&quot; or the label &quot;Zoom _In&quot;.
14020 	 */
14021 	ZOOM_IN = "gtk-zoom-in",
14022 	/**
14023 	 * The “Zoom Out” item and icon.
14024 	 *
14025 	 * Deprecated: Use named icon &quot;zoom-out&quot; or the label &quot;Zoom _Out&quot;.
14026 	 */
14027 	ZOOM_OUT = "gtk-zoom-out",
14028 }