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 gsvc.gsvtypes;
26 
27 public import gtkc.gtktypes;
28 
29 public enum GtkSourceBracketMatchType
30 {
31 	/**
32 	 * there is no bracket to match.
33 	 */
34 	NONE = 0,
35 	/**
36 	 * matching a bracket
37 	 * failed because the maximum range was reached.
38 	 */
39 	OUT_OF_RANGE = 1,
40 	/**
41 	 * a matching bracket was not found.
42 	 */
43 	NOT_FOUND = 2,
44 	/**
45 	 * a matching bracket was found.
46 	 */
47 	FOUND = 3,
48 }
49 alias GtkSourceBracketMatchType BracketMatchType;
50 
51 public enum GtkSourceChangeCaseType
52 {
53 	/**
54 	 * change case to lowercase.
55 	 */
56 	LOWER = 0,
57 	/**
58 	 * change case to uppercase.
59 	 */
60 	UPPER = 1,
61 	/**
62 	 * toggle case of each character.
63 	 */
64 	TOGGLE = 2,
65 	/**
66 	 * capitalize each word.
67 	 */
68 	TITLE = 3,
69 }
70 alias GtkSourceChangeCaseType ChangeCaseType;
71 
72 public enum GtkSourceCompletionActivation
73 {
74 	/**
75 	 * None.
76 	 */
77 	NONE = 0,
78 	/**
79 	 * Interactive activation. By
80 	 * default, it occurs on each insertion in the #GtkTextBuffer. This can be
81 	 * blocked temporarily with gtk_source_completion_block_interactive().
82 	 */
83 	INTERACTIVE = 1,
84 	/**
85 	 * User requested activation.
86 	 * By default, it occurs when the user presses
87 	 * <keycombo><keycap>Control</keycap><keycap>space</keycap></keycombo>.
88 	 */
89 	USER_REQUESTED = 2,
90 }
91 alias GtkSourceCompletionActivation CompletionActivation;
92 
93 /**
94  * An error code used with %GTK_SOURCE_COMPLETION_ERROR in a #GError returned
95  * from a completion-related function.
96  */
97 public enum GtkSourceCompletionError
98 {
99 	/**
100 	 * The #GtkSourceCompletionProvider
101 	 * is already bound to the #GtkSourceCompletion object.
102 	 */
103 	ALREADY_BOUND = 0,
104 	/**
105 	 * The #GtkSourceCompletionProvider is
106 	 * not bound to the #GtkSourceCompletion object.
107 	 */
108 	NOT_BOUND = 1,
109 }
110 alias GtkSourceCompletionError CompletionError;
111 
112 public enum GtkSourceCompressionType
113 {
114 	/**
115 	 * plain text.
116 	 */
117 	NONE = 0,
118 	/**
119 	 * gzip compression.
120 	 */
121 	GZIP = 1,
122 }
123 alias GtkSourceCompressionType CompressionType;
124 
125 /**
126  * GtkSourceDrawSpacesFlags determine what kind of spaces whould be drawn. If none
127  * of GTK_SOURCE_DRAW_SPACES_LEADING, GTK_SOURCE_DRAW_SPACES_TEXT or
128  * GTK_SOURCE_DRAW_SPACES_TRAILING is specified, whitespaces at any position in
129  * the line will be drawn (i.e. it has the same effect as specifying all of them).
130  */
131 public enum GtkSourceDrawSpacesFlags
132 {
133 	/**
134 	 * whether the space character should be drawn.
135 	 */
136 	SPACE = 1,
137 	/**
138 	 * whether the tab character should be drawn.
139 	 */
140 	TAB = 2,
141 	/**
142 	 * whether the line breaks should be drawn.
143 	 */
144 	NEWLINE = 4,
145 	/**
146 	 * whether the non-breaking whitespaces should be drawn.
147 	 */
148 	NBSP = 8,
149 	/**
150 	 * whether leading whitespaces should be drawn.
151 	 */
152 	LEADING = 16,
153 	/**
154 	 * whether whitespaces inside text should be drawn.
155 	 */
156 	TEXT = 32,
157 	/**
158 	 * whether trailing whitespaces should be drawn.
159 	 */
160 	TRAILING = 64,
161 	/**
162 	 * wheter all kind of spaces should be drawn.
163 	 */
164 	ALL = 127,
165 }
166 alias GtkSourceDrawSpacesFlags DrawSpacesFlags;
167 
168 /**
169  * An error code used with the %GTK_SOURCE_FILE_LOADER_ERROR domain.
170  */
171 public enum GtkSourceFileLoaderError
172 {
173 	/**
174 	 * The file is too big.
175 	 */
176 	TOO_BIG = 0,
177 	/**
178 	 * It is not
179 	 * possible to detect the encoding automatically.
180 	 */
181 	ENCODING_AUTO_DETECTION_FAILED = 1,
182 	/**
183 	 * There was an encoding
184 	 * conversion error and it was needed to use a fallback character.
185 	 */
186 	CONVERSION_FALLBACK = 2,
187 }
188 alias GtkSourceFileLoaderError FileLoaderError;
189 
190 /**
191  * An error code used with the %GTK_SOURCE_FILE_SAVER_ERROR domain.
192  *
193  * Since: 3.14
194  */
195 public enum GtkSourceFileSaverError
196 {
197 	/**
198 	 * The buffer contains invalid
199 	 * characters.
200 	 */
201 	INVALID_CHARS = 0,
202 	/**
203 	 * The file is externally
204 	 * modified.
205 	 */
206 	EXTERNALLY_MODIFIED = 1,
207 }
208 alias GtkSourceFileSaverError FileSaverError;
209 
210 /**
211  * Flags to define the behavior of a #GtkSourceFileSaver.
212  *
213  * Since: 3.14
214  */
215 public enum GtkSourceFileSaverFlags
216 {
217 	/**
218 	 * No flags.
219 	 */
220 	NONE = 0,
221 	/**
222 	 * Ignore invalid characters.
223 	 */
224 	IGNORE_INVALID_CHARS = 1,
225 	/**
226 	 * Save file despite external modifications.
227 	 */
228 	IGNORE_MODIFICATION_TIME = 2,
229 	/**
230 	 * Create a backup before saving the file.
231 	 */
232 	CREATE_BACKUP = 4,
233 }
234 alias GtkSourceFileSaverFlags FileSaverFlags;
235 
236 /**
237  * The alignment mode of the renderer, when a cell spans multiple lines (due to
238  * text wrapping).
239  */
240 public enum GtkSourceGutterRendererAlignmentMode
241 {
242 	/**
243 	 * The full cell.
244 	 */
245 	CELL = 0,
246 	/**
247 	 * The first line.
248 	 */
249 	FIRST = 1,
250 	/**
251 	 * The last line.
252 	 */
253 	LAST = 2,
254 }
255 alias GtkSourceGutterRendererAlignmentMode GutterRendererAlignmentMode;
256 
257 public enum GtkSourceGutterRendererState
258 {
259 	/**
260 	 * normal state
261 	 */
262 	NORMAL = 0,
263 	/**
264 	 * area in the renderer represents the
265 	 * line on which the insert cursor is currently positioned
266 	 */
267 	CURSOR = 1,
268 	/**
269 	 * the mouse pointer is currently
270 	 * over the activatable area of the renderer
271 	 */
272 	PRELIT = 2,
273 	/**
274 	 * area in the renderer represents
275 	 * a line in the buffer which contains part of the selection
276 	 */
277 	SELECTED = 4,
278 }
279 alias GtkSourceGutterRendererState GutterRendererState;
280 
281 public enum GtkSourceNewlineType
282 {
283 	/**
284 	 * line feed, used on UNIX.
285 	 */
286 	LF = 0,
287 	/**
288 	 * carriage return, used on Mac.
289 	 */
290 	CR = 1,
291 	/**
292 	 * carriage return followed by a line feed, used
293 	 * on Windows.
294 	 */
295 	CR_LF = 2,
296 }
297 alias GtkSourceNewlineType NewlineType;
298 
299 public enum GtkSourceSmartHomeEndType
300 {
301 	/**
302 	 * smart-home-end disabled.
303 	 */
304 	DISABLED = 0,
305 	/**
306 	 * move to the first/last
307 	 * non-whitespace character on the first press of the HOME/END keys and
308 	 * to the beginning/end of the line on the second press.
309 	 */
310 	BEFORE = 1,
311 	/**
312 	 * move to the beginning/end of the
313 	 * line on the first press of the HOME/END keys and to the first/last
314 	 * non-whitespace character on the second press.
315 	 */
316 	AFTER = 2,
317 	/**
318 	 * always move to the first/last
319 	 * non-whitespace character when the HOME/END keys are pressed.
320 	 */
321 	ALWAYS = 3,
322 }
323 alias GtkSourceSmartHomeEndType SmartHomeEndType;
324 
325 public enum GtkSourceViewGutterPosition
326 {
327 	/**
328 	 * the gutter position of the lines
329 	 * renderer
330 	 */
331 	LINES = -30,
332 	/**
333 	 * the gutter position of the marks
334 	 * renderer
335 	 */
336 	MARKS = -20,
337 }
338 alias GtkSourceViewGutterPosition ViewGutterPosition;
339 
340 struct GtkSourceBuffer
341 {
342 	GtkTextBuffer parentInstance;
343 	GtkSourceBufferPrivate* priv;
344 }
345 
346 struct GtkSourceBufferClass
347 {
348 	GtkTextBufferClass parentClass;
349 	extern(C) void function(GtkSourceBuffer* buffer) undo;
350 	extern(C) void function(GtkSourceBuffer* buffer) redo;
351 	extern(C) void function(GtkSourceBuffer* buffer, GtkTextIter* iter, GtkSourceBracketMatchType state) bracketMatched;
352 	extern(C) void function() GtkSourceReserved1;
353 	extern(C) void function() GtkSourceReserved2;
354 	extern(C) void function() GtkSourceReserved3;
355 }
356 
357 struct GtkSourceBufferPrivate;
358 
359 struct GtkSourceCompletion
360 {
361 	GObject parentInstance;
362 	GtkSourceCompletionPrivate* priv;
363 }
364 
365 struct GtkSourceCompletionClass
366 {
367 	GObjectClass parentClass;
368 	extern(C) int function(GtkSourceCompletion* completion, GtkSourceCompletionProvider* provider, GtkSourceCompletionProposal* proposal) proposalActivated;
369 	extern(C) void function(GtkSourceCompletion* completion) show;
370 	extern(C) void function(GtkSourceCompletion* completion) hide;
371 	extern(C) void function(GtkSourceCompletion* completion, GtkSourceCompletionContext* context) populateContext;
372 	extern(C) void function(GtkSourceCompletion* completion, GtkScrollStep step, int num) moveCursor;
373 	extern(C) void function(GtkSourceCompletion* completion, GtkScrollStep step, int num) movePage;
374 	extern(C) void function(GtkSourceCompletion* completion) activateProposal;
375 }
376 
377 struct GtkSourceCompletionContext
378 {
379 	GObject parent;
380 	GtkSourceCompletionContextPrivate* priv;
381 }
382 
383 struct GtkSourceCompletionContextClass
384 {
385 	GObjectClass parentClass;
386 	extern(C) void function(GtkSourceCompletionContext* context) cancelled;
387 	extern(C) void function() GtkSourceReserved1;
388 	extern(C) void function() GtkSourceReserved2;
389 	extern(C) void function() GtkSourceReserved3;
390 }
391 
392 struct GtkSourceCompletionContextPrivate;
393 
394 struct GtkSourceCompletionInfo
395 {
396 	GtkWindow parent;
397 	GtkSourceCompletionInfoPrivate* priv;
398 }
399 
400 struct GtkSourceCompletionInfoClass
401 {
402 	GtkWindowClass parentClass;
403 	extern(C) void function(GtkSourceCompletionInfo* info) beforeShow;
404 }
405 
406 struct GtkSourceCompletionInfoPrivate;
407 
408 struct GtkSourceCompletionItem
409 {
410 	GObject parent;
411 	GtkSourceCompletionItemPrivate* priv;
412 }
413 
414 struct GtkSourceCompletionItemClass
415 {
416 	GObjectClass parentClass;
417 }
418 
419 struct GtkSourceCompletionItemPrivate;
420 
421 struct GtkSourceCompletionPrivate;
422 
423 struct GtkSourceCompletionProposal;
424 
425 /**
426  * The virtual function table for #GtkSourceCompletionProposal.
427  */
428 struct GtkSourceCompletionProposalIface
429 {
430 	/**
431 	 * The parent interface.
432 	 */
433 	GTypeInterface parent;
434 	/**
435 	 *
436 	 * Params:
437 	 *     proposal = a #GtkSourceCompletionProposal.
438 	 * Return: a new string containing the label of @proposal.
439 	 */
440 	extern(C) char* function(GtkSourceCompletionProposal* proposal) getLabel;
441 	/**
442 	 *
443 	 * Params:
444 	 *     proposal = a #GtkSourceCompletionProposal.
445 	 * Return: a new string containing the label of @proposal with markup.
446 	 */
447 	extern(C) char* function(GtkSourceCompletionProposal* proposal) getMarkup;
448 	/**
449 	 *
450 	 * Params:
451 	 *     proposal = a #GtkSourceCompletionProposal.
452 	 * Return: a new string containing the text of @proposal.
453 	 */
454 	extern(C) char* function(GtkSourceCompletionProposal* proposal) getText;
455 	/**
456 	 *
457 	 * Params:
458 	 *     proposal = a #GtkSourceCompletionProposal.
459 	 * Return: The icon of @proposal.
460 	 */
461 	extern(C) GdkPixbuf* function(GtkSourceCompletionProposal* proposal) getIcon;
462 	/**
463 	 *
464 	 * Params:
465 	 *     proposal = a #GtkSourceCompletionProposal.
466 	 * Return: a new string containing extra information of @proposal or %NULL if
467 	 *     no extra information is associated to @proposal.
468 	 */
469 	extern(C) char* function(GtkSourceCompletionProposal* proposal) getInfo;
470 	/**
471 	 *
472 	 * Params:
473 	 *     proposal = a #GtkSourceCompletionProposal.
474 	 * Return: The hash value of @proposal.
475 	 */
476 	extern(C) uint function(GtkSourceCompletionProposal* proposal) hash;
477 	/**
478 	 *
479 	 * Params:
480 	 *     proposal = a #GtkSourceCompletionProposal.
481 	 *     other = a #GtkSourceCompletionProposal.
482 	 * Return: %TRUE if @proposal and @object are the same proposal
483 	 */
484 	extern(C) int function(GtkSourceCompletionProposal* proposal, GtkSourceCompletionProposal* other) equal;
485 	extern(C) void function(GtkSourceCompletionProposal* proposal) changed;
486 }
487 
488 struct GtkSourceCompletionProvider;
489 
490 /**
491  * The virtual function table for #GtkSourceCompletionProvider.
492  */
493 struct GtkSourceCompletionProviderIface
494 {
495 	/**
496 	 * The parent interface.
497 	 */
498 	GTypeInterface gIface;
499 	/**
500 	 *
501 	 * Params:
502 	 *     provider = a #GtkSourceCompletionProvider.
503 	 * Return: a new string containing the name of the provider.
504 	 */
505 	extern(C) char* function(GtkSourceCompletionProvider* provider) getName;
506 	/**
507 	 *
508 	 * Params:
509 	 *     provider = The #GtkSourceCompletionProvider
510 	 * Return: The icon to be used for the provider,
511 	 *     or %NULL if the provider does not have a special icon.
512 	 */
513 	extern(C) GdkPixbuf* function(GtkSourceCompletionProvider* provider) getIcon;
514 	extern(C) void function(GtkSourceCompletionProvider* provider, GtkSourceCompletionContext* context) populate;
515 	/**
516 	 *
517 	 * Params:
518 	 *     provider = a #GtkSourceCompletionProvider.
519 	 *     context = a #GtkSourceCompletionContext.
520 	 * Return: %TRUE if @provider matches the completion context, %FALSE otherwise.
521 	 */
522 	extern(C) int function(GtkSourceCompletionProvider* provider, GtkSourceCompletionContext* context) match;
523 	/**
524 	 *
525 	 * Params:
526 	 *     provider = a #GtkSourceCompletionProvider.
527 	 * Return: a combination of #GtkSourceCompletionActivation.
528 	 */
529 	extern(C) GtkSourceCompletionActivation function(GtkSourceCompletionProvider* provider) getActivation;
530 	/**
531 	 *
532 	 * Params:
533 	 *     provider = a #GtkSourceCompletionProvider.
534 	 *     proposal = a currently selected #GtkSourceCompletionProposal.
535 	 * Return: a custom #GtkWidget to show extra
536 	 *     information about @proposal, or %NULL if the provider does not have a special
537 	 *     info widget.
538 	 */
539 	extern(C) GtkWidget* function(GtkSourceCompletionProvider* provider, GtkSourceCompletionProposal* proposal) getInfoWidget;
540 	extern(C) void function(GtkSourceCompletionProvider* provider, GtkSourceCompletionProposal* proposal, GtkSourceCompletionInfo* info) updateInfo;
541 	/**
542 	 *
543 	 * Params:
544 	 *     provider = a #GtkSourceCompletionProvider.
545 	 *     context = a #GtkSourceCompletionContext.
546 	 *     proposal = a #GtkSourceCompletionProposal.
547 	 *     iter = a #GtkTextIter.
548 	 * Return: %TRUE if @iter was set for @proposal, %FALSE otherwise.
549 	 */
550 	extern(C) int function(GtkSourceCompletionProvider* provider, GtkSourceCompletionContext* context, GtkSourceCompletionProposal* proposal, GtkTextIter* iter) getStartIter;
551 	/**
552 	 *
553 	 * Params:
554 	 *     provider = a #GtkSourceCompletionProvider.
555 	 *     proposal = a #GtkSourceCompletionProposal.
556 	 *     iter = a #GtkTextIter.
557 	 * Return: %TRUE to indicate that the proposal activation has been handled,
558 	 *     %FALSE otherwise.
559 	 */
560 	extern(C) int function(GtkSourceCompletionProvider* provider, GtkSourceCompletionProposal* proposal, GtkTextIter* iter) activateProposal;
561 	/**
562 	 *
563 	 * Params:
564 	 *     provider = a #GtkSourceCompletionProvider.
565 	 * Return: the interactive delay in milliseconds.
566 	 */
567 	extern(C) int function(GtkSourceCompletionProvider* provider) getInteractiveDelay;
568 	/**
569 	 *
570 	 * Params:
571 	 *     provider = a #GtkSourceCompletionProvider.
572 	 * Return: the provider priority.
573 	 */
574 	extern(C) int function(GtkSourceCompletionProvider* provider) getPriority;
575 }
576 
577 struct GtkSourceCompletionWords
578 {
579 	GObject parent;
580 	GtkSourceCompletionWordsPrivate* priv;
581 }
582 
583 struct GtkSourceCompletionWordsClass
584 {
585 	GObjectClass parentClass;
586 }
587 
588 struct GtkSourceCompletionWordsPrivate;
589 
590 struct GtkSourceEncoding;
591 
592 struct GtkSourceFile
593 {
594 	GObject parent;
595 	GtkSourceFilePrivate* priv;
596 }
597 
598 struct GtkSourceFileClass
599 {
600 	GObjectClass parentClass;
601 	void*[10] padding;
602 }
603 
604 struct GtkSourceFileLoader
605 {
606 	GObject parent;
607 	GtkSourceFileLoaderPrivate* priv;
608 }
609 
610 struct GtkSourceFileLoaderClass
611 {
612 	GObjectClass parentClass;
613 	void*[10] padding;
614 }
615 
616 struct GtkSourceFileLoaderPrivate;
617 
618 struct GtkSourceFilePrivate;
619 
620 struct GtkSourceFileSaver
621 {
622 	GObject object;
623 	GtkSourceFileSaverPrivate* priv;
624 }
625 
626 struct GtkSourceFileSaverClass
627 {
628 	GObjectClass parentClass;
629 	void*[10] padding;
630 }
631 
632 struct GtkSourceFileSaverPrivate;
633 
634 struct GtkSourceGutter
635 {
636 	GObject parent;
637 	GtkSourceGutterPrivate* priv;
638 }
639 
640 struct GtkSourceGutterClass
641 {
642 	GObjectClass parentClass;
643 }
644 
645 struct GtkSourceGutterPrivate;
646 
647 struct GtkSourceGutterRenderer
648 {
649 	GObject parent;
650 	GtkSourceGutterRendererPrivate* priv;
651 }
652 
653 struct GtkSourceGutterRendererClass
654 {
655 	GObjectClass parentClass;
656 	extern(C) void function(GtkSourceGutterRenderer* renderer, cairo_t* cr, GdkRectangle* backgroundArea, GdkRectangle* cellArea, GtkTextIter* start, GtkTextIter* end) begin;
657 	extern(C) void function(GtkSourceGutterRenderer* renderer, cairo_t* cr, GdkRectangle* backgroundArea, GdkRectangle* cellArea, GtkTextIter* start, GtkTextIter* end, GtkSourceGutterRendererState state) draw;
658 	extern(C) void function(GtkSourceGutterRenderer* renderer) end;
659 	extern(C) void function(GtkSourceGutterRenderer* renderer, GtkTextView* oldView) changeView;
660 	extern(C) void function(GtkSourceGutterRenderer* renderer, GtkTextBuffer* oldBuffer) changeBuffer;
661 	/**
662 	 *
663 	 * Params:
664 	 *     renderer = a #GtkSourceGutterRenderer
665 	 *     iter = a #GtkTextIter at the start of the line to be activated
666 	 *     area = a #GdkRectangle of the cell area to be activated
667 	 *     event = the event that triggered the query
668 	 * Return: %TRUE if the renderer can be activated, %FALSE otherwise
669 	 */
670 	extern(C) int function(GtkSourceGutterRenderer* renderer, GtkTextIter* iter, GdkRectangle* area, GdkEvent* event) queryActivatable;
671 	extern(C) void function(GtkSourceGutterRenderer* renderer, GtkTextIter* iter, GdkRectangle* area, GdkEvent* event) activate;
672 	extern(C) void function(GtkSourceGutterRenderer* renderer) queueDraw;
673 	/**
674 	 *
675 	 * Params:
676 	 *     renderer = a #GtkSourceGutterRenderer.
677 	 *     iter = a #GtkTextIter.
678 	 *     area = a #GdkRectangle.
679 	 *     x = The x position of the tooltip.
680 	 *     y = The y position of the tooltip.
681 	 *     tooltip = a #GtkTooltip.
682 	 * Return: %TRUE if the tooltip has been set, %FALSE otherwise
683 	 */
684 	extern(C) int function(GtkSourceGutterRenderer* renderer, GtkTextIter* iter, GdkRectangle* area, int x, int y, GtkTooltip* tooltip) queryTooltip;
685 	extern(C) void function(GtkSourceGutterRenderer* renderer, GtkTextIter* start, GtkTextIter* end, GtkSourceGutterRendererState state) queryData;
686 }
687 
688 struct GtkSourceGutterRendererPixbuf
689 {
690 	GtkSourceGutterRenderer parent;
691 	GtkSourceGutterRendererPixbufPrivate* priv;
692 }
693 
694 struct GtkSourceGutterRendererPixbufClass
695 {
696 	GtkSourceGutterRendererClass parentClass;
697 }
698 
699 struct GtkSourceGutterRendererPixbufPrivate;
700 
701 struct GtkSourceGutterRendererPrivate;
702 
703 struct GtkSourceGutterRendererText
704 {
705 	GtkSourceGutterRenderer parent;
706 	GtkSourceGutterRendererTextPrivate* priv;
707 }
708 
709 struct GtkSourceGutterRendererTextClass
710 {
711 	GtkSourceGutterRendererClass parentClass;
712 }
713 
714 struct GtkSourceGutterRendererTextPrivate;
715 
716 struct GtkSourceLanguage
717 {
718 	GObject parentInstance;
719 	GtkSourceLanguagePrivate* priv;
720 }
721 
722 struct GtkSourceLanguageClass
723 {
724 	GObjectClass parentClass;
725 	extern(C) void function() GtkSourceReserved1;
726 	extern(C) void function() GtkSourceReserved2;
727 }
728 
729 struct GtkSourceLanguageManager
730 {
731 	GObject parentInstance;
732 	GtkSourceLanguageManagerPrivate* priv;
733 }
734 
735 struct GtkSourceLanguageManagerClass
736 {
737 	GObjectClass parentClass;
738 	extern(C) void function() GtkSourceReserved1;
739 	extern(C) void function() GtkSourceReserved2;
740 	extern(C) void function() GtkSourceReserved3;
741 	extern(C) void function() GtkSourceReserved4;
742 }
743 
744 struct GtkSourceLanguageManagerPrivate;
745 
746 struct GtkSourceLanguagePrivate;
747 
748 struct GtkSourceMark
749 {
750 	GtkTextMark parentInstance;
751 	GtkSourceMarkPrivate* priv;
752 }
753 
754 struct GtkSourceMarkAttributes
755 {
756 	GObject parent;
757 	GtkSourceMarkAttributesPrivate* priv;
758 }
759 
760 struct GtkSourceMarkAttributesClass
761 {
762 	GObjectClass parentClass;
763 }
764 
765 struct GtkSourceMarkAttributesPrivate;
766 
767 struct GtkSourceMarkClass
768 {
769 	GtkTextMarkClass parentClass;
770 	extern(C) void function() GtkSourceReserved1;
771 	extern(C) void function() GtkSourceReserved2;
772 }
773 
774 struct GtkSourceMarkPrivate;
775 
776 struct GtkSourcePrintCompositor
777 {
778 	GObject parentInstance;
779 	GtkSourcePrintCompositorPrivate* priv;
780 }
781 
782 struct GtkSourcePrintCompositorClass
783 {
784 	GObjectClass parentClass;
785 	extern(C) void function() GtkSourceReserved1;
786 	extern(C) void function() GtkSourceReserved2;
787 }
788 
789 struct GtkSourcePrintCompositorPrivate;
790 
791 struct GtkSourceSearchContext
792 {
793 	GObject parent;
794 	GtkSourceSearchContextPrivate* priv;
795 }
796 
797 struct GtkSourceSearchContextClass
798 {
799 	GObjectClass parentClass;
800 	void*[10] padding;
801 }
802 
803 struct GtkSourceSearchContextPrivate;
804 
805 struct GtkSourceSearchSettings
806 {
807 	GObject parent;
808 	GtkSourceSearchSettingsPrivate* priv;
809 }
810 
811 struct GtkSourceSearchSettingsClass
812 {
813 	GObjectClass parentClass;
814 	void*[10] padding;
815 }
816 
817 struct GtkSourceSearchSettingsPrivate;
818 
819 struct GtkSourceStyle;
820 
821 struct GtkSourceStyleClass;
822 
823 struct GtkSourceStyleScheme
824 {
825 	GObject base;
826 	GtkSourceStyleSchemePrivate* priv;
827 }
828 
829 struct GtkSourceStyleSchemeClass
830 {
831 	GObjectClass baseClass;
832 	extern(C) void function() GtkSourceReserved1;
833 	extern(C) void function() GtkSourceReserved2;
834 }
835 
836 struct GtkSourceStyleSchemeManager
837 {
838 	GObject parent;
839 	GtkSourceStyleSchemeManagerPrivate* priv;
840 }
841 
842 struct GtkSourceStyleSchemeManagerClass
843 {
844 	GObjectClass parentClass;
845 	extern(C) void function() GtkSourceReserved1;
846 	extern(C) void function() GtkSourceReserved2;
847 	extern(C) void function() GtkSourceReserved3;
848 	extern(C) void function() GtkSourceReserved4;
849 }
850 
851 struct GtkSourceStyleSchemeManagerPrivate;
852 
853 struct GtkSourceStyleSchemePrivate;
854 
855 struct GtkSourceUndoManager;
856 
857 struct GtkSourceUndoManagerIface
858 {
859 	GTypeInterface parent;
860 	/**
861 	 *
862 	 * Params:
863 	 *     manager = a #GtkSourceUndoManager.
864 	 * Return: %TRUE if there are undo operations available, %FALSE otherwise
865 	 */
866 	extern(C) int function(GtkSourceUndoManager* manager) canUndo;
867 	/**
868 	 *
869 	 * Params:
870 	 *     manager = a #GtkSourceUndoManager.
871 	 * Return: %TRUE if there are redo operations available, %FALSE otherwise
872 	 */
873 	extern(C) int function(GtkSourceUndoManager* manager) canRedo;
874 	extern(C) void function(GtkSourceUndoManager* manager) undo;
875 	extern(C) void function(GtkSourceUndoManager* manager) redo;
876 	extern(C) void function(GtkSourceUndoManager* manager) beginNotUndoableAction;
877 	extern(C) void function(GtkSourceUndoManager* manager) endNotUndoableAction;
878 	extern(C) void function(GtkSourceUndoManager* manager) canUndoChanged;
879 	extern(C) void function(GtkSourceUndoManager* manager) canRedoChanged;
880 }
881 
882 struct GtkSourceView
883 {
884 	GtkTextView parent;
885 	GtkSourceViewPrivate* priv;
886 }
887 
888 struct GtkSourceViewClass
889 {
890 	GtkTextViewClass parentClass;
891 	extern(C) void function(GtkSourceView* view) undo;
892 	extern(C) void function(GtkSourceView* view) redo;
893 	extern(C) void function(GtkSourceView* view, GtkTextIter* iter, GdkEvent* event) lineMarkActivated;
894 	extern(C) void function(GtkSourceView* view) showCompletion;
895 	extern(C) void function(GtkSourceView* view, int copy, int step) moveLines;
896 	extern(C) void function(GtkSourceView* view, int step) moveWords;
897 }
898 
899 struct GtkSourceViewPrivate;
900 
901 /**
902  * Type definition for a function that will be called to create a
903  * #GMountOperation. This is useful for creating a #GtkMountOperation.
904  *
905  * Params:
906  *     file = a #GtkSourceFile.
907  *     userdata = user data
908  *
909  * Since: 3.14
910  */
911 public alias extern(C) GMountOperation* function(GtkSourceFile* file, void* userdata) GtkSourceMountOperationFactory;