sync
[gir-1.1] / GtkSource-2.0.gir
1 <?xml version="1.0"?>
2 <!-- This file was automatically generated from C sources - DO NOT EDIT!
3 To affect the contents of this file, edit the original C definitions,
4 and/or use gtk-doc annotations.  -->
5 <repository version="1.1"
6             xmlns="http://www.gtk.org/introspection/core/1.0"
7             xmlns:c="http://www.gtk.org/introspection/c/1.0"
8             xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
9   <include name="Atk" version="1.0"/>
10   <include name="GLib" version="2.0"/>
11   <include name="GModule" version="2.0"/>
12   <include name="GObject" version="2.0"/>
13   <include name="Gdk" version="2.0"/>
14   <include name="GdkPixbuf" version="2.0"/>
15   <include name="Gio" version="2.0"/>
16   <include name="Gtk" version="2.0"/>
17   <include name="Pango" version="1.0"/>
18   <include name="cairo" version="1.0"/>
19   <package name="gtksourceview-2.0"/>
20   <namespace name="GtkSource"
21              version="2.0"
22              shared-library="libgtksourceview-2.0.so.0"
23              c:prefix="GtkSource">
24     <class name="Buffer"
25            c:type="GtkSourceBuffer"
26            parent="Gtk.TextBuffer"
27            glib:type-name="GtkSourceBuffer"
28            glib:get-type="gtk_source_buffer_get_type"
29            glib:type-struct="BufferClass">
30       <constructor name="new" c:identifier="gtk_source_buffer_new">
31         <doc xml:whitespace="preserve">Creates a new source buffer.</doc>
32         <return-value transfer-ownership="full">
33           <doc xml:whitespace="preserve">a new source buffer.</doc>
34           <type name="Buffer" c:type="GtkSourceBuffer*"/>
35         </return-value>
36         <parameters>
37           <parameter name="table" transfer-ownership="none">
38             <doc xml:whitespace="preserve">a #GtkTextTagTable, or %NULL to create a new one.</doc>
39             <type name="Gtk.TextTagTable" c:type="GtkTextTagTable*"/>
40           </parameter>
41         </parameters>
42       </constructor>
43       <constructor name="new_with_language"
44                    c:identifier="gtk_source_buffer_new_with_language">
45         <doc xml:whitespace="preserve">Creates a new source buffer using the highlighting patterns in
46 a new tag table and then calling gtk_source_buffer_set_language().
47 according to the highlighting patterns in @language.</doc>
48         <return-value transfer-ownership="full">
49           <doc xml:whitespace="preserve">a new source buffer which will highlight text</doc>
50           <type name="Buffer" c:type="GtkSourceBuffer*"/>
51         </return-value>
52         <parameters>
53           <parameter name="language" transfer-ownership="none">
54             <doc xml:whitespace="preserve">a #GtkSourceLanguage.</doc>
55             <type name="Language" c:type="GtkSourceLanguage*"/>
56           </parameter>
57         </parameters>
58       </constructor>
59       <method name="get_highlight_syntax"
60               c:identifier="gtk_source_buffer_get_highlight_syntax">
61         <doc xml:whitespace="preserve">Determines whether syntax highlighting is activated in the source
62 buffer.</doc>
63         <return-value transfer-ownership="none">
64           <doc xml:whitespace="preserve">%TRUE if syntax highlighting is enabled, %FALSE otherwise.</doc>
65           <type name="boolean" c:type="gboolean"/>
66         </return-value>
67       </method>
68       <method name="set_highlight_syntax"
69               c:identifier="gtk_source_buffer_set_highlight_syntax">
70         <doc xml:whitespace="preserve">Controls whether syntax is highlighted in the buffer. If @highlight
71 is %TRUE, the text will be highlighted according to the syntax
72 patterns specified in the language set with
73 gtk_source_buffer_set_language(). If @highlight is %FALSE, syntax highlighting
74 is disabled and all the GtkTextTag objects that have been added by the
75 syntax highlighting engine are removed from the buffer.</doc>
76         <return-value transfer-ownership="none">
77           <type name="none" c:type="void"/>
78         </return-value>
79         <parameters>
80           <parameter name="highlight" transfer-ownership="none">
81             <doc xml:whitespace="preserve">%TRUE to enable syntax highlighting, %FALSE to disable it.</doc>
82             <type name="boolean" c:type="gboolean"/>
83           </parameter>
84         </parameters>
85       </method>
86       <method name="get_highlight_matching_brackets"
87               c:identifier="gtk_source_buffer_get_highlight_matching_brackets">
88         <doc xml:whitespace="preserve">Determines whether bracket match highlighting is activated for the
89 source buffer.
90 brackets.</doc>
91         <return-value transfer-ownership="none">
92           <doc xml:whitespace="preserve">%TRUE if the source buffer will highlight matching</doc>
93           <type name="boolean" c:type="gboolean"/>
94         </return-value>
95       </method>
96       <method name="set_highlight_matching_brackets"
97               c:identifier="gtk_source_buffer_set_highlight_matching_brackets">
98         <doc xml:whitespace="preserve">Controls the bracket match highlighting function in the buffer.  If
99 activated, when you position your cursor over a bracket character
100 (a parenthesis, a square bracket, etc.) the matching opening or
101 closing bracket character will be highlighted.  You can specify the
102 style with the gtk_source_buffer_set_bracket_match_style()
103 function.</doc>
104         <return-value transfer-ownership="none">
105           <type name="none" c:type="void"/>
106         </return-value>
107         <parameters>
108           <parameter name="highlight" transfer-ownership="none">
109             <doc xml:whitespace="preserve">%TRUE if you want matching brackets highlighted.</doc>
110             <type name="boolean" c:type="gboolean"/>
111           </parameter>
112         </parameters>
113       </method>
114       <method name="get_max_undo_levels"
115               c:identifier="gtk_source_buffer_get_max_undo_levels">
116         <doc xml:whitespace="preserve">Determines the number of undo levels the buffer will track for
117 buffer edits.
118 -1 if no limit is set.</doc>
119         <return-value transfer-ownership="none">
120           <doc xml:whitespace="preserve">the maximum number of possible undo levels or</doc>
121           <type name="int" c:type="gint"/>
122         </return-value>
123       </method>
124       <method name="set_max_undo_levels"
125               c:identifier="gtk_source_buffer_set_max_undo_levels">
126         <doc xml:whitespace="preserve">Sets the number of undo levels for user actions the buffer will
127 track.  If the number of user actions exceeds the limit set by this
128 function, older actions will be discarded.
129 If @max_undo_levels is -1, no limit is set.
130 A new action is started whenever the function
131 gtk_text_buffer_begin_user_action() is called.  In general, this
132 happens whenever the user presses any key which modifies the
133 buffer, but the undo manager will try to merge similar consecutive
134 actions, such as multiple character insertions into one action.
135 But, inserting a newline does start a new action.</doc>
136         <return-value transfer-ownership="none">
137           <type name="none" c:type="void"/>
138         </return-value>
139         <parameters>
140           <parameter name="max_undo_levels" transfer-ownership="none">
141             <doc xml:whitespace="preserve">the desired maximum number of undo levels.</doc>
142             <type name="int" c:type="gint"/>
143           </parameter>
144         </parameters>
145       </method>
146       <method name="get_language"
147               c:identifier="gtk_source_buffer_get_language">
148         <doc xml:whitespace="preserve">Returns the #GtkSourceLanguage associated with the buffer,
149 see gtk_source_buffer_set_language().  The returned object should not be
150 unreferenced by the user.</doc>
151         <return-value transfer-ownership="full">
152           <doc xml:whitespace="preserve">#GtkSourceLanguage associated with the buffer, or %NULL.</doc>
153           <type name="Language" c:type="GtkSourceLanguage*"/>
154         </return-value>
155       </method>
156       <method name="set_language"
157               c:identifier="gtk_source_buffer_set_language">
158         <doc xml:whitespace="preserve">Associate a #GtkSourceLanguage with the source buffer. If @language is
159 not-%NULL and syntax highlighting is enabled (see gtk_source_buffer_set_highlight_syntax()),
160 the syntax patterns defined in @language will be used to highlight the text
161 contained in the buffer. If @language is %NULL, the text contained in the
162 buffer is not highlighted.
163 The buffer holds a reference to @language.</doc>
164         <return-value transfer-ownership="none">
165           <type name="none" c:type="void"/>
166         </return-value>
167         <parameters>
168           <parameter name="language" transfer-ownership="none">
169             <doc xml:whitespace="preserve">a #GtkSourceLanguage to set, or %NULL.</doc>
170             <type name="Language" c:type="GtkSourceLanguage*"/>
171           </parameter>
172         </parameters>
173       </method>
174       <method name="can_undo" c:identifier="gtk_source_buffer_can_undo">
175         <doc xml:whitespace="preserve">Determines whether a source buffer can undo the last action.</doc>
176         <return-value transfer-ownership="none">
177           <doc xml:whitespace="preserve">%TRUE if it's possible to undo the last action.</doc>
178           <type name="boolean" c:type="gboolean"/>
179         </return-value>
180       </method>
181       <method name="can_redo" c:identifier="gtk_source_buffer_can_redo">
182         <doc xml:whitespace="preserve">Determines whether a source buffer can redo the last action
183 (i.e. if the last operation was an undo).</doc>
184         <return-value transfer-ownership="none">
185           <doc xml:whitespace="preserve">%TRUE if a redo is possible.</doc>
186           <type name="boolean" c:type="gboolean"/>
187         </return-value>
188       </method>
189       <method name="get_style_scheme"
190               c:identifier="gtk_source_buffer_get_style_scheme">
191         <doc xml:whitespace="preserve">Returns the #GtkSourceStyleScheme currently used in @buffer.
192 gtk_source_buffer_set_style_scheme(), or %NULL.</doc>
193         <return-value transfer-ownership="full">
194           <doc xml:whitespace="preserve">the #GtkSourceStyleScheme set by</doc>
195           <type name="StyleScheme" c:type="GtkSourceStyleScheme*"/>
196         </return-value>
197       </method>
198       <method name="set_style_scheme"
199               c:identifier="gtk_source_buffer_set_style_scheme">
200         <doc xml:whitespace="preserve">Sets style scheme used by the buffer. If @scheme is %NULL no
201 style scheme is used.</doc>
202         <return-value transfer-ownership="none">
203           <type name="none" c:type="void"/>
204         </return-value>
205         <parameters>
206           <parameter name="scheme" transfer-ownership="none">
207             <doc xml:whitespace="preserve">style scheme.</doc>
208             <type name="StyleScheme" c:type="GtkSourceStyleScheme*"/>
209           </parameter>
210         </parameters>
211       </method>
212       <method name="ensure_highlight"
213               c:identifier="gtk_source_buffer_ensure_highlight">
214         <doc xml:whitespace="preserve">Forces buffer to analyze and highlight the given area synchronously.
215 &lt;note&gt;
216 &lt;para&gt;
217 This is a potentially slow operation and should be used only
218 when you need to make sure that some text not currently
219 visible is highlighted, for instance before printing.
220 &lt;/para&gt;
221 &lt;/note&gt;</doc>
222         <return-value transfer-ownership="none">
223           <type name="none" c:type="void"/>
224         </return-value>
225         <parameters>
226           <parameter name="start" transfer-ownership="none">
227             <doc xml:whitespace="preserve">start of the area to highlight.</doc>
228             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
229           </parameter>
230           <parameter name="end" transfer-ownership="none">
231             <doc xml:whitespace="preserve">end of the area to highlight.</doc>
232             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
233           </parameter>
234         </parameters>
235       </method>
236       <method name="undo" c:identifier="gtk_source_buffer_undo">
237         <doc xml:whitespace="preserve">Undoes the last user action which modified the buffer.  Use
238 gtk_source_buffer_can_undo() to check whether a call to this
239 function will have any effect.
240 Actions are defined as groups of operations between a call to
241 gtk_text_buffer_begin_user_action() and
242 gtk_text_buffer_end_user_action(), or sequences of similar edits
243 (inserts or deletes) on the same line.</doc>
244         <return-value transfer-ownership="none">
245           <type name="none" c:type="void"/>
246         </return-value>
247       </method>
248       <method name="redo" c:identifier="gtk_source_buffer_redo">
249         <doc xml:whitespace="preserve">Redoes the last undo operation.  Use gtk_source_buffer_can_redo()
250 to check whether a call to this function will have any effect.</doc>
251         <return-value transfer-ownership="none">
252           <type name="none" c:type="void"/>
253         </return-value>
254       </method>
255       <method name="begin_not_undoable_action"
256               c:identifier="gtk_source_buffer_begin_not_undoable_action">
257         <doc xml:whitespace="preserve">Marks the beginning of a not undoable action on the buffer,
258 disabling the undo manager.  Typically you would call this function
259 before initially setting the contents of the buffer (e.g. when
260 loading a file in a text editor).
261 You may nest gtk_source_buffer_begin_not_undoable_action() /
262 gtk_source_buffer_end_not_undoable_action() blocks.</doc>
263         <return-value transfer-ownership="none">
264           <type name="none" c:type="void"/>
265         </return-value>
266       </method>
267       <method name="end_not_undoable_action"
268               c:identifier="gtk_source_buffer_end_not_undoable_action">
269         <doc xml:whitespace="preserve">Marks the end of a not undoable action on the buffer.  When the
270 last not undoable block is closed through the call to this
271 function, the list of undo actions is cleared and the undo manager
272 is re-enabled.</doc>
273         <return-value transfer-ownership="none">
274           <type name="none" c:type="void"/>
275         </return-value>
276       </method>
277       <method name="create_source_mark"
278               c:identifier="gtk_source_buffer_create_source_mark"
279               version="2.2">
280         <doc xml:whitespace="preserve">Creates a source mark in the @buffer of category @category.  A source mark is
281 a #GtkTextMark but organised into categories. Depending on the category
282 a pixbuf can be specified that will be displayed along the line of the mark.
283 Like a #GtkTextMark, a #GtkSourceMark can be anonymous if the
284 passed @name is %NULL.  Also, the buffer owns the marks so you
285 shouldn't unreference it.
286 Marks always have left gravity and are moved to the beginning of
287 the line when the user deletes the line they were in.
288 Typical uses for a source mark are bookmarks, breakpoints, current
289 executing instruction indication in a source file, etc..</doc>
290         <return-value transfer-ownership="full">
291           <doc xml:whitespace="preserve">a new #GtkSourceMark, owned by the buffer.</doc>
292           <type name="Mark" c:type="GtkSourceMark*"/>
293         </return-value>
294         <parameters>
295           <parameter name="name" transfer-ownership="none">
296             <doc xml:whitespace="preserve">the name of the mark, or %NULL.</doc>
297             <type name="utf8" c:type="gchar*"/>
298           </parameter>
299           <parameter name="category" transfer-ownership="none">
300             <doc xml:whitespace="preserve">a string defining the mark category.</doc>
301             <type name="utf8" c:type="gchar*"/>
302           </parameter>
303           <parameter name="where" transfer-ownership="none">
304             <doc xml:whitespace="preserve">location to place the mark.</doc>
305             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
306           </parameter>
307         </parameters>
308       </method>
309       <method name="forward_iter_to_source_mark"
310               c:identifier="gtk_source_buffer_forward_iter_to_source_mark"
311               version="2.2">
312         <doc xml:whitespace="preserve">Moves @iter to the position of the next #GtkSourceMark of the given
313 next source mark can be of any category.</doc>
314         <return-value transfer-ownership="none">
315           <doc xml:whitespace="preserve">whether iter moved.</doc>
316           <type name="boolean" c:type="gboolean"/>
317         </return-value>
318         <parameters>
319           <parameter name="iter" transfer-ownership="none">
320             <doc xml:whitespace="preserve">an iterator.</doc>
321             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
322           </parameter>
323           <parameter name="category" transfer-ownership="none">
324             <doc xml:whitespace="preserve">category to search for or %NULL</doc>
325             <type name="utf8" c:type="gchar*"/>
326           </parameter>
327         </parameters>
328       </method>
329       <method name="backward_iter_to_source_mark"
330               c:identifier="gtk_source_buffer_backward_iter_to_source_mark"
331               version="2.2">
332         <doc xml:whitespace="preserve">Moves @iter to the position of the previous #GtkSourceMark of the given
333 category. Returns #TRUE if @iter was moved. If @category is NULL, the
334 previous source mark can be of any category.</doc>
335         <return-value transfer-ownership="none">
336           <doc xml:whitespace="preserve">whether iter moved.</doc>
337           <type name="boolean" c:type="gboolean"/>
338         </return-value>
339         <parameters>
340           <parameter name="iter" transfer-ownership="none">
341             <doc xml:whitespace="preserve">an iterator.</doc>
342             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
343           </parameter>
344           <parameter name="category" transfer-ownership="none">
345             <doc xml:whitespace="preserve">category to search for or %NULL</doc>
346             <type name="utf8" c:type="gchar*"/>
347           </parameter>
348         </parameters>
349       </method>
350       <method name="get_source_marks_at_iter"
351               c:identifier="gtk_source_buffer_get_source_marks_at_iter"
352               version="2.2">
353         <doc xml:whitespace="preserve">Returns the list of marks of the given category at @iter. If @category
354 is %NULL it returns all marks at @iter.</doc>
355         <return-value transfer-ownership="full">
356           <doc xml:whitespace="preserve">a newly allocated #GSList.</doc>
357           <type name="GLib.SList" c:type="GSList*">
358             <type name="any" c:type="gpointer"/>
359           </type>
360         </return-value>
361         <parameters>
362           <parameter name="iter" transfer-ownership="none">
363             <doc xml:whitespace="preserve">an iterator.</doc>
364             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
365           </parameter>
366           <parameter name="category" transfer-ownership="none">
367             <doc xml:whitespace="preserve">category to search for or %NULL</doc>
368             <type name="utf8" c:type="gchar*"/>
369           </parameter>
370         </parameters>
371       </method>
372       <method name="get_source_marks_at_line"
373               c:identifier="gtk_source_buffer_get_source_marks_at_line"
374               version="2.2">
375         <doc xml:whitespace="preserve">Returns the list of marks of the given category at @line.
376 If @category is NULL, all marks at @line are returned.</doc>
377         <return-value transfer-ownership="full">
378           <doc xml:whitespace="preserve">a newly allocated #GSList.</doc>
379           <type name="GLib.SList" c:type="GSList*">
380             <type name="any" c:type="gpointer"/>
381           </type>
382         </return-value>
383         <parameters>
384           <parameter name="line" transfer-ownership="none">
385             <doc xml:whitespace="preserve">a line number.</doc>
386             <type name="int" c:type="gint"/>
387           </parameter>
388           <parameter name="category" transfer-ownership="none">
389             <doc xml:whitespace="preserve">category to search for or %NULL</doc>
390             <type name="utf8" c:type="gchar*"/>
391           </parameter>
392         </parameters>
393       </method>
394       <method name="remove_source_marks"
395               c:identifier="gtk_source_buffer_remove_source_marks"
396               version="2.2">
397         <doc xml:whitespace="preserve">Remove all marks of @category between @start and @end from the buffer.
398 If @category is NULL, all marks in the range will be removed.</doc>
399         <return-value transfer-ownership="none">
400           <type name="none" c:type="void"/>
401         </return-value>
402         <parameters>
403           <parameter name="start" transfer-ownership="none">
404             <doc xml:whitespace="preserve">a #GtkTextIter</doc>
405             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
406           </parameter>
407           <parameter name="end" transfer-ownership="none">
408             <doc xml:whitespace="preserve">a #GtkTextIter</doc>
409             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
410           </parameter>
411           <parameter name="category" transfer-ownership="none">
412             <doc xml:whitespace="preserve">category to search for or NULL</doc>
413             <type name="utf8" c:type="gchar*"/>
414           </parameter>
415         </parameters>
416       </method>
417       <method name="iter_has_context_class"
418               c:identifier="gtk_source_buffer_iter_has_context_class"
419               version="2.10">
420         <doc xml:whitespace="preserve">Check if the class @context_klass is set on @iter.</doc>
421         <return-value transfer-ownership="none">
422           <type name="boolean" c:type="gboolean"/>
423         </return-value>
424         <parameters>
425           <parameter name="iter" transfer-ownership="none">
426             <doc xml:whitespace="preserve">a #GtkTextIter</doc>
427             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
428           </parameter>
429           <parameter name="context_class" transfer-ownership="none">
430             <doc xml:whitespace="preserve">class to search for</doc>
431             <type name="utf8" c:type="gchar*"/>
432           </parameter>
433         </parameters>
434       </method>
435       <method name="get_context_classes_at_iter"
436               c:identifier="gtk_source_buffer_get_context_classes_at_iter"
437               version="2.10">
438         <doc xml:whitespace="preserve">Get all defined context classes at @iter.
439 #g_strfreev to free the array if it is no longer needed.</doc>
440         <return-value transfer-ownership="full">
441           <doc xml:whitespace="preserve">a new %NULL terminated array of context class names. Use</doc>
442           <array c:type="gchar**">
443             <type name="utf8"/>
444           </array>
445         </return-value>
446         <parameters>
447           <parameter name="iter" transfer-ownership="none">
448             <doc xml:whitespace="preserve">a #GtkTextIter</doc>
449             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
450           </parameter>
451         </parameters>
452       </method>
453       <method name="iter_forward_to_context_class_toggle"
454               c:identifier="gtk_source_buffer_iter_forward_to_context_class_toggle"
455               version="2.10">
456         <doc xml:whitespace="preserve">Moves forward to the next toggle (on or off) of the context class. If no
457 matching context class toggles are found, returns %FALSE, otherwise %TRUE.
458 Does not return toggles located at @iter, only toggles after @iter. Sets
459 toggle is found.</doc>
460         <return-value transfer-ownership="none">
461           <doc xml:whitespace="preserve">whether we found a context class toggle after @iter</doc>
462           <type name="boolean" c:type="gboolean"/>
463         </return-value>
464         <parameters>
465           <parameter name="iter" transfer-ownership="none">
466             <doc xml:whitespace="preserve">a #GtkTextIter</doc>
467             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
468           </parameter>
469           <parameter name="context_class" transfer-ownership="none">
470             <doc xml:whitespace="preserve">the context class</doc>
471             <type name="utf8" c:type="gchar*"/>
472           </parameter>
473         </parameters>
474       </method>
475       <method name="iter_backward_to_context_class_toggle"
476               c:identifier="gtk_source_buffer_iter_backward_to_context_class_toggle"
477               version="2.10">
478         <doc xml:whitespace="preserve">Moves backward to the next toggle (on or off) of the context class. If no
479 matching context class toggles are found, returns %FALSE, otherwise %TRUE.
480 Does not return toggles located at @iter, only toggles after @iter. Sets
481 toggle is found.</doc>
482         <return-value transfer-ownership="none">
483           <doc xml:whitespace="preserve">whether we found a context class toggle before @iter</doc>
484           <type name="boolean" c:type="gboolean"/>
485         </return-value>
486         <parameters>
487           <parameter name="iter" transfer-ownership="none">
488             <doc xml:whitespace="preserve">a #GtkTextIter</doc>
489             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
490           </parameter>
491           <parameter name="context_class" transfer-ownership="none">
492             <doc xml:whitespace="preserve">the context class</doc>
493             <type name="utf8" c:type="gchar*"/>
494           </parameter>
495         </parameters>
496       </method>
497       <method name="get_undo_manager"
498               c:identifier="gtk_source_buffer_get_undo_manager">
499         <doc xml:whitespace="preserve">Get the undo manager associated with the buffer.</doc>
500         <return-value transfer-ownership="full">
501           <doc xml:whitespace="preserve">A #GtkSourceUndoManager</doc>
502           <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
503         </return-value>
504       </method>
505       <method name="set_undo_manager"
506               c:identifier="gtk_source_buffer_set_undo_manager">
507         <doc xml:whitespace="preserve">Set the buffer undo manager. If @manager is %NULL the default undo manager
508 will be set.</doc>
509         <return-value transfer-ownership="none">
510           <type name="none" c:type="void"/>
511         </return-value>
512         <parameters>
513           <parameter name="manager" transfer-ownership="none">
514             <doc xml:whitespace="preserve">A #GtkSourceUndoManager</doc>
515             <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
516           </parameter>
517         </parameters>
518       </method>
519       <property name="can-redo" transfer-ownership="none">
520         <type name="boolean" c:type="gboolean"/>
521       </property>
522       <property name="can-undo" transfer-ownership="none">
523         <type name="boolean" c:type="gboolean"/>
524       </property>
525       <property name="highlight-matching-brackets"
526                 writable="1"
527                 transfer-ownership="none">
528         <type name="boolean" c:type="gboolean"/>
529       </property>
530       <property name="highlight-syntax" writable="1" transfer-ownership="none">
531         <type name="boolean" c:type="gboolean"/>
532       </property>
533       <property name="language" writable="1" transfer-ownership="none">
534         <type name="Language" c:type="GtkSourceLanguage"/>
535       </property>
536       <property name="max-undo-levels" writable="1" transfer-ownership="none">
537         <type name="int" c:type="gint"/>
538       </property>
539       <property name="style-scheme" writable="1" transfer-ownership="none">
540         <type name="StyleScheme" c:type="GtkSourceStyleScheme"/>
541       </property>
542       <property name="undo-manager"
543                 writable="1"
544                 construct="1"
545                 transfer-ownership="none">
546         <type name="UndoManager" c:type="GtkSourceUndoManager"/>
547       </property>
548       <field name="parent_instance">
549         <type name="Gtk.TextBuffer" c:type="GtkTextBuffer"/>
550       </field>
551       <field name="priv">
552         <type name="BufferPrivate" c:type="GtkSourceBufferPrivate*"/>
553       </field>
554       <glib:signal name="highlight-updated">
555         <return-value transfer-ownership="full">
556           <type name="none" c:type="void"/>
557         </return-value>
558         <parameters>
559           <parameter name="object" transfer-ownership="none">
560             <type name="Gtk.TextIter" c:type="GtkTextIter"/>
561           </parameter>
562           <parameter name="p0" transfer-ownership="none">
563             <type name="Gtk.TextIter" c:type="GtkTextIter"/>
564           </parameter>
565         </parameters>
566       </glib:signal>
567       <glib:signal name="redo">
568         <return-value transfer-ownership="full">
569           <type name="none" c:type="void"/>
570         </return-value>
571       </glib:signal>
572       <glib:signal name="source-mark-updated">
573         <return-value transfer-ownership="full">
574           <type name="none" c:type="void"/>
575         </return-value>
576         <parameters>
577           <parameter name="object" transfer-ownership="none">
578             <type name="Gtk.TextMark" c:type="GtkTextMark"/>
579           </parameter>
580         </parameters>
581       </glib:signal>
582       <glib:signal name="undo">
583         <return-value transfer-ownership="full">
584           <type name="none" c:type="void"/>
585         </return-value>
586       </glib:signal>
587     </class>
588     <record name="BufferClass"
589             c:type="GtkSourceBufferClass"
590             glib:is-gtype-struct-for="Buffer">
591       <field name="parent_class">
592         <type name="Gtk.TextBufferClass" c:type="GtkTextBufferClass"/>
593       </field>
594       <field name="undo">
595         <callback name="undo" c:type="undo">
596           <return-value transfer-ownership="none">
597             <type name="none" c:type="void"/>
598           </return-value>
599           <parameters>
600             <parameter name="buffer" transfer-ownership="none">
601               <type name="Buffer" c:type="GtkSourceBuffer*"/>
602             </parameter>
603           </parameters>
604         </callback>
605       </field>
606       <field name="redo">
607         <callback name="redo" c:type="redo">
608           <return-value transfer-ownership="none">
609             <type name="none" c:type="void"/>
610           </return-value>
611           <parameters>
612             <parameter name="buffer" transfer-ownership="none">
613               <type name="Buffer" c:type="GtkSourceBuffer*"/>
614             </parameter>
615           </parameters>
616         </callback>
617       </field>
618       <field name="gtk_source_reserved1">
619         <callback name="gtk_source_reserved1" c:type="_gtk_source_reserved1">
620           <return-value transfer-ownership="none">
621             <type name="none" c:type="void"/>
622           </return-value>
623         </callback>
624       </field>
625       <field name="gtk_source_reserved2">
626         <callback name="gtk_source_reserved2" c:type="_gtk_source_reserved2">
627           <return-value transfer-ownership="none">
628             <type name="none" c:type="void"/>
629           </return-value>
630         </callback>
631       </field>
632       <field name="gtk_source_reserved3">
633         <callback name="gtk_source_reserved3" c:type="_gtk_source_reserved3">
634           <return-value transfer-ownership="none">
635             <type name="none" c:type="void"/>
636           </return-value>
637         </callback>
638       </field>
639       <field name="gtk_source_reserved4">
640         <callback name="gtk_source_reserved4" c:type="_gtk_source_reserved4">
641           <return-value transfer-ownership="none">
642             <type name="none" c:type="void"/>
643           </return-value>
644         </callback>
645       </field>
646     </record>
647     <record name="BufferPrivate" c:type="GtkSourceBufferPrivate">
648     </record>
649     <constant name="COMPLETION_CAPABILITY_AUTOMATIC"
650               value="standard::automatic">
651       <type name="utf8"/>
652     </constant>
653     <constant name="COMPLETION_CAPABILITY_INTERACTIVE"
654               value="standard::interactive">
655       <type name="utf8"/>
656     </constant>
657     <class name="Completion"
658            c:type="GtkSourceCompletion"
659            parent="Gtk.Object"
660            glib:type-name="GtkSourceCompletion"
661            glib:get-type="gtk_source_completion_get_type"
662            glib:type-struct="CompletionClass">
663       <constructor name="new" c:identifier="gtk_source_completion_new">
664         <doc xml:whitespace="preserve">Create a new #GtkSourceCompletion associated with @view.</doc>
665         <return-value transfer-ownership="full">
666           <doc xml:whitespace="preserve">The new #GtkSourceCompletion.</doc>
667           <type name="Completion" c:type="GtkSourceCompletion*"/>
668         </return-value>
669         <parameters>
670           <parameter name="source_view" transfer-ownership="none">
671             <type name="any" c:type="any*"/>
672           </parameter>
673         </parameters>
674       </constructor>
675       <function name="utils_is_separator"
676                 c:identifier="gtk_source_completion_utils_is_separator">
677         <doc xml:whitespace="preserve">A separator is a character like (, an space etc. An _ is not a separator</doc>
678         <return-value transfer-ownership="none">
679           <doc xml:whitespace="preserve">TRUE if @ch is a separator</doc>
680           <type name="boolean" c:type="gboolean"/>
681         </return-value>
682         <parameters>
683           <parameter name="ch" transfer-ownership="none">
684             <doc xml:whitespace="preserve">The character to check</doc>
685             <type name="GLib.unichar" c:type="gunichar"/>
686           </parameter>
687         </parameters>
688       </function>
689       <function name="utils_get_word_iter"
690                 c:identifier="gtk_source_completion_utils_get_word_iter">
691         <return-value transfer-ownership="full">
692           <doc xml:whitespace="preserve">the current word</doc>
693           <type name="utf8" c:type="gchar*"/>
694         </return-value>
695         <parameters>
696           <parameter name="source_buffer" transfer-ownership="none">
697             <doc xml:whitespace="preserve">The #GtkSourceBuffer</doc>
698             <type name="Buffer" c:type="GtkSourceBuffer*"/>
699           </parameter>
700           <parameter name="current" transfer-ownership="none">
701             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
702           </parameter>
703           <parameter name="start_word" transfer-ownership="none">
704             <doc xml:whitespace="preserve">if != NULL then assign it the start position of the word</doc>
705             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
706           </parameter>
707           <parameter name="end_word" transfer-ownership="none">
708             <doc xml:whitespace="preserve">if != NULL then assing it the end position of the word</doc>
709             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
710           </parameter>
711         </parameters>
712       </function>
713       <function name="utils_get_word"
714                 c:identifier="gtk_source_completion_utils_get_word">
715         <return-value transfer-ownership="full">
716           <doc xml:whitespace="preserve">the current word</doc>
717           <type name="utf8" c:type="gchar*"/>
718         </return-value>
719         <parameters>
720           <parameter name="text_view" transfer-ownership="none">
721             <type name="Buffer" c:type="GtkSourceBuffer*"/>
722           </parameter>
723         </parameters>
724       </function>
725       <function name="utils_replace_word"
726                 c:identifier="gtk_source_completion_utils_replace_word">
727         <return-value transfer-ownership="none">
728           <type name="none" c:type="void"/>
729         </return-value>
730         <parameters>
731           <parameter name="source_buffer" transfer-ownership="none">
732             <type name="Buffer" c:type="GtkSourceBuffer*"/>
733           </parameter>
734           <parameter name="iter" transfer-ownership="none">
735             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
736           </parameter>
737           <parameter name="text" transfer-ownership="none">
738             <type name="utf8" c:type="gchar*"/>
739           </parameter>
740           <parameter name="len" transfer-ownership="none">
741             <type name="int" c:type="gint"/>
742           </parameter>
743         </parameters>
744       </function>
745       <function name="utils_replace_current_word"
746                 c:identifier="gtk_source_completion_utils_replace_current_word">
747         <doc xml:whitespace="preserve">Replaces the current word in the #GtkSourceBuffer with the new word</doc>
748         <return-value transfer-ownership="none">
749           <type name="none" c:type="void"/>
750         </return-value>
751         <parameters>
752           <parameter name="source_buffer" transfer-ownership="none">
753             <doc xml:whitespace="preserve">The #GtkSourceBuffer</doc>
754             <type name="Buffer" c:type="GtkSourceBuffer*"/>
755           </parameter>
756           <parameter name="text" transfer-ownership="none">
757             <doc xml:whitespace="preserve">The text to be inserted instead of the current word</doc>
758             <type name="utf8" c:type="gchar*"/>
759           </parameter>
760           <parameter name="len" transfer-ownership="none">
761             <type name="int" c:type="gint"/>
762           </parameter>
763         </parameters>
764       </function>
765       <function name="utils_move_to_iter"
766                 c:identifier="gtk_source_completion_utils_move_to_iter">
767         <return-value transfer-ownership="none">
768           <type name="none" c:type="void"/>
769         </return-value>
770         <parameters>
771           <parameter name="window" transfer-ownership="none">
772             <doc xml:whitespace="preserve">the #GtkWindow to move</doc>
773             <type name="Gtk.Window" c:type="GtkWindow*"/>
774           </parameter>
775           <parameter name="view" transfer-ownership="none">
776             <doc xml:whitespace="preserve">the view</doc>
777             <type name="View" c:type="GtkSourceView*"/>
778           </parameter>
779           <parameter name="iter" transfer-ownership="none">
780             <doc xml:whitespace="preserve">the iter to move @window to</doc>
781             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
782           </parameter>
783         </parameters>
784       </function>
785       <function name="utils_move_to_cursor"
786                 c:identifier="gtk_source_completion_utils_move_to_cursor">
787         <return-value transfer-ownership="none">
788           <type name="none" c:type="void"/>
789         </return-value>
790         <parameters>
791           <parameter name="window" transfer-ownership="none">
792             <type name="Gtk.Window" c:type="GtkWindow*"/>
793           </parameter>
794           <parameter name="view" transfer-ownership="none">
795             <type name="View" c:type="GtkSourceView*"/>
796           </parameter>
797         </parameters>
798       </function>
799       <virtual-method name="proposal_activated">
800         <return-value transfer-ownership="none">
801           <type name="boolean" c:type="gboolean"/>
802         </return-value>
803         <parameters>
804           <parameter name="provider" transfer-ownership="none">
805             <type name="CompletionProvider"
806                   c:type="GtkSourceCompletionProvider*"/>
807           </parameter>
808           <parameter name="proposal" transfer-ownership="none">
809             <type name="CompletionProposal"
810                   c:type="GtkSourceCompletionProposal*"/>
811           </parameter>
812         </parameters>
813       </virtual-method>
814       <method name="add_provider"
815               c:identifier="gtk_source_completion_add_provider"
816               throws="1">
817         <doc xml:whitespace="preserve">Add a new #GtkSourceCompletionProvider to the completion object. This will
818 add a reference @provider, so make sure to unref your own copy when you
819 no longer need it.
820 is provided, it will be set with the error and %FALSE is returned.</doc>
821         <return-value transfer-ownership="none">
822           <doc xml:whitespace="preserve">%TRUE if @provider was successfully added, otherwise if @error</doc>
823           <type name="boolean" c:type="gboolean"/>
824         </return-value>
825         <parameters>
826           <parameter name="provider" transfer-ownership="none">
827             <doc xml:whitespace="preserve">A #GtkSourceCompletionProvider</doc>
828             <type name="CompletionProvider"
829                   c:type="GtkSourceCompletionProvider*"/>
830           </parameter>
831         </parameters>
832       </method>
833       <method name="remove_provider"
834               c:identifier="gtk_source_completion_remove_provider"
835               throws="1">
836         <doc xml:whitespace="preserve">Remove @provider from the completion.
837 is provided, it will be set with the error and %FALSE is returned.</doc>
838         <return-value transfer-ownership="none">
839           <doc xml:whitespace="preserve">%TRUE if @provider was successfully removed, otherwise if @error</doc>
840           <type name="boolean" c:type="gboolean"/>
841         </return-value>
842         <parameters>
843           <parameter name="provider" transfer-ownership="none">
844             <doc xml:whitespace="preserve">A #GtkSourceCompletionProvider</doc>
845             <type name="CompletionProvider"
846                   c:type="GtkSourceCompletionProvider*"/>
847           </parameter>
848         </parameters>
849       </method>
850       <method name="get_providers"
851               c:identifier="gtk_source_completion_get_providers"
852               introspectable="0">
853         <doc xml:whitespace="preserve">Get list of providers registered on @completion. The returned list is owned
854 by the completion and should not be freed.</doc>
855         <return-value transfer-ownership="full">
856           <doc xml:whitespace="preserve">list of #GtkSourceCompletionProvider</doc>
857           <type name="GLib.List" c:type="GList*">
858             <type name="any" c:type="gpointer"/>
859           </type>
860         </return-value>
861       </method>
862       <method name="show"
863               c:identifier="gtk_source_completion_show"
864               introspectable="0">
865         <doc xml:whitespace="preserve">Starts a new completion with the specified #GtkSourceCompletionContext and
866 a list of potential candidate providers for completion.</doc>
867         <return-value transfer-ownership="none">
868           <doc xml:whitespace="preserve">%TRUE if it was possible to the show completion window.</doc>
869           <type name="boolean" c:type="gboolean"/>
870         </return-value>
871         <parameters>
872           <parameter name="providers" transfer-ownership="none">
873             <doc xml:whitespace="preserve">A list of #GtkSourceCompletionProvider or %NULL</doc>
874             <type name="GLib.List" c:type="GList*">
875               <type name="any" c:type="gpointer"/>
876             </type>
877           </parameter>
878           <parameter name="context" transfer-ownership="none">
879             <doc xml:whitespace="preserve">The #GtkSourceCompletionContext with which to start the completion</doc>
880             <type name="CompletionContext"
881                   c:type="GtkSourceCompletionContext*"/>
882           </parameter>
883         </parameters>
884       </method>
885       <method name="hide" c:identifier="gtk_source_completion_hide">
886         <doc xml:whitespace="preserve">Hides the completion if it is active (visible).</doc>
887         <return-value transfer-ownership="none">
888           <type name="none" c:type="void"/>
889         </return-value>
890       </method>
891       <method name="get_info_window"
892               c:identifier="gtk_source_completion_get_info_window">
893         <doc xml:whitespace="preserve">The info widget is the window where the completion displays optional extra
894 information of the proposal.</doc>
895         <return-value transfer-ownership="full">
896           <doc xml:whitespace="preserve">The #GtkSourceCompletionInfo window.</doc>
897           <type name="CompletionInfo" c:type="GtkSourceCompletionInfo*"/>
898         </return-value>
899       </method>
900       <method name="get_view" c:identifier="gtk_source_completion_get_view">
901         <doc xml:whitespace="preserve">The #GtkSourceView associated with @completion.</doc>
902         <return-value transfer-ownership="none">
903           <doc xml:whitespace="preserve">The #GtkSourceView associated with @completion.</doc>
904           <type name="any" c:type="any*"/>
905         </return-value>
906       </method>
907       <method name="create_context"
908               c:identifier="gtk_source_completion_create_context">
909         <doc xml:whitespace="preserve">Create a new #GtkSourceCompletionContext for @completion. The position at
910 which the completion using the new context will consider completion can
911 be provider by @position. If @position is %NULL, the current cursor
912 position will be used.
913 is a 'floating' reference, so if you invoke #gtk_source_completion_show
914 with this context you don't need to unref it.</doc>
915         <return-value transfer-ownership="full">
916           <doc xml:whitespace="preserve">a new #GtkSourceCompletionContext. The reference being returned</doc>
917           <type name="CompletionContext" c:type="GtkSourceCompletionContext*"/>
918         </return-value>
919         <parameters>
920           <parameter name="position" transfer-ownership="none">
921             <doc xml:whitespace="preserve">A #GtkTextIter</doc>
922             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
923           </parameter>
924         </parameters>
925       </method>
926       <method name="move_window"
927               c:identifier="gtk_source_completion_move_window">
928         <doc xml:whitespace="preserve">Move the completion window to a specific iter.</doc>
929         <return-value transfer-ownership="none">
930           <type name="none" c:type="void"/>
931         </return-value>
932         <parameters>
933           <parameter name="iter" transfer-ownership="none">
934             <doc xml:whitespace="preserve">A #GtkTextIter</doc>
935             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
936           </parameter>
937         </parameters>
938       </method>
939       <method name="block_interactive"
940               c:identifier="gtk_source_completion_block_interactive">
941         <doc xml:whitespace="preserve">Block interactive completion. This can be used to disable interactive
942 completion when inserting or deleting text from the buffer associated with
943 the completion. Use #gtk_source_completion_unblock_interactive to enable
944 interactive completion again.</doc>
945         <return-value transfer-ownership="none">
946           <type name="none" c:type="void"/>
947         </return-value>
948       </method>
949       <method name="unblock_interactive"
950               c:identifier="gtk_source_completion_unblock_interactive">
951         <doc xml:whitespace="preserve">Unblock interactive completion. This can be used after using
952 #gtk_source_completion_block_interactive to enable interactive completion
953 again.</doc>
954         <return-value transfer-ownership="none">
955           <type name="none" c:type="void"/>
956         </return-value>
957       </method>
958       <property name="accelerators"
959                 writable="1"
960                 construct="1"
961                 transfer-ownership="none">
962         <type name="uint" c:type="guint"/>
963       </property>
964       <property name="auto-complete-delay"
965                 writable="1"
966                 construct="1"
967                 transfer-ownership="none">
968         <type name="uint" c:type="guint"/>
969       </property>
970       <property name="proposal-page-size"
971                 writable="1"
972                 construct="1"
973                 transfer-ownership="none">
974         <type name="uint" c:type="guint"/>
975       </property>
976       <property name="provider-page-size"
977                 writable="1"
978                 construct="1"
979                 transfer-ownership="none">
980         <type name="uint" c:type="guint"/>
981       </property>
982       <property name="remember-info-visibility"
983                 writable="1"
984                 construct="1"
985                 transfer-ownership="none">
986         <type name="boolean" c:type="gboolean"/>
987       </property>
988       <property name="select-on-show"
989                 writable="1"
990                 construct="1"
991                 transfer-ownership="none">
992         <type name="boolean" c:type="gboolean"/>
993       </property>
994       <property name="show-headers"
995                 writable="1"
996                 construct="1"
997                 transfer-ownership="none">
998         <type name="boolean" c:type="gboolean"/>
999       </property>
1000       <property name="show-icons"
1001                 writable="1"
1002                 construct="1"
1003                 transfer-ownership="none">
1004         <type name="boolean" c:type="gboolean"/>
1005       </property>
1006       <property name="view"
1007                 writable="1"
1008                 construct-only="1"
1009                 transfer-ownership="none">
1010         <type name="View" c:type="GtkSourceView"/>
1011       </property>
1012       <field name="parent">
1013         <type name="Gtk.Object" c:type="GtkObject"/>
1014       </field>
1015       <field name="priv">
1016         <type name="CompletionPrivate" c:type="GtkSourceCompletionPrivate*"/>
1017       </field>
1018       <glib:signal name="activate-proposal">
1019         <return-value transfer-ownership="full">
1020           <type name="none" c:type="void"/>
1021         </return-value>
1022       </glib:signal>
1023       <glib:signal name="hide">
1024         <return-value transfer-ownership="full">
1025           <type name="none" c:type="void"/>
1026         </return-value>
1027       </glib:signal>
1028       <glib:signal name="move-cursor">
1029         <return-value transfer-ownership="full">
1030           <type name="none" c:type="void"/>
1031         </return-value>
1032         <parameters>
1033           <parameter name="object" transfer-ownership="none">
1034             <type name="Gtk.ScrollStep" c:type="GtkScrollStep"/>
1035           </parameter>
1036           <parameter name="p0" transfer-ownership="none">
1037             <type name="int" c:type="gint"/>
1038           </parameter>
1039         </parameters>
1040       </glib:signal>
1041       <glib:signal name="move-page">
1042         <return-value transfer-ownership="full">
1043           <type name="none" c:type="void"/>
1044         </return-value>
1045         <parameters>
1046           <parameter name="object" transfer-ownership="none">
1047             <type name="Gtk.ScrollStep" c:type="GtkScrollStep"/>
1048           </parameter>
1049           <parameter name="p0" transfer-ownership="none">
1050             <type name="int" c:type="gint"/>
1051           </parameter>
1052         </parameters>
1053       </glib:signal>
1054       <glib:signal name="populate-context">
1055         <return-value transfer-ownership="full">
1056           <type name="none" c:type="void"/>
1057         </return-value>
1058         <parameters>
1059           <parameter name="object" transfer-ownership="none">
1060             <type name="CompletionContext"
1061                   c:type="GtkSourceCompletionContext"/>
1062           </parameter>
1063         </parameters>
1064       </glib:signal>
1065       <glib:signal name="show">
1066         <return-value transfer-ownership="full">
1067           <type name="none" c:type="void"/>
1068         </return-value>
1069       </glib:signal>
1070     </class>
1071     <bitfield name="CompletionActivation"
1072               c:type="GtkSourceCompletionActivation">
1073       <member name="none"
1074               value="0"
1075               c:identifier="GTK_SOURCE_COMPLETION_ACTIVATION_NONE"/>
1076       <member name="interactive"
1077               value="1"
1078               c:identifier="GTK_SOURCE_COMPLETION_ACTIVATION_INTERACTIVE"/>
1079       <member name="user_requested"
1080               value="2"
1081               c:identifier="GTK_SOURCE_COMPLETION_ACTIVATION_USER_REQUESTED"/>
1082     </bitfield>
1083     <record name="CompletionClass"
1084             c:type="GtkSourceCompletionClass"
1085             glib:is-gtype-struct-for="Completion">
1086       <field name="parent_class">
1087         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
1088       </field>
1089       <field name="proposal_activated">
1090         <callback name="proposal_activated" c:type="proposal_activated">
1091           <return-value transfer-ownership="none">
1092             <type name="boolean" c:type="gboolean"/>
1093           </return-value>
1094           <parameters>
1095             <parameter name="completion" transfer-ownership="none">
1096               <type name="Completion" c:type="GtkSourceCompletion*"/>
1097             </parameter>
1098             <parameter name="provider" transfer-ownership="none">
1099               <type name="CompletionProvider"
1100                     c:type="GtkSourceCompletionProvider*"/>
1101             </parameter>
1102             <parameter name="proposal" transfer-ownership="none">
1103               <type name="CompletionProposal"
1104                     c:type="GtkSourceCompletionProposal*"/>
1105             </parameter>
1106           </parameters>
1107         </callback>
1108       </field>
1109       <field name="show">
1110         <callback name="show" c:type="show">
1111           <return-value transfer-ownership="none">
1112             <type name="none" c:type="void"/>
1113           </return-value>
1114           <parameters>
1115             <parameter name="completion" transfer-ownership="none">
1116               <type name="Completion" c:type="GtkSourceCompletion*"/>
1117             </parameter>
1118           </parameters>
1119         </callback>
1120       </field>
1121       <field name="hide">
1122         <callback name="hide" c:type="hide">
1123           <return-value transfer-ownership="none">
1124             <type name="none" c:type="void"/>
1125           </return-value>
1126           <parameters>
1127             <parameter name="completion" transfer-ownership="none">
1128               <type name="Completion" c:type="GtkSourceCompletion*"/>
1129             </parameter>
1130           </parameters>
1131         </callback>
1132       </field>
1133       <field name="populate_context">
1134         <callback name="populate_context" c:type="populate_context">
1135           <return-value transfer-ownership="none">
1136             <type name="none" c:type="void"/>
1137           </return-value>
1138           <parameters>
1139             <parameter name="completion" transfer-ownership="none">
1140               <type name="Completion" c:type="GtkSourceCompletion*"/>
1141             </parameter>
1142             <parameter name="context" transfer-ownership="none">
1143               <type name="CompletionContext"
1144                     c:type="GtkSourceCompletionContext*"/>
1145             </parameter>
1146           </parameters>
1147         </callback>
1148       </field>
1149       <field name="move_cursor">
1150         <callback name="move_cursor" c:type="move_cursor">
1151           <return-value transfer-ownership="none">
1152             <type name="none" c:type="void"/>
1153           </return-value>
1154           <parameters>
1155             <parameter name="completion" transfer-ownership="none">
1156               <type name="Completion" c:type="GtkSourceCompletion*"/>
1157             </parameter>
1158             <parameter name="step" transfer-ownership="none">
1159               <type name="Gtk.ScrollStep" c:type="GtkScrollStep"/>
1160             </parameter>
1161             <parameter name="num" transfer-ownership="none">
1162               <type name="int" c:type="gint"/>
1163             </parameter>
1164           </parameters>
1165         </callback>
1166       </field>
1167       <field name="move_page">
1168         <callback name="move_page" c:type="move_page">
1169           <return-value transfer-ownership="none">
1170             <type name="none" c:type="void"/>
1171           </return-value>
1172           <parameters>
1173             <parameter name="completion" transfer-ownership="none">
1174               <type name="Completion" c:type="GtkSourceCompletion*"/>
1175             </parameter>
1176             <parameter name="step" transfer-ownership="none">
1177               <type name="Gtk.ScrollStep" c:type="GtkScrollStep"/>
1178             </parameter>
1179             <parameter name="num" transfer-ownership="none">
1180               <type name="int" c:type="gint"/>
1181             </parameter>
1182           </parameters>
1183         </callback>
1184       </field>
1185       <field name="activate_proposal">
1186         <callback name="activate_proposal" c:type="activate_proposal">
1187           <return-value transfer-ownership="none">
1188             <type name="none" c:type="void"/>
1189           </return-value>
1190           <parameters>
1191             <parameter name="completion" transfer-ownership="none">
1192               <type name="Completion" c:type="GtkSourceCompletion*"/>
1193             </parameter>
1194           </parameters>
1195         </callback>
1196       </field>
1197     </record>
1198     <class name="CompletionContext"
1199            c:type="GtkSourceCompletionContext"
1200            parent="GObject.InitiallyUnowned"
1201            glib:type-name="GtkSourceCompletionContext"
1202            glib:get-type="gtk_source_completion_context_get_type"
1203            glib:type-struct="CompletionContextClass">
1204       <method name="add_proposals"
1205               c:identifier="gtk_source_completion_context_add_proposals"
1206               introspectable="0">
1207         <doc xml:whitespace="preserve">Providers can use this function to add proposals to the completion. They
1208 can do so asynchronously by means of the @finished argument. Providers must
1209 ensure that they always call this function with @finished set to %TRUE
1210 once each population (even if no proposals need to be added).</doc>
1211         <return-value transfer-ownership="none">
1212           <type name="none" c:type="void"/>
1213         </return-value>
1214         <parameters>
1215           <parameter name="provider" transfer-ownership="none">
1216             <doc xml:whitespace="preserve">A #GtkSourceCompletionProvider</doc>
1217             <type name="any" c:type="any*"/>
1218           </parameter>
1219           <parameter name="proposals" transfer-ownership="none">
1220             <doc xml:whitespace="preserve">The list of proposals to add</doc>
1221             <type name="GLib.List" c:type="GList*">
1222               <type name="any" c:type="gpointer"/>
1223             </type>
1224           </parameter>
1225           <parameter name="finished" transfer-ownership="none">
1226             <doc xml:whitespace="preserve">Whether the provider is finished adding proposals</doc>
1227             <type name="boolean" c:type="gboolean"/>
1228           </parameter>
1229         </parameters>
1230       </method>
1231       <method name="get_iter"
1232               c:identifier="gtk_source_completion_context_get_iter">
1233         <doc xml:whitespace="preserve">Get the iter at which the completion was invoked. Providers can use this
1234 to determine how and if to match proposals.</doc>
1235         <return-value transfer-ownership="none">
1236           <type name="none" c:type="void"/>
1237         </return-value>
1238         <parameters>
1239           <parameter name="iter" transfer-ownership="none">
1240             <doc xml:whitespace="preserve">A #GtkTextIter</doc>
1241             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
1242           </parameter>
1243         </parameters>
1244       </method>
1245       <method name="get_activation"
1246               c:identifier="gtk_source_completion_context_get_activation">
1247         <doc xml:whitespace="preserve">Get the context activation</doc>
1248         <return-value transfer-ownership="full">
1249           <doc xml:whitespace="preserve">The context activation</doc>
1250           <type name="CompletionActivation"
1251                 c:type="GtkSourceCompletionActivation"/>
1252         </return-value>
1253       </method>
1254       <property name="activation" writable="1" transfer-ownership="none">
1255         <type name="CompletionActivation"
1256               c:type="GtkSourceCompletionActivation"/>
1257       </property>
1258       <property name="completion"
1259                 writable="1"
1260                 construct-only="1"
1261                 transfer-ownership="none">
1262         <type name="Completion" c:type="GtkSourceCompletion"/>
1263       </property>
1264       <property name="iter" writable="1" transfer-ownership="none">
1265         <type name="Gtk.TextIter" c:type="GtkTextIter"/>
1266       </property>
1267       <field name="parent">
1268         <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
1269       </field>
1270       <field name="priv">
1271         <type name="CompletionContextPrivate"
1272               c:type="GtkSourceCompletionContextPrivate*"/>
1273       </field>
1274       <glib:signal name="cancelled">
1275         <return-value transfer-ownership="full">
1276           <type name="none" c:type="void"/>
1277         </return-value>
1278       </glib:signal>
1279     </class>
1280     <record name="CompletionContextClass"
1281             c:type="GtkSourceCompletionContextClass"
1282             glib:is-gtype-struct-for="CompletionContext">
1283       <field name="parent_class">
1284         <type name="GObject.InitiallyUnownedClass"
1285               c:type="GInitiallyUnownedClass"/>
1286       </field>
1287       <field name="cancelled">
1288         <callback name="cancelled" c:type="cancelled">
1289           <return-value transfer-ownership="none">
1290             <type name="none" c:type="void"/>
1291           </return-value>
1292           <parameters>
1293             <parameter name="context" transfer-ownership="none">
1294               <type name="CompletionContext"
1295                     c:type="GtkSourceCompletionContext*"/>
1296             </parameter>
1297           </parameters>
1298         </callback>
1299       </field>
1300       <field name="gtk_source_reserved1">
1301         <callback name="gtk_source_reserved1" c:type="_gtk_source_reserved1">
1302           <return-value transfer-ownership="none">
1303             <type name="none" c:type="void"/>
1304           </return-value>
1305         </callback>
1306       </field>
1307       <field name="gtk_source_reserved2">
1308         <callback name="gtk_source_reserved2" c:type="_gtk_source_reserved2">
1309           <return-value transfer-ownership="none">
1310             <type name="none" c:type="void"/>
1311           </return-value>
1312         </callback>
1313       </field>
1314       <field name="gtk_source_reserved3">
1315         <callback name="gtk_source_reserved3" c:type="_gtk_source_reserved3">
1316           <return-value transfer-ownership="none">
1317             <type name="none" c:type="void"/>
1318           </return-value>
1319         </callback>
1320       </field>
1321     </record>
1322     <record name="CompletionContextPrivate"
1323             c:type="GtkSourceCompletionContextPrivate">
1324     </record>
1325     <enumeration name="CompletionError"
1326                  c:type="GtkSourceCompletionError"
1327                  glib:error-quark="gtk_source_completion_error_quark">
1328       <member name="already_bound"
1329               value="0"
1330               c:identifier="GTK_SOURCE_COMPLETION_ERROR_ALREADY_BOUND"/>
1331       <member name="not_bound"
1332               value="1"
1333               c:identifier="GTK_SOURCE_COMPLETION_ERROR_NOT_BOUND"/>
1334     </enumeration>
1335     <class name="CompletionInfo"
1336            c:type="GtkSourceCompletionInfo"
1337            parent="Gtk.Window"
1338            glib:type-name="GtkSourceCompletionInfo"
1339            glib:get-type="gtk_source_completion_info_get_type"
1340            glib:type-struct="CompletionInfoClass">
1341       <implements name="Atk.ImplementorIface"/>
1342       <implements name="Gtk.Buildable"/>
1343       <constructor name="new" c:identifier="gtk_source_completion_info_new">
1344         <return-value transfer-ownership="full">
1345           <doc xml:whitespace="preserve">The new GtkSourceCompletionInfo.</doc>
1346           <type name="CompletionInfo" c:type="GtkSourceCompletionInfo*"/>
1347         </return-value>
1348       </constructor>
1349       <method name="move_to_iter"
1350               c:identifier="gtk_source_completion_info_move_to_iter">
1351         <doc xml:whitespace="preserve">Moves the #GtkSourceCompletionInfo to @iter. If @iter is %NULL @info is 
1352 moved to the cursor position. Moving will respect the #GdkGravity setting
1353 of the info window and will ensure the line at @iter is not occluded by
1354 the window.</doc>
1355         <return-value transfer-ownership="none">
1356           <type name="none" c:type="void"/>
1357         </return-value>
1358         <parameters>
1359           <parameter name="view" transfer-ownership="none">
1360             <doc xml:whitespace="preserve">A #GtkTextView on which the info window should be positioned</doc>
1361             <type name="Gtk.TextView" c:type="GtkTextView*"/>
1362           </parameter>
1363           <parameter name="iter" transfer-ownership="none">
1364             <doc xml:whitespace="preserve">A #GtkTextIter</doc>
1365             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
1366           </parameter>
1367         </parameters>
1368       </method>
1369       <method name="set_sizing"
1370               c:identifier="gtk_source_completion_info_set_sizing">
1371         <doc xml:whitespace="preserve">Set sizing information for the info window. If @shrink_width or
1372 window contents, with a maximum size given by @width and @height. Setting
1373 and height of the window.</doc>
1374         <return-value transfer-ownership="none">
1375           <type name="none" c:type="void"/>
1376         </return-value>
1377         <parameters>
1378           <parameter name="width" transfer-ownership="none">
1379             <doc xml:whitespace="preserve">The maximum/requested width of the window (-1 to default)</doc>
1380             <type name="int" c:type="gint"/>
1381           </parameter>
1382           <parameter name="height" transfer-ownership="none">
1383             <doc xml:whitespace="preserve">The maximum/requested height of the window (-1 to default)</doc>
1384             <type name="int" c:type="gint"/>
1385           </parameter>
1386           <parameter name="shrink_width" transfer-ownership="none">
1387             <doc xml:whitespace="preserve">Whether to shrink the width of the window to fit its contents</doc>
1388             <type name="boolean" c:type="gboolean"/>
1389           </parameter>
1390           <parameter name="shrink_height" transfer-ownership="none">
1391             <doc xml:whitespace="preserve">Whether to shrink the height of the window to fit its contents</doc>
1392             <type name="boolean" c:type="gboolean"/>
1393           </parameter>
1394         </parameters>
1395       </method>
1396       <method name="set_widget"
1397               c:identifier="gtk_source_completion_info_set_widget">
1398         <doc xml:whitespace="preserve">Sets the content widget of the info window. If @widget does not fit within
1399 the size requirements of the window, a #GtkScrolledWindow will automatically
1400 be created and added to the window.</doc>
1401         <return-value transfer-ownership="none">
1402           <type name="none" c:type="void"/>
1403         </return-value>
1404         <parameters>
1405           <parameter name="widget" transfer-ownership="none">
1406             <doc xml:whitespace="preserve">A #GtkWidget</doc>
1407             <type name="Gtk.Widget" c:type="GtkWidget*"/>
1408           </parameter>
1409         </parameters>
1410       </method>
1411       <method name="get_widget"
1412               c:identifier="gtk_source_completion_info_get_widget">
1413         <doc xml:whitespace="preserve">Get the current content widget.</doc>
1414         <return-value transfer-ownership="full">
1415           <doc xml:whitespace="preserve">The current content widget.</doc>
1416           <type name="Gtk.Widget" c:type="GtkWidget*"/>
1417         </return-value>
1418       </method>
1419       <method name="process_resize"
1420               c:identifier="gtk_source_completion_info_process_resize">
1421         <return-value transfer-ownership="none">
1422           <type name="none" c:type="void"/>
1423         </return-value>
1424       </method>
1425       <property name="max-height"
1426                 writable="1"
1427                 construct="1"
1428                 transfer-ownership="none">
1429         <type name="int" c:type="gint"/>
1430       </property>
1431       <property name="max-width"
1432                 writable="1"
1433                 construct="1"
1434                 transfer-ownership="none">
1435         <type name="int" c:type="gint"/>
1436       </property>
1437       <property name="shrink-height"
1438                 writable="1"
1439                 construct="1"
1440                 transfer-ownership="none">
1441         <type name="boolean" c:type="gboolean"/>
1442       </property>
1443       <property name="shrink-width"
1444                 writable="1"
1445                 construct="1"
1446                 transfer-ownership="none">
1447         <type name="boolean" c:type="gboolean"/>
1448       </property>
1449       <field name="parent">
1450         <type name="Gtk.Window" c:type="GtkWindow"/>
1451       </field>
1452       <field name="priv">
1453         <type name="CompletionInfoPrivate"
1454               c:type="GtkSourceCompletionInfoPrivate*"/>
1455       </field>
1456       <glib:signal name="before-show">
1457         <return-value transfer-ownership="full">
1458           <type name="none" c:type="void"/>
1459         </return-value>
1460       </glib:signal>
1461     </class>
1462     <record name="CompletionInfoClass"
1463             c:type="GtkSourceCompletionInfoClass"
1464             glib:is-gtype-struct-for="CompletionInfo">
1465       <field name="parent_class">
1466         <type name="Gtk.WindowClass" c:type="GtkWindowClass"/>
1467       </field>
1468       <field name="before_show">
1469         <callback name="before_show" c:type="before_show">
1470           <return-value transfer-ownership="none">
1471             <type name="none" c:type="void"/>
1472           </return-value>
1473           <parameters>
1474             <parameter name="info" transfer-ownership="none">
1475               <type name="CompletionInfo" c:type="GtkSourceCompletionInfo*"/>
1476             </parameter>
1477           </parameters>
1478         </callback>
1479       </field>
1480     </record>
1481     <record name="CompletionInfoPrivate"
1482             c:type="GtkSourceCompletionInfoPrivate">
1483     </record>
1484     <class name="CompletionItem"
1485            c:type="GtkSourceCompletionItem"
1486            parent="GObject.Object"
1487            glib:type-name="GtkSourceCompletionItem"
1488            glib:get-type="gtk_source_completion_item_get_type"
1489            glib:type-struct="CompletionItemClass">
1490       <implements name="CompletionProposal"/>
1491       <constructor name="new" c:identifier="gtk_source_completion_item_new">
1492         <return-value transfer-ownership="full">
1493           <type name="CompletionItem" c:type="GtkSourceCompletionItem*"/>
1494         </return-value>
1495         <parameters>
1496           <parameter name="label" transfer-ownership="none">
1497             <type name="utf8" c:type="gchar*"/>
1498           </parameter>
1499           <parameter name="text" transfer-ownership="none">
1500             <type name="utf8" c:type="gchar*"/>
1501           </parameter>
1502           <parameter name="icon" transfer-ownership="none">
1503             <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
1504           </parameter>
1505           <parameter name="info" transfer-ownership="none">
1506             <type name="utf8" c:type="gchar*"/>
1507           </parameter>
1508         </parameters>
1509       </constructor>
1510       <constructor name="new_with_markup"
1511                    c:identifier="gtk_source_completion_item_new_with_markup">
1512         <return-value transfer-ownership="full">
1513           <type name="CompletionItem" c:type="GtkSourceCompletionItem*"/>
1514         </return-value>
1515         <parameters>
1516           <parameter name="markup" transfer-ownership="none">
1517             <type name="utf8" c:type="gchar*"/>
1518           </parameter>
1519           <parameter name="text" transfer-ownership="none">
1520             <type name="utf8" c:type="gchar*"/>
1521           </parameter>
1522           <parameter name="icon" transfer-ownership="none">
1523             <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
1524           </parameter>
1525           <parameter name="info" transfer-ownership="none">
1526             <type name="utf8" c:type="gchar*"/>
1527           </parameter>
1528         </parameters>
1529       </constructor>
1530       <constructor name="new_from_stock"
1531                    c:identifier="gtk_source_completion_item_new_from_stock">
1532         <return-value transfer-ownership="full">
1533           <type name="CompletionItem" c:type="GtkSourceCompletionItem*"/>
1534         </return-value>
1535         <parameters>
1536           <parameter name="label" transfer-ownership="none">
1537             <type name="utf8" c:type="gchar*"/>
1538           </parameter>
1539           <parameter name="text" transfer-ownership="none">
1540             <type name="utf8" c:type="gchar*"/>
1541           </parameter>
1542           <parameter name="stock" transfer-ownership="none">
1543             <type name="utf8" c:type="gchar*"/>
1544           </parameter>
1545           <parameter name="info" transfer-ownership="none">
1546             <type name="utf8" c:type="gchar*"/>
1547           </parameter>
1548         </parameters>
1549       </constructor>
1550       <property name="icon" writable="1" transfer-ownership="none">
1551         <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf"/>
1552       </property>
1553       <property name="info" writable="1" transfer-ownership="none">
1554         <type name="utf8" c:type="gchararray"/>
1555       </property>
1556       <property name="label" writable="1" transfer-ownership="none">
1557         <type name="utf8" c:type="gchararray"/>
1558       </property>
1559       <property name="markup" writable="1" transfer-ownership="none">
1560         <type name="utf8" c:type="gchararray"/>
1561       </property>
1562       <property name="text" writable="1" transfer-ownership="none">
1563         <type name="utf8" c:type="gchararray"/>
1564       </property>
1565       <field name="parent">
1566         <type name="GObject.Object" c:type="GObject"/>
1567       </field>
1568       <field name="priv">
1569         <type name="CompletionItemPrivate"
1570               c:type="GtkSourceCompletionItemPrivate*"/>
1571       </field>
1572     </class>
1573     <record name="CompletionItemClass"
1574             c:type="GtkSourceCompletionItemClass"
1575             glib:is-gtype-struct-for="CompletionItem">
1576       <field name="parent_class">
1577         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
1578       </field>
1579     </record>
1580     <record name="CompletionItemPrivate"
1581             c:type="GtkSourceCompletionItemPrivate">
1582     </record>
1583     <class name="CompletionModel"
1584            c:type="GtkSourceCompletionModel"
1585            parent="GObject.Object"
1586            glib:type-name="GtkSourceCompletionModel"
1587            glib:get-type="gtk_source_completion_model_get_type"
1588            glib:type-struct="CompletionModelClass">
1589       <implements name="Gtk.TreeModel"/>
1590       <constructor name="new" c:identifier="gtk_source_completion_model_new">
1591         <return-value transfer-ownership="full">
1592           <type name="CompletionModel" c:type="GtkSourceCompletionModel*"/>
1593         </return-value>
1594       </constructor>
1595       <method name="begin"
1596               c:identifier="gtk_source_completion_model_begin"
1597               introspectable="0">
1598         <return-value transfer-ownership="none">
1599           <type name="none" c:type="void"/>
1600         </return-value>
1601         <parameters>
1602           <parameter name="providers" transfer-ownership="none">
1603             <type name="GLib.List" c:type="GList*">
1604               <type name="any" c:type="gpointer"/>
1605             </type>
1606           </parameter>
1607         </parameters>
1608       </method>
1609       <method name="append"
1610               c:identifier="gtk_source_completion_model_append"
1611               introspectable="0">
1612         <return-value transfer-ownership="none">
1613           <type name="none" c:type="void"/>
1614         </return-value>
1615         <parameters>
1616           <parameter name="provider" transfer-ownership="none">
1617             <type name="CompletionProvider"
1618                   c:type="GtkSourceCompletionProvider*"/>
1619           </parameter>
1620           <parameter name="proposals" transfer-ownership="none">
1621             <type name="GLib.List" c:type="GList*">
1622               <type name="any" c:type="gpointer"/>
1623             </type>
1624           </parameter>
1625         </parameters>
1626       </method>
1627       <method name="end" c:identifier="gtk_source_completion_model_end">
1628         <return-value transfer-ownership="none">
1629           <type name="none" c:type="void"/>
1630         </return-value>
1631         <parameters>
1632           <parameter name="provider" transfer-ownership="none">
1633             <type name="CompletionProvider"
1634                   c:type="GtkSourceCompletionProvider*"/>
1635           </parameter>
1636         </parameters>
1637       </method>
1638       <method name="cancel" c:identifier="gtk_source_completion_model_cancel">
1639         <return-value transfer-ownership="none">
1640           <type name="none" c:type="void"/>
1641         </return-value>
1642       </method>
1643       <method name="is_empty"
1644               c:identifier="gtk_source_completion_model_is_empty">
1645         <return-value transfer-ownership="none">
1646           <type name="boolean" c:type="gboolean"/>
1647         </return-value>
1648         <parameters>
1649           <parameter name="invisible" transfer-ownership="none">
1650             <type name="boolean" c:type="gboolean"/>
1651           </parameter>
1652         </parameters>
1653       </method>
1654       <method name="set_visible_providers"
1655               c:identifier="gtk_source_completion_model_set_visible_providers"
1656               introspectable="0">
1657         <return-value transfer-ownership="none">
1658           <type name="none" c:type="void"/>
1659         </return-value>
1660         <parameters>
1661           <parameter name="providers" transfer-ownership="none">
1662             <type name="GLib.List" c:type="GList*">
1663               <type name="any" c:type="gpointer"/>
1664             </type>
1665           </parameter>
1666         </parameters>
1667       </method>
1668       <method name="get_visible_providers"
1669               c:identifier="gtk_source_completion_model_get_visible_providers"
1670               introspectable="0">
1671         <return-value transfer-ownership="full">
1672           <type name="GLib.List" c:type="GList*">
1673             <type name="any" c:type="gpointer"/>
1674           </type>
1675         </return-value>
1676       </method>
1677       <method name="get_providers"
1678               c:identifier="gtk_source_completion_model_get_providers"
1679               introspectable="0">
1680         <return-value transfer-ownership="full">
1681           <type name="GLib.List" c:type="GList*">
1682             <type name="any" c:type="gpointer"/>
1683           </type>
1684         </return-value>
1685       </method>
1686       <method name="n_proposals"
1687               c:identifier="gtk_source_completion_model_n_proposals">
1688         <return-value transfer-ownership="none">
1689           <type name="uint" c:type="guint"/>
1690         </return-value>
1691         <parameters>
1692           <parameter name="provider" transfer-ownership="none">
1693             <type name="CompletionProvider"
1694                   c:type="GtkSourceCompletionProvider*"/>
1695           </parameter>
1696         </parameters>
1697       </method>
1698       <method name="clear" c:identifier="gtk_source_completion_model_clear">
1699         <return-value transfer-ownership="none">
1700           <type name="none" c:type="void"/>
1701         </return-value>
1702       </method>
1703       <method name="set_show_headers"
1704               c:identifier="gtk_source_completion_model_set_show_headers">
1705         <return-value transfer-ownership="none">
1706           <type name="none" c:type="void"/>
1707         </return-value>
1708         <parameters>
1709           <parameter name="show_headers" transfer-ownership="none">
1710             <type name="boolean" c:type="gboolean"/>
1711           </parameter>
1712         </parameters>
1713       </method>
1714       <method name="iter_is_header"
1715               c:identifier="gtk_source_completion_model_iter_is_header">
1716         <return-value transfer-ownership="none">
1717           <type name="boolean" c:type="gboolean"/>
1718         </return-value>
1719         <parameters>
1720           <parameter name="iter" transfer-ownership="none">
1721             <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
1722           </parameter>
1723         </parameters>
1724       </method>
1725       <method name="iter_previous"
1726               c:identifier="gtk_source_completion_model_iter_previous">
1727         <return-value transfer-ownership="none">
1728           <type name="boolean" c:type="gboolean"/>
1729         </return-value>
1730         <parameters>
1731           <parameter name="iter" transfer-ownership="none">
1732             <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
1733           </parameter>
1734         </parameters>
1735       </method>
1736       <method name="iter_last"
1737               c:identifier="gtk_source_completion_model_iter_last">
1738         <return-value transfer-ownership="none">
1739           <type name="boolean" c:type="gboolean"/>
1740         </return-value>
1741         <parameters>
1742           <parameter name="iter" transfer-ownership="none">
1743             <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
1744           </parameter>
1745         </parameters>
1746       </method>
1747       <method name="iter_equal"
1748               c:identifier="gtk_source_completion_model_iter_equal">
1749         <return-value transfer-ownership="none">
1750           <type name="boolean" c:type="gboolean"/>
1751         </return-value>
1752         <parameters>
1753           <parameter name="iter1" transfer-ownership="none">
1754             <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
1755           </parameter>
1756           <parameter name="iter2" transfer-ownership="none">
1757             <type name="Gtk.TreeIter" c:type="GtkTreeIter*"/>
1758           </parameter>
1759         </parameters>
1760       </method>
1761       <field name="parent">
1762         <type name="GObject.Object" c:type="GObject"/>
1763       </field>
1764       <field name="priv">
1765         <type name="CompletionModelPrivate"
1766               c:type="GtkSourceCompletionModelPrivate*"/>
1767       </field>
1768       <glib:signal name="begin-delete">
1769         <return-value transfer-ownership="full">
1770           <type name="none" c:type="void"/>
1771         </return-value>
1772       </glib:signal>
1773       <glib:signal name="end-delete">
1774         <return-value transfer-ownership="full">
1775           <type name="none" c:type="void"/>
1776         </return-value>
1777       </glib:signal>
1778       <glib:signal name="providers-changed">
1779         <return-value transfer-ownership="full">
1780           <type name="none" c:type="void"/>
1781         </return-value>
1782       </glib:signal>
1783     </class>
1784     <record name="CompletionModelClass"
1785             c:type="GtkSourceCompletionModelClass"
1786             glib:is-gtype-struct-for="CompletionModel">
1787       <field name="parent_class">
1788         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
1789       </field>
1790       <field name="providers_changed">
1791         <callback name="providers_changed" c:type="providers_changed">
1792           <return-value transfer-ownership="none">
1793             <type name="none" c:type="void"/>
1794           </return-value>
1795           <parameters>
1796             <parameter name="model" transfer-ownership="none">
1797               <type name="CompletionModel" c:type="GtkSourceCompletionModel*"/>
1798             </parameter>
1799           </parameters>
1800         </callback>
1801       </field>
1802       <field name="begin_delete">
1803         <callback name="begin_delete" c:type="begin_delete">
1804           <return-value transfer-ownership="none">
1805             <type name="none" c:type="void"/>
1806           </return-value>
1807           <parameters>
1808             <parameter name="model" transfer-ownership="none">
1809               <type name="CompletionModel" c:type="GtkSourceCompletionModel*"/>
1810             </parameter>
1811           </parameters>
1812         </callback>
1813       </field>
1814       <field name="end_delete">
1815         <callback name="end_delete" c:type="end_delete">
1816           <return-value transfer-ownership="none">
1817             <type name="none" c:type="void"/>
1818           </return-value>
1819           <parameters>
1820             <parameter name="model" transfer-ownership="none">
1821               <type name="CompletionModel" c:type="GtkSourceCompletionModel*"/>
1822             </parameter>
1823           </parameters>
1824         </callback>
1825       </field>
1826     </record>
1827     <record name="CompletionModelPrivate"
1828             c:type="GtkSourceCompletionModelPrivate">
1829     </record>
1830     <record name="CompletionPrivate" c:type="GtkSourceCompletionPrivate">
1831     </record>
1832     <interface name="CompletionProposal"
1833                c:type="GtkSourceCompletionProposal"
1834                glib:type-name="GtkSourceCompletionProposal"
1835                glib:get-type="gtk_source_completion_proposal_get_type"
1836                glib:type-struct="CompletionProposalIface">
1837       <virtual-method name="get_label" invoker="get_label">
1838         <doc xml:whitespace="preserve">Gets the label of @proposal. The label is shown in the list of proposals as
1839 plain text. If you need any markup (such as bold or italic text), you have
1840 to implement #gtk_source_completion_proposal_get_markup. The returned string
1841 must be freed with g_free().</doc>
1842         <return-value transfer-ownership="full">
1843           <doc xml:whitespace="preserve">A new string containing the label of @proposal.</doc>
1844           <type name="utf8" c:type="gchar*"/>
1845         </return-value>
1846       </virtual-method>
1847       <virtual-method name="get_markup" invoker="get_markup">
1848         <doc xml:whitespace="preserve">Gets the label of @proposal with markup. The label is shown in the list of 
1849 proposals and may contain markup. This will be used instead of
1850 #gtk_source_completion_proposal_get_label if implemented. The returned string
1851 must be freed with g_free().</doc>
1852         <return-value transfer-ownership="full">
1853           <doc xml:whitespace="preserve">A new string containing the label of @proposal with markup.</doc>
1854           <type name="utf8" c:type="gchar*"/>
1855         </return-value>
1856       </virtual-method>
1857       <virtual-method name="get_text" invoker="get_text">
1858         <doc xml:whitespace="preserve">Gets the text of @proposal. The text that is inserted into
1859 the text buffer when the proposal is activated by the default activation.
1860 You are free to implement a custom activation handler in the provider and
1861 not implement this function. The returned string must be freed with g_free().</doc>
1862         <return-value transfer-ownership="full">
1863           <doc xml:whitespace="preserve">A new string containing the text of @proposal.</doc>
1864           <type name="utf8" c:type="gchar*"/>
1865         </return-value>
1866       </virtual-method>
1867       <virtual-method name="get_icon" invoker="get_icon">
1868         <doc xml:whitespace="preserve">Gets the icon of @proposal.</doc>
1869         <return-value transfer-ownership="full">
1870           <doc xml:whitespace="preserve">The icon of @proposal.</doc>
1871           <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
1872         </return-value>
1873       </virtual-method>
1874       <virtual-method name="get_info" invoker="get_info">
1875         <doc xml:whitespace="preserve">Gets extra information associated to the proposal. This information will be
1876 used to present the user with extra, detailed information about the
1877 selected proposal. The returned string must be freed with g_free().
1878 no extra information is associated to @proposal.</doc>
1879         <return-value transfer-ownership="full">
1880           <doc xml:whitespace="preserve">A new string containing extra information of @proposal or %NULL if</doc>
1881           <type name="utf8" c:type="gchar*"/>
1882         </return-value>
1883       </virtual-method>
1884       <virtual-method name="hash" invoker="hash">
1885         <doc xml:whitespace="preserve">Get the hash value of @proposal. This is used to (together with
1886 #gtk_source_completion_proposal_equal) to match proposals in the completion
1887 model. By default, it uses a direct hash (#g_direct_hash).</doc>
1888         <return-value transfer-ownership="none">
1889           <doc xml:whitespace="preserve">The hash value of @proposal</doc>
1890           <type name="uint" c:type="guint"/>
1891         </return-value>
1892       </virtual-method>
1893       <virtual-method name="equal" invoker="equal">
1894         <doc xml:whitespace="preserve">Get whether two proposal objects are the same.  This is used to (together 
1895 with #gtk_source_completion_proposal_hash) to match proposals in the 
1896 completion model. By default, it uses direct equality (#g_direct_equal).</doc>
1897         <return-value transfer-ownership="none">
1898           <doc xml:whitespace="preserve">%TRUE if @proposal and @object are the same proposal</doc>
1899           <type name="boolean" c:type="gboolean"/>
1900         </return-value>
1901         <parameters>
1902           <parameter name="other" transfer-ownership="none">
1903             <doc xml:whitespace="preserve">A #GtkSourceCompletionProposal</doc>
1904             <type name="CompletionProposal"
1905                   c:type="GtkSourceCompletionProposal*"/>
1906           </parameter>
1907         </parameters>
1908       </virtual-method>
1909       <method name="get_label"
1910               c:identifier="gtk_source_completion_proposal_get_label">
1911         <doc xml:whitespace="preserve">Gets the label of @proposal. The label is shown in the list of proposals as
1912 plain text. If you need any markup (such as bold or italic text), you have
1913 to implement #gtk_source_completion_proposal_get_markup. The returned string
1914 must be freed with g_free().</doc>
1915         <return-value transfer-ownership="full">
1916           <doc xml:whitespace="preserve">A new string containing the label of @proposal.</doc>
1917           <type name="utf8" c:type="gchar*"/>
1918         </return-value>
1919       </method>
1920       <method name="get_markup"
1921               c:identifier="gtk_source_completion_proposal_get_markup">
1922         <doc xml:whitespace="preserve">Gets the label of @proposal with markup. The label is shown in the list of 
1923 proposals and may contain markup. This will be used instead of
1924 #gtk_source_completion_proposal_get_label if implemented. The returned string
1925 must be freed with g_free().</doc>
1926         <return-value transfer-ownership="full">
1927           <doc xml:whitespace="preserve">A new string containing the label of @proposal with markup.</doc>
1928           <type name="utf8" c:type="gchar*"/>
1929         </return-value>
1930       </method>
1931       <method name="get_text"
1932               c:identifier="gtk_source_completion_proposal_get_text">
1933         <doc xml:whitespace="preserve">Gets the text of @proposal. The text that is inserted into
1934 the text buffer when the proposal is activated by the default activation.
1935 You are free to implement a custom activation handler in the provider and
1936 not implement this function. The returned string must be freed with g_free().</doc>
1937         <return-value transfer-ownership="full">
1938           <doc xml:whitespace="preserve">A new string containing the text of @proposal.</doc>
1939           <type name="utf8" c:type="gchar*"/>
1940         </return-value>
1941       </method>
1942       <method name="get_icon"
1943               c:identifier="gtk_source_completion_proposal_get_icon">
1944         <doc xml:whitespace="preserve">Gets the icon of @proposal.</doc>
1945         <return-value transfer-ownership="full">
1946           <doc xml:whitespace="preserve">The icon of @proposal.</doc>
1947           <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
1948         </return-value>
1949       </method>
1950       <method name="get_info"
1951               c:identifier="gtk_source_completion_proposal_get_info">
1952         <doc xml:whitespace="preserve">Gets extra information associated to the proposal. This information will be
1953 used to present the user with extra, detailed information about the
1954 selected proposal. The returned string must be freed with g_free().
1955 no extra information is associated to @proposal.</doc>
1956         <return-value transfer-ownership="full">
1957           <doc xml:whitespace="preserve">A new string containing extra information of @proposal or %NULL if</doc>
1958           <type name="utf8" c:type="gchar*"/>
1959         </return-value>
1960       </method>
1961       <method name="changed"
1962               c:identifier="gtk_source_completion_proposal_changed">
1963         <doc xml:whitespace="preserve">Emits the "changed" signal on @proposal. This should be called by
1964 implementations whenever the name, icon or info of the proposal has
1965 changed.</doc>
1966         <return-value transfer-ownership="none">
1967           <type name="none" c:type="void"/>
1968         </return-value>
1969       </method>
1970       <method name="hash" c:identifier="gtk_source_completion_proposal_hash">
1971         <doc xml:whitespace="preserve">Get the hash value of @proposal. This is used to (together with
1972 #gtk_source_completion_proposal_equal) to match proposals in the completion
1973 model. By default, it uses a direct hash (#g_direct_hash).</doc>
1974         <return-value transfer-ownership="none">
1975           <doc xml:whitespace="preserve">The hash value of @proposal</doc>
1976           <type name="uint" c:type="guint"/>
1977         </return-value>
1978       </method>
1979       <method name="equal" c:identifier="gtk_source_completion_proposal_equal">
1980         <doc xml:whitespace="preserve">Get whether two proposal objects are the same.  This is used to (together 
1981 with #gtk_source_completion_proposal_hash) to match proposals in the 
1982 completion model. By default, it uses direct equality (#g_direct_equal).</doc>
1983         <return-value transfer-ownership="none">
1984           <doc xml:whitespace="preserve">%TRUE if @proposal and @object are the same proposal</doc>
1985           <type name="boolean" c:type="gboolean"/>
1986         </return-value>
1987         <parameters>
1988           <parameter name="other" transfer-ownership="none">
1989             <doc xml:whitespace="preserve">A #GtkSourceCompletionProposal</doc>
1990             <type name="CompletionProposal"
1991                   c:type="GtkSourceCompletionProposal*"/>
1992           </parameter>
1993         </parameters>
1994       </method>
1995       <glib:signal name="changed">
1996         <return-value transfer-ownership="full">
1997           <type name="none" c:type="void"/>
1998         </return-value>
1999       </glib:signal>
2000     </interface>
2001     <record name="CompletionProposalIface"
2002             c:type="GtkSourceCompletionProposalIface"
2003             glib:is-gtype-struct-for="CompletionProposal">
2004       <field name="parent">
2005         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
2006       </field>
2007       <field name="get_label">
2008         <callback name="get_label" c:type="get_label">
2009           <return-value transfer-ownership="full">
2010             <doc xml:whitespace="preserve">A new string containing the label of @proposal.</doc>
2011             <type name="utf8" c:type="gchar*"/>
2012           </return-value>
2013           <parameters>
2014             <parameter name="proposal" transfer-ownership="none">
2015               <type name="CompletionProposal"
2016                     c:type="GtkSourceCompletionProposal*"/>
2017             </parameter>
2018           </parameters>
2019         </callback>
2020       </field>
2021       <field name="get_markup">
2022         <callback name="get_markup" c:type="get_markup">
2023           <return-value transfer-ownership="full">
2024             <doc xml:whitespace="preserve">A new string containing the label of @proposal with markup.</doc>
2025             <type name="utf8" c:type="gchar*"/>
2026           </return-value>
2027           <parameters>
2028             <parameter name="proposal" transfer-ownership="none">
2029               <type name="CompletionProposal"
2030                     c:type="GtkSourceCompletionProposal*"/>
2031             </parameter>
2032           </parameters>
2033         </callback>
2034       </field>
2035       <field name="get_text">
2036         <callback name="get_text" c:type="get_text">
2037           <return-value transfer-ownership="full">
2038             <doc xml:whitespace="preserve">A new string containing the text of @proposal.</doc>
2039             <type name="utf8" c:type="gchar*"/>
2040           </return-value>
2041           <parameters>
2042             <parameter name="proposal" transfer-ownership="none">
2043               <type name="CompletionProposal"
2044                     c:type="GtkSourceCompletionProposal*"/>
2045             </parameter>
2046           </parameters>
2047         </callback>
2048       </field>
2049       <field name="get_icon">
2050         <callback name="get_icon" c:type="get_icon">
2051           <return-value transfer-ownership="full">
2052             <doc xml:whitespace="preserve">The icon of @proposal.</doc>
2053             <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
2054           </return-value>
2055           <parameters>
2056             <parameter name="proposal" transfer-ownership="none">
2057               <type name="CompletionProposal"
2058                     c:type="GtkSourceCompletionProposal*"/>
2059             </parameter>
2060           </parameters>
2061         </callback>
2062       </field>
2063       <field name="get_info">
2064         <callback name="get_info" c:type="get_info">
2065           <return-value transfer-ownership="full">
2066             <doc xml:whitespace="preserve">A new string containing extra information of @proposal or %NULL if</doc>
2067             <type name="utf8" c:type="gchar*"/>
2068           </return-value>
2069           <parameters>
2070             <parameter name="proposal" transfer-ownership="none">
2071               <type name="CompletionProposal"
2072                     c:type="GtkSourceCompletionProposal*"/>
2073             </parameter>
2074           </parameters>
2075         </callback>
2076       </field>
2077       <field name="hash">
2078         <callback name="hash" c:type="hash">
2079           <return-value transfer-ownership="none">
2080             <doc xml:whitespace="preserve">The hash value of @proposal</doc>
2081             <type name="uint" c:type="guint"/>
2082           </return-value>
2083           <parameters>
2084             <parameter name="proposal" transfer-ownership="none">
2085               <type name="CompletionProposal"
2086                     c:type="GtkSourceCompletionProposal*"/>
2087             </parameter>
2088           </parameters>
2089         </callback>
2090       </field>
2091       <field name="equal">
2092         <callback name="equal" c:type="equal">
2093           <return-value transfer-ownership="none">
2094             <doc xml:whitespace="preserve">%TRUE if @proposal and @object are the same proposal</doc>
2095             <type name="boolean" c:type="gboolean"/>
2096           </return-value>
2097           <parameters>
2098             <parameter name="proposal" transfer-ownership="none">
2099               <type name="CompletionProposal"
2100                     c:type="GtkSourceCompletionProposal*"/>
2101             </parameter>
2102             <parameter name="other" transfer-ownership="none">
2103               <doc xml:whitespace="preserve">A #GtkSourceCompletionProposal</doc>
2104               <type name="CompletionProposal"
2105                     c:type="GtkSourceCompletionProposal*"/>
2106             </parameter>
2107           </parameters>
2108         </callback>
2109       </field>
2110       <field name="changed">
2111         <callback name="changed" c:type="changed">
2112           <return-value transfer-ownership="none">
2113             <type name="none" c:type="void"/>
2114           </return-value>
2115           <parameters>
2116             <parameter name="proposal" transfer-ownership="none">
2117               <type name="CompletionProposal"
2118                     c:type="GtkSourceCompletionProposal*"/>
2119             </parameter>
2120           </parameters>
2121         </callback>
2122       </field>
2123     </record>
2124     <interface name="CompletionProvider"
2125                c:type="GtkSourceCompletionProvider"
2126                glib:type-name="GtkSourceCompletionProvider"
2127                glib:get-type="gtk_source_completion_provider_get_type"
2128                glib:type-struct="CompletionProviderIface">
2129       <virtual-method name="get_name" invoker="get_name">
2130         <doc xml:whitespace="preserve">Get the name of the provider. This should be a translatable name for
2131 returned string must be freed with g_free().</doc>
2132         <return-value transfer-ownership="full">
2133           <doc xml:whitespace="preserve">A new string containing the name of the provider.</doc>
2134           <type name="utf8" c:type="gchar*"/>
2135         </return-value>
2136       </virtual-method>
2137       <virtual-method name="get_icon" invoker="get_icon">
2138         <doc xml:whitespace="preserve">Get the icon of the provider.
2139 not have a special icon.</doc>
2140         <return-value transfer-ownership="full">
2141           <doc xml:whitespace="preserve">The icon to be used for the provider, or %NULL if the provider does</doc>
2142           <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
2143         </return-value>
2144       </virtual-method>
2145       <virtual-method name="populate" invoker="populate">
2146         <doc xml:whitespace="preserve">Populate @context with proposals from @provider</doc>
2147         <return-value transfer-ownership="none">
2148           <type name="none" c:type="void"/>
2149         </return-value>
2150         <parameters>
2151           <parameter name="context" transfer-ownership="none">
2152             <doc xml:whitespace="preserve">The #GtkSourceCompletionContext</doc>
2153             <type name="CompletionContext"
2154                   c:type="GtkSourceCompletionContext*"/>
2155           </parameter>
2156         </parameters>
2157       </virtual-method>
2158       <virtual-method name="match" invoker="match">
2159         <doc xml:whitespace="preserve">Get whether the provider match the context of completion detailed in</doc>
2160         <return-value transfer-ownership="none">
2161           <doc xml:whitespace="preserve">%TRUE if @provider matches the completion context, %FALSE otherwise</doc>
2162           <type name="boolean" c:type="gboolean"/>
2163         </return-value>
2164         <parameters>
2165           <parameter name="context" transfer-ownership="none">
2166             <doc xml:whitespace="preserve">The #GtkSourceCompletionContext</doc>
2167             <type name="CompletionContext"
2168                   c:type="GtkSourceCompletionContext*"/>
2169           </parameter>
2170         </parameters>
2171       </virtual-method>
2172       <virtual-method name="get_activation" invoker="get_activation">
2173         <doc xml:whitespace="preserve">Get with what kind of activation the provider should be activated.</doc>
2174         <return-value transfer-ownership="full">
2175           <doc xml:whitespace="preserve">a combination of #GtkSourceCompletionActivation.</doc>
2176           <type name="CompletionActivation"
2177                 c:type="GtkSourceCompletionActivation"/>
2178         </return-value>
2179       </virtual-method>
2180       <virtual-method name="get_info_widget" invoker="get_info_widget">
2181         <doc xml:whitespace="preserve">Get a customized info widget to show extra information of a proposal.
2182 This allows for customized widgets on a proposal basis, although in general
2183 providers will have the same custom widget for all their proposals and
2184 If implemented, #gtk_source_completion_provider_update_info MUST also be
2185 implemented. If not implemented, the default 
2186 #gtk_source_completion_proposal_get_info will be used to display extra
2187 information about a #GtkSourceCompletionProposal.</doc>
2188         <return-value transfer-ownership="full">
2189           <doc xml:whitespace="preserve">a custom #GtkWidget to show extra information about @proposal.</doc>
2190           <type name="Gtk.Widget" c:type="GtkWidget*"/>
2191         </return-value>
2192         <parameters>
2193           <parameter name="proposal" transfer-ownership="none">
2194             <doc xml:whitespace="preserve">The currently selected #GtkSourceCompletionProposal</doc>
2195             <type name="CompletionProposal"
2196                   c:type="GtkSourceCompletionProposal*"/>
2197           </parameter>
2198         </parameters>
2199       </virtual-method>
2200       <virtual-method name="update_info" invoker="update_info">
2201         <doc xml:whitespace="preserve">Update extra information shown in @info for @proposal. This should be
2202 implemented if your provider sets a custom info widget for @proposal.
2203 This function MUST be implemented when 
2204 #gtk_source_completion_provider_get_info_widget is implemented.</doc>
2205         <return-value transfer-ownership="none">
2206           <type name="none" c:type="void"/>
2207         </return-value>
2208         <parameters>
2209           <parameter name="proposal" transfer-ownership="none">
2210             <doc xml:whitespace="preserve">A #GtkSourceCompletionProposal</doc>
2211             <type name="CompletionProposal"
2212                   c:type="GtkSourceCompletionProposal*"/>
2213           </parameter>
2214           <parameter name="info" transfer-ownership="none">
2215             <doc xml:whitespace="preserve">A #GtkSourceCompletionInfo</doc>
2216             <type name="CompletionInfo" c:type="GtkSourceCompletionInfo*"/>
2217           </parameter>
2218         </parameters>
2219       </virtual-method>
2220       <virtual-method name="get_start_iter" invoker="get_start_iter">
2221         <doc xml:whitespace="preserve">Get the #GtkTextIter at which the completion for @proposal starts. When
2222 implemented, the completion can use this information to position the
2223 completion window accordingly when a proposal is selected in the completion
2224 window.</doc>
2225         <return-value transfer-ownership="none">
2226           <doc xml:whitespace="preserve">%TRUE if @iter was set for @proposal, %FALSE otherwise</doc>
2227           <type name="boolean" c:type="gboolean"/>
2228         </return-value>
2229         <parameters>
2230           <parameter name="context" transfer-ownership="none">
2231             <doc xml:whitespace="preserve">A #GtkSourceCompletionContext</doc>
2232             <type name="CompletionContext"
2233                   c:type="GtkSourceCompletionContext*"/>
2234           </parameter>
2235           <parameter name="proposal" transfer-ownership="none">
2236             <doc xml:whitespace="preserve">A #GtkSourceCompletionProposal</doc>
2237             <type name="CompletionProposal"
2238                   c:type="GtkSourceCompletionProposal*"/>
2239           </parameter>
2240           <parameter name="iter" transfer-ownership="none">
2241             <doc xml:whitespace="preserve">A #GtkTextIter</doc>
2242             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
2243           </parameter>
2244         </parameters>
2245       </virtual-method>
2246       <virtual-method name="activate_proposal" invoker="activate_proposal">
2247         <doc xml:whitespace="preserve">Activate @proposal at @iter. When this functions returns %FALSE, the default
2248 activation of @proposal will take place which replaces the word at @iter
2249 with the label of @proposal.
2250 %FALSE otherwise.</doc>
2251         <return-value transfer-ownership="none">
2252           <doc xml:whitespace="preserve">%TRUE to indicate that the proposal activation has been handled,</doc>
2253           <type name="boolean" c:type="gboolean"/>
2254         </return-value>
2255         <parameters>
2256           <parameter name="proposal" transfer-ownership="none">
2257             <doc xml:whitespace="preserve">A #GtkSourceCompletionProposal</doc>
2258             <type name="CompletionProposal"
2259                   c:type="GtkSourceCompletionProposal*"/>
2260           </parameter>
2261           <parameter name="iter" transfer-ownership="none">
2262             <doc xml:whitespace="preserve">A #GtkTextIter</doc>
2263             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
2264           </parameter>
2265         </parameters>
2266       </virtual-method>
2267       <virtual-method name="get_interactive_delay"
2268                       invoker="get_interactive_delay">
2269         <doc xml:whitespace="preserve">Get the delay in milliseconds before starting interactive completion for
2270 this provider. A value of -1 indicates to use the default value as set
2271 by #GtkSourceCompletion::auto-complete-delay.</doc>
2272         <return-value transfer-ownership="none">
2273           <doc xml:whitespace="preserve">the interactive delay in milliseconds.</doc>
2274           <type name="int" c:type="gint"/>
2275         </return-value>
2276       </virtual-method>
2277       <virtual-method name="get_priority" invoker="get_priority">
2278         <doc xml:whitespace="preserve">Get the provider priority. The priority determines the order in which
2279 proposals appear in the completion popup. Higher priorities are sorted
2280 before lower priorities. The default priority is 0.</doc>
2281         <return-value transfer-ownership="none">
2282           <doc xml:whitespace="preserve">the provider priority.</doc>
2283           <type name="int" c:type="gint"/>
2284         </return-value>
2285       </virtual-method>
2286       <method name="get_name"
2287               c:identifier="gtk_source_completion_provider_get_name">
2288         <doc xml:whitespace="preserve">Get the name of the provider. This should be a translatable name for
2289 returned string must be freed with g_free().</doc>
2290         <return-value transfer-ownership="full">
2291           <doc xml:whitespace="preserve">A new string containing the name of the provider.</doc>
2292           <type name="utf8" c:type="gchar*"/>
2293         </return-value>
2294       </method>
2295       <method name="get_icon"
2296               c:identifier="gtk_source_completion_provider_get_icon">
2297         <doc xml:whitespace="preserve">Get the icon of the provider.
2298 not have a special icon.</doc>
2299         <return-value transfer-ownership="full">
2300           <doc xml:whitespace="preserve">The icon to be used for the provider, or %NULL if the provider does</doc>
2301           <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
2302         </return-value>
2303       </method>
2304       <method name="populate"
2305               c:identifier="gtk_source_completion_provider_populate">
2306         <doc xml:whitespace="preserve">Populate @context with proposals from @provider</doc>
2307         <return-value transfer-ownership="none">
2308           <type name="none" c:type="void"/>
2309         </return-value>
2310         <parameters>
2311           <parameter name="context" transfer-ownership="none">
2312             <doc xml:whitespace="preserve">The #GtkSourceCompletionContext</doc>
2313             <type name="CompletionContext"
2314                   c:type="GtkSourceCompletionContext*"/>
2315           </parameter>
2316         </parameters>
2317       </method>
2318       <method name="get_activation"
2319               c:identifier="gtk_source_completion_provider_get_activation">
2320         <doc xml:whitespace="preserve">Get with what kind of activation the provider should be activated.</doc>
2321         <return-value transfer-ownership="full">
2322           <doc xml:whitespace="preserve">a combination of #GtkSourceCompletionActivation.</doc>
2323           <type name="CompletionActivation"
2324                 c:type="GtkSourceCompletionActivation"/>
2325         </return-value>
2326       </method>
2327       <method name="match" c:identifier="gtk_source_completion_provider_match">
2328         <doc xml:whitespace="preserve">Get whether the provider match the context of completion detailed in</doc>
2329         <return-value transfer-ownership="none">
2330           <doc xml:whitespace="preserve">%TRUE if @provider matches the completion context, %FALSE otherwise</doc>
2331           <type name="boolean" c:type="gboolean"/>
2332         </return-value>
2333         <parameters>
2334           <parameter name="context" transfer-ownership="none">
2335             <doc xml:whitespace="preserve">The #GtkSourceCompletionContext</doc>
2336             <type name="CompletionContext"
2337                   c:type="GtkSourceCompletionContext*"/>
2338           </parameter>
2339         </parameters>
2340       </method>
2341       <method name="get_info_widget"
2342               c:identifier="gtk_source_completion_provider_get_info_widget">
2343         <doc xml:whitespace="preserve">Get a customized info widget to show extra information of a proposal.
2344 This allows for customized widgets on a proposal basis, although in general
2345 providers will have the same custom widget for all their proposals and
2346 If implemented, #gtk_source_completion_provider_update_info MUST also be
2347 implemented. If not implemented, the default 
2348 #gtk_source_completion_proposal_get_info will be used to display extra
2349 information about a #GtkSourceCompletionProposal.</doc>
2350         <return-value transfer-ownership="full">
2351           <doc xml:whitespace="preserve">a custom #GtkWidget to show extra information about @proposal.</doc>
2352           <type name="Gtk.Widget" c:type="GtkWidget*"/>
2353         </return-value>
2354         <parameters>
2355           <parameter name="proposal" transfer-ownership="none">
2356             <doc xml:whitespace="preserve">The currently selected #GtkSourceCompletionProposal</doc>
2357             <type name="CompletionProposal"
2358                   c:type="GtkSourceCompletionProposal*"/>
2359           </parameter>
2360         </parameters>
2361       </method>
2362       <method name="update_info"
2363               c:identifier="gtk_source_completion_provider_update_info">
2364         <doc xml:whitespace="preserve">Update extra information shown in @info for @proposal. This should be
2365 implemented if your provider sets a custom info widget for @proposal.
2366 This function MUST be implemented when 
2367 #gtk_source_completion_provider_get_info_widget is implemented.</doc>
2368         <return-value transfer-ownership="none">
2369           <type name="none" c:type="void"/>
2370         </return-value>
2371         <parameters>
2372           <parameter name="proposal" transfer-ownership="none">
2373             <doc xml:whitespace="preserve">A #GtkSourceCompletionProposal</doc>
2374             <type name="CompletionProposal"
2375                   c:type="GtkSourceCompletionProposal*"/>
2376           </parameter>
2377           <parameter name="info" transfer-ownership="none">
2378             <doc xml:whitespace="preserve">A #GtkSourceCompletionInfo</doc>
2379             <type name="CompletionInfo" c:type="GtkSourceCompletionInfo*"/>
2380           </parameter>
2381         </parameters>
2382       </method>
2383       <method name="get_start_iter"
2384               c:identifier="gtk_source_completion_provider_get_start_iter">
2385         <doc xml:whitespace="preserve">Get the #GtkTextIter at which the completion for @proposal starts. When
2386 implemented, the completion can use this information to position the
2387 completion window accordingly when a proposal is selected in the completion
2388 window.</doc>
2389         <return-value transfer-ownership="none">
2390           <doc xml:whitespace="preserve">%TRUE if @iter was set for @proposal, %FALSE otherwise</doc>
2391           <type name="boolean" c:type="gboolean"/>
2392         </return-value>
2393         <parameters>
2394           <parameter name="context" transfer-ownership="none">
2395             <doc xml:whitespace="preserve">A #GtkSourceCompletionContext</doc>
2396             <type name="CompletionContext"
2397                   c:type="GtkSourceCompletionContext*"/>
2398           </parameter>
2399           <parameter name="proposal" transfer-ownership="none">
2400             <doc xml:whitespace="preserve">A #GtkSourceCompletionProposal</doc>
2401             <type name="CompletionProposal"
2402                   c:type="GtkSourceCompletionProposal*"/>
2403           </parameter>
2404           <parameter name="iter" transfer-ownership="none">
2405             <doc xml:whitespace="preserve">A #GtkTextIter</doc>
2406             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
2407           </parameter>
2408         </parameters>
2409       </method>
2410       <method name="activate_proposal"
2411               c:identifier="gtk_source_completion_provider_activate_proposal">
2412         <doc xml:whitespace="preserve">Activate @proposal at @iter. When this functions returns %FALSE, the default
2413 activation of @proposal will take place which replaces the word at @iter
2414 with the label of @proposal.
2415 %FALSE otherwise.</doc>
2416         <return-value transfer-ownership="none">
2417           <doc xml:whitespace="preserve">%TRUE to indicate that the proposal activation has been handled,</doc>
2418           <type name="boolean" c:type="gboolean"/>
2419         </return-value>
2420         <parameters>
2421           <parameter name="proposal" transfer-ownership="none">
2422             <doc xml:whitespace="preserve">A #GtkSourceCompletionProposal</doc>
2423             <type name="CompletionProposal"
2424                   c:type="GtkSourceCompletionProposal*"/>
2425           </parameter>
2426           <parameter name="iter" transfer-ownership="none">
2427             <doc xml:whitespace="preserve">A #GtkTextIter</doc>
2428             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
2429           </parameter>
2430         </parameters>
2431       </method>
2432       <method name="get_interactive_delay"
2433               c:identifier="gtk_source_completion_provider_get_interactive_delay">
2434         <doc xml:whitespace="preserve">Get the delay in milliseconds before starting interactive completion for
2435 this provider. A value of -1 indicates to use the default value as set
2436 by #GtkSourceCompletion::auto-complete-delay.</doc>
2437         <return-value transfer-ownership="none">
2438           <doc xml:whitespace="preserve">the interactive delay in milliseconds.</doc>
2439           <type name="int" c:type="gint"/>
2440         </return-value>
2441       </method>
2442       <method name="get_priority"
2443               c:identifier="gtk_source_completion_provider_get_priority">
2444         <doc xml:whitespace="preserve">Get the provider priority. The priority determines the order in which
2445 proposals appear in the completion popup. Higher priorities are sorted
2446 before lower priorities. The default priority is 0.</doc>
2447         <return-value transfer-ownership="none">
2448           <doc xml:whitespace="preserve">the provider priority.</doc>
2449           <type name="int" c:type="gint"/>
2450         </return-value>
2451       </method>
2452     </interface>
2453     <record name="CompletionProviderIface"
2454             c:type="GtkSourceCompletionProviderIface"
2455             glib:is-gtype-struct-for="CompletionProvider">
2456       <field name="g_iface">
2457         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
2458       </field>
2459       <field name="get_name">
2460         <callback name="get_name" c:type="get_name">
2461           <return-value transfer-ownership="full">
2462             <doc xml:whitespace="preserve">A new string containing the name of the provider.</doc>
2463             <type name="utf8" c:type="gchar*"/>
2464           </return-value>
2465           <parameters>
2466             <parameter name="provider" transfer-ownership="none">
2467               <type name="CompletionProvider"
2468                     c:type="GtkSourceCompletionProvider*"/>
2469             </parameter>
2470           </parameters>
2471         </callback>
2472       </field>
2473       <field name="get_icon">
2474         <callback name="get_icon" c:type="get_icon">
2475           <return-value transfer-ownership="full">
2476             <doc xml:whitespace="preserve">The icon to be used for the provider, or %NULL if the provider does</doc>
2477             <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
2478           </return-value>
2479           <parameters>
2480             <parameter name="provider" transfer-ownership="none">
2481               <type name="CompletionProvider"
2482                     c:type="GtkSourceCompletionProvider*"/>
2483             </parameter>
2484           </parameters>
2485         </callback>
2486       </field>
2487       <field name="populate">
2488         <callback name="populate" c:type="populate">
2489           <return-value transfer-ownership="none">
2490             <type name="none" c:type="void"/>
2491           </return-value>
2492           <parameters>
2493             <parameter name="provider" transfer-ownership="none">
2494               <type name="CompletionProvider"
2495                     c:type="GtkSourceCompletionProvider*"/>
2496             </parameter>
2497             <parameter name="context" transfer-ownership="none">
2498               <doc xml:whitespace="preserve">The #GtkSourceCompletionContext</doc>
2499               <type name="CompletionContext"
2500                     c:type="GtkSourceCompletionContext*"/>
2501             </parameter>
2502           </parameters>
2503         </callback>
2504       </field>
2505       <field name="match">
2506         <callback name="match" c:type="match">
2507           <return-value transfer-ownership="none">
2508             <doc xml:whitespace="preserve">%TRUE if @provider matches the completion context, %FALSE otherwise</doc>
2509             <type name="boolean" c:type="gboolean"/>
2510           </return-value>
2511           <parameters>
2512             <parameter name="provider" transfer-ownership="none">
2513               <type name="CompletionProvider"
2514                     c:type="GtkSourceCompletionProvider*"/>
2515             </parameter>
2516             <parameter name="context" transfer-ownership="none">
2517               <doc xml:whitespace="preserve">The #GtkSourceCompletionContext</doc>
2518               <type name="CompletionContext"
2519                     c:type="GtkSourceCompletionContext*"/>
2520             </parameter>
2521           </parameters>
2522         </callback>
2523       </field>
2524       <field name="get_activation">
2525         <callback name="get_activation" c:type="get_activation">
2526           <return-value transfer-ownership="full">
2527             <doc xml:whitespace="preserve">a combination of #GtkSourceCompletionActivation.</doc>
2528             <type name="CompletionActivation"
2529                   c:type="GtkSourceCompletionActivation"/>
2530           </return-value>
2531           <parameters>
2532             <parameter name="provider" transfer-ownership="none">
2533               <type name="CompletionProvider"
2534                     c:type="GtkSourceCompletionProvider*"/>
2535             </parameter>
2536           </parameters>
2537         </callback>
2538       </field>
2539       <field name="get_info_widget">
2540         <callback name="get_info_widget" c:type="get_info_widget">
2541           <return-value transfer-ownership="full">
2542             <doc xml:whitespace="preserve">a custom #GtkWidget to show extra information about @proposal.</doc>
2543             <type name="Gtk.Widget" c:type="GtkWidget*"/>
2544           </return-value>
2545           <parameters>
2546             <parameter name="provider" transfer-ownership="none">
2547               <type name="CompletionProvider"
2548                     c:type="GtkSourceCompletionProvider*"/>
2549             </parameter>
2550             <parameter name="proposal" transfer-ownership="none">
2551               <doc xml:whitespace="preserve">The currently selected #GtkSourceCompletionProposal</doc>
2552               <type name="CompletionProposal"
2553                     c:type="GtkSourceCompletionProposal*"/>
2554             </parameter>
2555           </parameters>
2556         </callback>
2557       </field>
2558       <field name="update_info">
2559         <callback name="update_info" c:type="update_info">
2560           <return-value transfer-ownership="none">
2561             <type name="none" c:type="void"/>
2562           </return-value>
2563           <parameters>
2564             <parameter name="provider" transfer-ownership="none">
2565               <type name="CompletionProvider"
2566                     c:type="GtkSourceCompletionProvider*"/>
2567             </parameter>
2568             <parameter name="proposal" transfer-ownership="none">
2569               <doc xml:whitespace="preserve">A #GtkSourceCompletionProposal</doc>
2570               <type name="CompletionProposal"
2571                     c:type="GtkSourceCompletionProposal*"/>
2572             </parameter>
2573             <parameter name="info" transfer-ownership="none">
2574               <doc xml:whitespace="preserve">A #GtkSourceCompletionInfo</doc>
2575               <type name="CompletionInfo" c:type="GtkSourceCompletionInfo*"/>
2576             </parameter>
2577           </parameters>
2578         </callback>
2579       </field>
2580       <field name="get_start_iter">
2581         <callback name="get_start_iter" c:type="get_start_iter">
2582           <return-value transfer-ownership="none">
2583             <doc xml:whitespace="preserve">%TRUE if @iter was set for @proposal, %FALSE otherwise</doc>
2584             <type name="boolean" c:type="gboolean"/>
2585           </return-value>
2586           <parameters>
2587             <parameter name="provider" transfer-ownership="none">
2588               <type name="CompletionProvider"
2589                     c:type="GtkSourceCompletionProvider*"/>
2590             </parameter>
2591             <parameter name="context" transfer-ownership="none">
2592               <doc xml:whitespace="preserve">A #GtkSourceCompletionContext</doc>
2593               <type name="CompletionContext"
2594                     c:type="GtkSourceCompletionContext*"/>
2595             </parameter>
2596             <parameter name="proposal" transfer-ownership="none">
2597               <doc xml:whitespace="preserve">A #GtkSourceCompletionProposal</doc>
2598               <type name="CompletionProposal"
2599                     c:type="GtkSourceCompletionProposal*"/>
2600             </parameter>
2601             <parameter name="iter" transfer-ownership="none">
2602               <doc xml:whitespace="preserve">A #GtkTextIter</doc>
2603               <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
2604             </parameter>
2605           </parameters>
2606         </callback>
2607       </field>
2608       <field name="activate_proposal">
2609         <callback name="activate_proposal" c:type="activate_proposal">
2610           <return-value transfer-ownership="none">
2611             <doc xml:whitespace="preserve">%TRUE to indicate that the proposal activation has been handled,</doc>
2612             <type name="boolean" c:type="gboolean"/>
2613           </return-value>
2614           <parameters>
2615             <parameter name="provider" transfer-ownership="none">
2616               <type name="CompletionProvider"
2617                     c:type="GtkSourceCompletionProvider*"/>
2618             </parameter>
2619             <parameter name="proposal" transfer-ownership="none">
2620               <doc xml:whitespace="preserve">A #GtkSourceCompletionProposal</doc>
2621               <type name="CompletionProposal"
2622                     c:type="GtkSourceCompletionProposal*"/>
2623             </parameter>
2624             <parameter name="iter" transfer-ownership="none">
2625               <doc xml:whitespace="preserve">A #GtkTextIter</doc>
2626               <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
2627             </parameter>
2628           </parameters>
2629         </callback>
2630       </field>
2631       <field name="get_interactive_delay">
2632         <callback name="get_interactive_delay" c:type="get_interactive_delay">
2633           <return-value transfer-ownership="none">
2634             <doc xml:whitespace="preserve">the interactive delay in milliseconds.</doc>
2635             <type name="int" c:type="gint"/>
2636           </return-value>
2637           <parameters>
2638             <parameter name="provider" transfer-ownership="none">
2639               <type name="CompletionProvider"
2640                     c:type="GtkSourceCompletionProvider*"/>
2641             </parameter>
2642           </parameters>
2643         </callback>
2644       </field>
2645       <field name="get_priority">
2646         <callback name="get_priority" c:type="get_priority">
2647           <return-value transfer-ownership="none">
2648             <doc xml:whitespace="preserve">the provider priority.</doc>
2649             <type name="int" c:type="gint"/>
2650           </return-value>
2651           <parameters>
2652             <parameter name="provider" transfer-ownership="none">
2653               <type name="CompletionProvider"
2654                     c:type="GtkSourceCompletionProvider*"/>
2655             </parameter>
2656           </parameters>
2657         </callback>
2658       </field>
2659     </record>
2660     <record name="ContextClass" c:type="GtkSourceContextClass">
2661       <constructor name="new" c:identifier="gtk_source_context_class_new">
2662         <return-value transfer-ownership="full">
2663           <type name="ContextClass" c:type="GtkSourceContextClass*"/>
2664         </return-value>
2665         <parameters>
2666           <parameter name="name" transfer-ownership="full">
2667             <type name="utf8" c:type="gchar*"/>
2668           </parameter>
2669           <parameter name="enabled" transfer-ownership="none">
2670             <type name="boolean" c:type="gboolean"/>
2671           </parameter>
2672         </parameters>
2673       </constructor>
2674       <method name="free" c:identifier="gtk_source_context_class_free">
2675         <return-value transfer-ownership="none">
2676           <type name="none" c:type="void"/>
2677         </return-value>
2678       </method>
2679     </record>
2680     <record name="ContextData" c:type="GtkSourceContextData">
2681     </record>
2682     <record name="ContextEngine" c:type="GtkSourceContextEngine">
2683       <field name="parent_instance" writable="1">
2684         <type name="Engine" c:type="GtkSourceEngine"/>
2685       </field>
2686       <field name="priv" writable="1">
2687         <type name="ContextEnginePrivate"
2688               c:type="GtkSourceContextEnginePrivate*"/>
2689       </field>
2690     </record>
2691     <record name="ContextEngineClass" c:type="GtkSourceContextEngineClass">
2692       <field name="parent_class" writable="1">
2693         <type name="EngineClass" c:type="GtkSourceEngineClass"/>
2694       </field>
2695     </record>
2696     <record name="ContextEnginePrivate" c:type="GtkSourceContextEnginePrivate">
2697     </record>
2698     <bitfield name="ContextFlags" c:type="GtkSourceContextFlags">
2699       <member name="extend_parent"
2700               value="1"
2701               c:identifier="GTK_SOURCE_CONTEXT_EXTEND_PARENT"/>
2702       <member name="end_parent"
2703               value="2"
2704               c:identifier="GTK_SOURCE_CONTEXT_END_PARENT"/>
2705       <member name="end_at_line_end"
2706               value="4"
2707               c:identifier="GTK_SOURCE_CONTEXT_END_AT_LINE_END"/>
2708       <member name="first_line_only"
2709               value="8"
2710               c:identifier="GTK_SOURCE_CONTEXT_FIRST_LINE_ONLY"/>
2711       <member name="once_only"
2712               value="16"
2713               c:identifier="GTK_SOURCE_CONTEXT_ONCE_ONLY"/>
2714       <member name="style_inside"
2715               value="32"
2716               c:identifier="GTK_SOURCE_CONTEXT_STYLE_INSIDE"/>
2717     </bitfield>
2718     <bitfield name="ContextRefOptions" c:type="GtkSourceContextRefOptions">
2719       <member name="ignore_style"
2720               value="1"
2721               c:identifier="GTK_SOURCE_CONTEXT_IGNORE_STYLE"/>
2722       <member name="override_style"
2723               value="2"
2724               c:identifier="GTK_SOURCE_CONTEXT_OVERRIDE_STYLE"/>
2725       <member name="ref_original"
2726               value="4"
2727               c:identifier="GTK_SOURCE_CONTEXT_REF_ORIGINAL"/>
2728     </bitfield>
2729     <record name="ContextReplace" c:type="GtkSourceContextReplace">
2730     </record>
2731     <bitfield name="DrawSpacesFlags" c:type="GtkSourceDrawSpacesFlags">
2732       <doc xml:whitespace="preserve">GtkSourceDrawSpacesFlags determine what kind of spaces whould be drawn. If none
2733 of GTK_SOURCE_DRAW_SPACES_LEADING, GTK_SOURCE_DRAW_SPACES_TEXT or
2734 GTK_SOURCE_DRAW_SPACES_TRAILING is specified, whitespaces at any position in
2735 the line will be drawn (i.e. it has the same effect as specifying all of them).</doc>
2736       <member name="space"
2737               value="1"
2738               c:identifier="GTK_SOURCE_DRAW_SPACES_SPACE"/>
2739       <member name="tab" value="2" c:identifier="GTK_SOURCE_DRAW_SPACES_TAB"/>
2740       <member name="newline"
2741               value="4"
2742               c:identifier="GTK_SOURCE_DRAW_SPACES_NEWLINE"/>
2743       <member name="nbsp"
2744               value="8"
2745               c:identifier="GTK_SOURCE_DRAW_SPACES_NBSP"/>
2746       <member name="leading"
2747               value="16"
2748               c:identifier="GTK_SOURCE_DRAW_SPACES_LEADING"/>
2749       <member name="text"
2750               value="32"
2751               c:identifier="GTK_SOURCE_DRAW_SPACES_TEXT"/>
2752       <member name="trailing"
2753               value="64"
2754               c:identifier="GTK_SOURCE_DRAW_SPACES_TRAILING"/>
2755       <member name="all"
2756               value="127"
2757               c:identifier="GTK_SOURCE_DRAW_SPACES_ALL"/>
2758     </bitfield>
2759     <record name="Engine" c:type="GtkSourceEngine">
2760       <field name="parent_instance" writable="1">
2761         <type name="GObject.Object" c:type="GObject"/>
2762       </field>
2763     </record>
2764     <record name="EngineClass" c:type="GtkSourceEngineClass">
2765       <field name="parent_class" writable="1">
2766         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
2767       </field>
2768       <field name="attach_buffer">
2769         <type name="any" c:type="pointer"/>
2770       </field>
2771       <field name="text_inserted">
2772         <type name="any" c:type="pointer"/>
2773       </field>
2774       <field name="text_deleted">
2775         <type name="any" c:type="pointer"/>
2776       </field>
2777       <field name="update_highlight">
2778         <type name="any" c:type="pointer"/>
2779       </field>
2780       <field name="set_style_scheme">
2781         <type name="any" c:type="pointer"/>
2782       </field>
2783       <field name="get_context_class_tag">
2784         <type name="any" c:type="pointer"/>
2785       </field>
2786     </record>
2787     <constant name="GTKSOURCEVIEW_18N_H__" value="1">
2788       <type name="int"/>
2789     </constant>
2790     <record name="GtkTextRegion" c:type="GtkTextRegion">
2791       <constructor name="new" c:identifier="gtk_text_region_new">
2792         <return-value transfer-ownership="full">
2793           <type name="GtkTextRegion" c:type="GtkTextRegion*"/>
2794         </return-value>
2795         <parameters>
2796           <parameter name="buffer" transfer-ownership="none">
2797             <type name="Gtk.TextBuffer" c:type="GtkTextBuffer*"/>
2798           </parameter>
2799         </parameters>
2800       </constructor>
2801       <method name="destroy" c:identifier="gtk_text_region_destroy">
2802         <return-value transfer-ownership="none">
2803           <type name="none" c:type="void"/>
2804         </return-value>
2805         <parameters>
2806           <parameter name="delete_marks" transfer-ownership="none">
2807             <type name="boolean" c:type="gboolean"/>
2808           </parameter>
2809         </parameters>
2810       </method>
2811       <method name="get_buffer" c:identifier="gtk_text_region_get_buffer">
2812         <return-value transfer-ownership="full">
2813           <type name="Gtk.TextBuffer" c:type="GtkTextBuffer*"/>
2814         </return-value>
2815       </method>
2816       <method name="add" c:identifier="gtk_text_region_add">
2817         <return-value transfer-ownership="none">
2818           <type name="none" c:type="void"/>
2819         </return-value>
2820         <parameters>
2821           <parameter name="_start" transfer-ownership="none">
2822             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
2823           </parameter>
2824           <parameter name="_end" transfer-ownership="none">
2825             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
2826           </parameter>
2827         </parameters>
2828       </method>
2829       <method name="subtract" c:identifier="gtk_text_region_subtract">
2830         <return-value transfer-ownership="none">
2831           <type name="none" c:type="void"/>
2832         </return-value>
2833         <parameters>
2834           <parameter name="_start" transfer-ownership="none">
2835             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
2836           </parameter>
2837           <parameter name="_end" transfer-ownership="none">
2838             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
2839           </parameter>
2840         </parameters>
2841       </method>
2842       <method name="subregions" c:identifier="gtk_text_region_subregions">
2843         <return-value transfer-ownership="none">
2844           <type name="int" c:type="gint"/>
2845         </return-value>
2846       </method>
2847       <method name="nth_subregion"
2848               c:identifier="gtk_text_region_nth_subregion">
2849         <return-value transfer-ownership="none">
2850           <type name="boolean" c:type="gboolean"/>
2851         </return-value>
2852         <parameters>
2853           <parameter name="subregion" transfer-ownership="none">
2854             <type name="uint" c:type="guint"/>
2855           </parameter>
2856           <parameter name="start" transfer-ownership="none">
2857             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
2858           </parameter>
2859           <parameter name="end" transfer-ownership="none">
2860             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
2861           </parameter>
2862         </parameters>
2863       </method>
2864       <method name="intersect" c:identifier="gtk_text_region_intersect">
2865         <return-value transfer-ownership="full">
2866           <type name="GtkTextRegion" c:type="GtkTextRegion*"/>
2867         </return-value>
2868         <parameters>
2869           <parameter name="_start" transfer-ownership="none">
2870             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
2871           </parameter>
2872           <parameter name="_end" transfer-ownership="none">
2873             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
2874           </parameter>
2875         </parameters>
2876       </method>
2877       <method name="get_iterator" c:identifier="gtk_text_region_get_iterator">
2878         <return-value transfer-ownership="none">
2879           <type name="none" c:type="void"/>
2880         </return-value>
2881         <parameters>
2882           <parameter name="iter" transfer-ownership="none">
2883             <type name="GtkTextRegionIterator"
2884                   c:type="GtkTextRegionIterator*"/>
2885           </parameter>
2886           <parameter name="start" transfer-ownership="none">
2887             <type name="uint" c:type="guint"/>
2888           </parameter>
2889         </parameters>
2890       </method>
2891       <method name="debug_print" c:identifier="gtk_text_region_debug_print">
2892         <return-value transfer-ownership="none">
2893           <type name="none" c:type="void"/>
2894         </return-value>
2895       </method>
2896     </record>
2897     <record name="GtkTextRegionIterator" c:type="GtkTextRegionIterator">
2898       <field name="dummy1" writable="1">
2899         <type name="any" c:type="gpointer"/>
2900       </field>
2901       <field name="dummy2" writable="1">
2902         <type name="uint32" c:type="guint32"/>
2903       </field>
2904       <field name="dummy3" writable="1">
2905         <type name="any" c:type="gpointer"/>
2906       </field>
2907       <method name="is_end" c:identifier="gtk_text_region_iterator_is_end">
2908         <return-value transfer-ownership="none">
2909           <type name="boolean" c:type="gboolean"/>
2910         </return-value>
2911       </method>
2912       <method name="next" c:identifier="gtk_text_region_iterator_next">
2913         <return-value transfer-ownership="none">
2914           <type name="boolean" c:type="gboolean"/>
2915         </return-value>
2916       </method>
2917       <method name="get_subregion"
2918               c:identifier="gtk_text_region_iterator_get_subregion">
2919         <return-value transfer-ownership="none">
2920           <type name="none" c:type="void"/>
2921         </return-value>
2922         <parameters>
2923           <parameter name="start" transfer-ownership="none">
2924             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
2925           </parameter>
2926           <parameter name="end" transfer-ownership="none">
2927             <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
2928           </parameter>
2929         </parameters>
2930       </method>
2931     </record>
2932     <class name="Gutter"
2933            c:type="GtkSourceGutter"
2934            parent="GObject.Object"
2935            glib:type-name="GtkSourceGutter"
2936            glib:get-type="gtk_source_gutter_get_type"
2937            glib:type-struct="GutterClass">
2938       <constructor name="new" c:identifier="gtk_source_gutter_new">
2939         <return-value transfer-ownership="full">
2940           <type name="Gutter" c:type="GtkSourceGutter*"/>
2941         </return-value>
2942         <parameters>
2943           <parameter name="view" transfer-ownership="none">
2944             <type name="any" c:type="any*"/>
2945           </parameter>
2946           <parameter name="type" transfer-ownership="none">
2947             <type name="Gtk.TextWindowType" c:type="GtkTextWindowType"/>
2948           </parameter>
2949         </parameters>
2950       </constructor>
2951       <method name="get_window"
2952               c:identifier="gtk_source_gutter_get_window"
2953               version="2.8">
2954         <doc xml:whitespace="preserve">Get the #GdkWindow of the gutter. The window will only be available when the
2955 gutter has at least one, non-zero width, cell renderer packed.</doc>
2956         <return-value transfer-ownership="full">
2957           <doc xml:whitespace="preserve">the #GdkWindow of the gutter, or %NULL if the gutter has no window.</doc>
2958           <type name="Gdk.Window" c:type="GdkWindow*"/>
2959         </return-value>
2960       </method>
2961       <method name="insert"
2962               c:identifier="gtk_source_gutter_insert"
2963               version="2.8">
2964         <doc xml:whitespace="preserve">Inserts @renderer into @gutter at @position.</doc>
2965         <return-value transfer-ownership="none">
2966           <type name="none" c:type="void"/>
2967         </return-value>
2968         <parameters>
2969           <parameter name="renderer" transfer-ownership="none">
2970             <doc xml:whitespace="preserve">a #GtkCellRenderer</doc>
2971             <type name="Gtk.CellRenderer" c:type="GtkCellRenderer*"/>
2972           </parameter>
2973           <parameter name="position" transfer-ownership="none">
2974             <doc xml:whitespace="preserve">the renderers position</doc>
2975             <type name="int" c:type="gint"/>
2976           </parameter>
2977         </parameters>
2978       </method>
2979       <method name="reorder"
2980               c:identifier="gtk_source_gutter_reorder"
2981               version="2.8">
2982         <doc xml:whitespace="preserve">Reorders @renderer in @gutter to new @position.</doc>
2983         <return-value transfer-ownership="none">
2984           <type name="none" c:type="void"/>
2985         </return-value>
2986         <parameters>
2987           <parameter name="renderer" transfer-ownership="none">
2988             <doc xml:whitespace="preserve">a #GtkCellRenderer</doc>
2989             <type name="Gtk.CellRenderer" c:type="GtkCellRenderer*"/>
2990           </parameter>
2991           <parameter name="position" transfer-ownership="none">
2992             <doc xml:whitespace="preserve">the new renderer position</doc>
2993             <type name="int" c:type="gint"/>
2994           </parameter>
2995         </parameters>
2996       </method>
2997       <method name="remove"
2998               c:identifier="gtk_source_gutter_remove"
2999               version="2.8">
3000         <doc xml:whitespace="preserve">Removes @renderer from @gutter.</doc>
3001         <return-value transfer-ownership="none">
3002           <type name="none" c:type="void"/>
3003         </return-value>
3004         <parameters>
3005           <parameter name="renderer" transfer-ownership="none">
3006             <doc xml:whitespace="preserve">a #GtkCellRenderer</doc>
3007             <type name="Gtk.CellRenderer" c:type="GtkCellRenderer*"/>
3008           </parameter>
3009         </parameters>
3010       </method>
3011       <method name="set_cell_data_func"
3012               c:identifier="gtk_source_gutter_set_cell_data_func"
3013               version="2.8">
3014         <doc xml:whitespace="preserve">Sets the #GtkSourceGutterDataFunc to use for @renderer. This function is
3015 used to setup the cell renderer properties for rendering the current cell.</doc>
3016         <return-value transfer-ownership="none">
3017           <type name="none" c:type="void"/>
3018         </return-value>
3019         <parameters>
3020           <parameter name="renderer" transfer-ownership="none">
3021             <doc xml:whitespace="preserve">a #GtkCellRenderer</doc>
3022             <type name="Gtk.CellRenderer" c:type="GtkCellRenderer*"/>
3023           </parameter>
3024           <parameter name="func"
3025                      transfer-ownership="none"
3026                      scope="notified"
3027                      closure="3"
3028                      destroy="4">
3029             <doc xml:whitespace="preserve">the #GtkSourceGutterDataFunc to use</doc>
3030             <type name="GutterDataFunc" c:type="GtkSourceGutterDataFunc"/>
3031           </parameter>
3032           <parameter name="func_data" transfer-ownership="none">
3033             <doc xml:whitespace="preserve">the user data for @func</doc>
3034             <type name="any" c:type="gpointer"/>
3035           </parameter>
3036           <parameter name="destroy" transfer-ownership="none" scope="call">
3037             <doc xml:whitespace="preserve">the destroy notification for @func_data</doc>
3038             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
3039           </parameter>
3040         </parameters>
3041       </method>
3042       <method name="set_cell_size_func"
3043               c:identifier="gtk_source_gutter_set_cell_size_func"
3044               version="2.8">
3045         <doc xml:whitespace="preserve">Sets the #GtkSourceGutterSizeFunc to use for @renderer. This function is
3046 used to setup the cell renderer properties for measuring the maximum size
3047 of the cell.</doc>
3048         <return-value transfer-ownership="none">
3049           <type name="none" c:type="void"/>
3050         </return-value>
3051         <parameters>
3052           <parameter name="renderer" transfer-ownership="none">
3053             <doc xml:whitespace="preserve">a #GtkCellRenderer</doc>
3054             <type name="Gtk.CellRenderer" c:type="GtkCellRenderer*"/>
3055           </parameter>
3056           <parameter name="func"
3057                      transfer-ownership="none"
3058                      scope="notified"
3059                      closure="3"
3060                      destroy="4">
3061             <doc xml:whitespace="preserve">the #GtkSourceGutterSizeFunc to use</doc>
3062             <type name="GutterSizeFunc" c:type="GtkSourceGutterSizeFunc"/>
3063           </parameter>
3064           <parameter name="func_data" transfer-ownership="none">
3065             <doc xml:whitespace="preserve">the user data for @func</doc>
3066             <type name="any" c:type="gpointer"/>
3067           </parameter>
3068           <parameter name="destroy" transfer-ownership="none" scope="call">
3069             <doc xml:whitespace="preserve">the destroy notification for @func_data</doc>
3070             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
3071           </parameter>
3072         </parameters>
3073       </method>
3074       <method name="queue_draw"
3075               c:identifier="gtk_source_gutter_queue_draw"
3076               version="2.8">
3077         <doc xml:whitespace="preserve">Invalidates the drawable area of the gutter. You can use this to force a
3078 redraw of the gutter if something has changed and needs to be redrawn.</doc>
3079         <return-value transfer-ownership="none">
3080           <type name="none" c:type="void"/>
3081         </return-value>
3082       </method>
3083       <property name="view"
3084                 writable="1"
3085                 construct-only="1"
3086                 transfer-ownership="none">
3087         <type name="View" c:type="GtkSourceView"/>
3088       </property>
3089       <property name="window-type"
3090                 writable="1"
3091                 construct-only="1"
3092                 transfer-ownership="none">
3093         <type name="Gtk.TextWindowType" c:type="GtkTextWindowType"/>
3094       </property>
3095       <field name="parent">
3096         <type name="GObject.Object" c:type="GObject"/>
3097       </field>
3098       <field name="priv">
3099         <type name="GutterPrivate" c:type="GtkSourceGutterPrivate*"/>
3100       </field>
3101       <glib:signal name="cell-activated">
3102         <return-value transfer-ownership="full">
3103           <type name="none" c:type="void"/>
3104         </return-value>
3105         <parameters>
3106           <parameter name="object" transfer-ownership="none">
3107             <type name="Gtk.CellRenderer" c:type="GtkCellRenderer"/>
3108           </parameter>
3109           <parameter name="p0" transfer-ownership="none">
3110             <type name="Gtk.TextIter" c:type="GtkTextIter"/>
3111           </parameter>
3112           <parameter name="p1" transfer-ownership="none">
3113             <type name="Gdk.Event" c:type="GdkEvent"/>
3114           </parameter>
3115         </parameters>
3116       </glib:signal>
3117       <glib:signal name="query-tooltip">
3118         <return-value transfer-ownership="full">
3119           <type name="boolean" c:type="gboolean"/>
3120         </return-value>
3121         <parameters>
3122           <parameter name="object" transfer-ownership="none">
3123             <type name="Gtk.CellRenderer" c:type="GtkCellRenderer"/>
3124           </parameter>
3125           <parameter name="p0" transfer-ownership="none">
3126             <type name="Gtk.TextIter" c:type="GtkTextIter"/>
3127           </parameter>
3128           <parameter name="p1" transfer-ownership="none">
3129             <type name="Gtk.Tooltip" c:type="GtkTooltip"/>
3130           </parameter>
3131         </parameters>
3132       </glib:signal>
3133     </class>
3134     <record name="GutterClass"
3135             c:type="GtkSourceGutterClass"
3136             glib:is-gtype-struct-for="Gutter">
3137       <field name="parent_class">
3138         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
3139       </field>
3140       <field name="cell_activated">
3141         <callback name="cell_activated" c:type="cell_activated">
3142           <return-value transfer-ownership="none">
3143             <type name="none" c:type="void"/>
3144           </return-value>
3145           <parameters>
3146             <parameter name="gutter" transfer-ownership="none">
3147               <type name="Gutter" c:type="GtkSourceGutter*"/>
3148             </parameter>
3149             <parameter name="renderer" transfer-ownership="none">
3150               <type name="Gtk.CellRenderer" c:type="GtkCellRenderer*"/>
3151             </parameter>
3152             <parameter name="iter" transfer-ownership="none">
3153               <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
3154             </parameter>
3155             <parameter name="event" transfer-ownership="none">
3156               <type name="Gdk.Event" c:type="GdkEvent*"/>
3157             </parameter>
3158           </parameters>
3159         </callback>
3160       </field>
3161       <field name="query_tooltip">
3162         <callback name="query_tooltip" c:type="query_tooltip">
3163           <return-value transfer-ownership="none">
3164             <type name="boolean" c:type="gboolean"/>
3165           </return-value>
3166           <parameters>
3167             <parameter name="gutter" transfer-ownership="none">
3168               <type name="Gutter" c:type="GtkSourceGutter*"/>
3169             </parameter>
3170             <parameter name="renderer" transfer-ownership="none">
3171               <type name="Gtk.CellRenderer" c:type="GtkCellRenderer*"/>
3172             </parameter>
3173             <parameter name="iter" transfer-ownership="none">
3174               <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
3175             </parameter>
3176             <parameter name="tooltip" transfer-ownership="none">
3177               <type name="Gtk.Tooltip" c:type="GtkTooltip*"/>
3178             </parameter>
3179           </parameters>
3180         </callback>
3181       </field>
3182     </record>
3183     <callback name="GutterDataFunc" c:type="GtkSourceGutterDataFunc">
3184       <return-value transfer-ownership="none">
3185         <type name="none" c:type="void"/>
3186       </return-value>
3187       <parameters>
3188         <parameter name="gutter" transfer-ownership="none">
3189           <type name="Gutter" c:type="GtkSourceGutter*"/>
3190         </parameter>
3191         <parameter name="cell" transfer-ownership="none">
3192           <type name="Gtk.CellRenderer" c:type="GtkCellRenderer*"/>
3193         </parameter>
3194         <parameter name="line_number" transfer-ownership="none">
3195           <type name="int" c:type="gint"/>
3196         </parameter>
3197         <parameter name="current_line" transfer-ownership="none">
3198           <type name="boolean" c:type="gboolean"/>
3199         </parameter>
3200         <parameter name="data" transfer-ownership="none">
3201           <type name="any" c:type="gpointer"/>
3202         </parameter>
3203       </parameters>
3204     </callback>
3205     <record name="GutterPrivate" c:type="GtkSourceGutterPrivate">
3206     </record>
3207     <callback name="GutterSizeFunc" c:type="GtkSourceGutterSizeFunc">
3208       <return-value transfer-ownership="none">
3209         <type name="none" c:type="void"/>
3210       </return-value>
3211       <parameters>
3212         <parameter name="gutter" transfer-ownership="none">
3213           <type name="Gutter" c:type="GtkSourceGutter*"/>
3214         </parameter>
3215         <parameter name="cell" transfer-ownership="none">
3216           <type name="Gtk.CellRenderer" c:type="GtkCellRenderer*"/>
3217         </parameter>
3218         <parameter name="data" transfer-ownership="none">
3219           <type name="any" c:type="gpointer"/>
3220         </parameter>
3221       </parameters>
3222     </callback>
3223     <constant name="LANGUAGE_VERSION_1_0" value="100">
3224       <type name="int"/>
3225     </constant>
3226     <constant name="LANGUAGE_VERSION_2_0" value="200">
3227       <type name="int"/>
3228     </constant>
3229     <class name="Language"
3230            c:type="GtkSourceLanguage"
3231            parent="GObject.Object"
3232            glib:type-name="GtkSourceLanguage"
3233            glib:get-type="gtk_source_language_get_type"
3234            glib:type-struct="LanguageClass">
3235       <method name="get_id" c:identifier="gtk_source_language_get_id">
3236         <doc xml:whitespace="preserve">Returns the ID of the language. The ID is not locale-dependent.
3237 The returned string is owned by @language and should not be freed
3238 or modified.</doc>
3239         <return-value transfer-ownership="none">
3240           <doc xml:whitespace="preserve">the ID of @language.</doc>
3241           <type name="utf8" c:type="gchar*"/>
3242         </return-value>
3243       </method>
3244       <method name="get_name" c:identifier="gtk_source_language_get_name">
3245         <doc xml:whitespace="preserve">Returns the localized name of the language.
3246 The returned string is owned by @language and should not be freed
3247 or modified.</doc>
3248         <return-value transfer-ownership="none">
3249           <doc xml:whitespace="preserve">the name of @language.</doc>
3250           <type name="utf8" c:type="gchar*"/>
3251         </return-value>
3252       </method>
3253       <method name="get_section"
3254               c:identifier="gtk_source_language_get_section">
3255         <doc xml:whitespace="preserve">Returns the localized section of the language.
3256 Each language belong to a section (ex. HTML belogs to the
3257 Markup section).
3258 The returned string is owned by @language and should not be freed
3259 or modified.</doc>
3260         <return-value transfer-ownership="none">
3261           <doc xml:whitespace="preserve">the section of @language.</doc>
3262           <type name="utf8" c:type="gchar*"/>
3263         </return-value>
3264       </method>
3265       <method name="get_hidden" c:identifier="gtk_source_language_get_hidden">
3266         <doc xml:whitespace="preserve">Returns whether the language should be hidden from the user.</doc>
3267         <return-value transfer-ownership="none">
3268           <doc xml:whitespace="preserve">TRUE if the language should be hidden, FALSE otherwise.</doc>
3269           <type name="boolean" c:type="gboolean"/>
3270         </return-value>
3271       </method>
3272       <method name="get_metadata"
3273               c:identifier="gtk_source_language_get_metadata">
3274         <doc xml:whitespace="preserve">or %NULL if language doesn't contain that metadata property.
3275 The returned string is owned by @language and should not be freed
3276 or modified.</doc>
3277         <return-value transfer-ownership="none">
3278           <doc xml:whitespace="preserve">value of property @name stored in the metadata of @language</doc>
3279           <type name="utf8" c:type="gchar*"/>
3280         </return-value>
3281         <parameters>
3282           <parameter name="name" transfer-ownership="none">
3283             <doc xml:whitespace="preserve">metadata property name.</doc>
3284             <type name="utf8" c:type="gchar*"/>
3285           </parameter>
3286         </parameters>
3287       </method>
3288       <method name="get_mime_types"
3289               c:identifier="gtk_source_language_get_mime_types">
3290         <doc xml:whitespace="preserve">Returns the mime types associated to this language. This is just
3291 an utility wrapper around gtk_source_language_get_metadata() to
3292 retrieve the "mimetypes" metadata property and split it into an
3293 array.
3294 the mime types or %NULL if no mime types are found.
3295 The returned array must be freed with g_strfreev().</doc>
3296         <return-value transfer-ownership="full">
3297           <doc xml:whitespace="preserve">a newly-allocated %NULL terminated array containing</doc>
3298           <array c:type="gchar**">
3299             <type name="utf8"/>
3300           </array>
3301         </return-value>
3302       </method>
3303       <method name="get_globs" c:identifier="gtk_source_language_get_globs">
3304         <doc xml:whitespace="preserve">Returns the globs associated to this language. This is just
3305 an utility wrapper around gtk_source_language_get_metadata() to
3306 retrieve the "globs" metadata property and split it into an array.
3307 the globs or %NULL if no globs are found.
3308 The returned array must be freed with g_strfreev().</doc>
3309         <return-value transfer-ownership="full">
3310           <doc xml:whitespace="preserve">a newly-allocated %NULL terminated array containing</doc>
3311           <array c:type="gchar**">
3312             <type name="utf8"/>
3313           </array>
3314         </return-value>
3315       </method>
3316       <method name="get_style_ids"
3317               c:identifier="gtk_source_language_get_style_ids">
3318         <doc xml:whitespace="preserve">Returns the ids of the styles defined by this @language.
3319 ids of the styles defined by this @language or %NULL if no style is
3320 defined.  The returned array must be freed with g_strfreev().</doc>
3321         <return-value transfer-ownership="full">
3322           <doc xml:whitespace="preserve">a  %NULL terminated array containing</doc>
3323           <array c:type="gchar**">
3324             <type name="utf8"/>
3325           </array>
3326         </return-value>
3327       </method>
3328       <method name="get_style_name"
3329               c:identifier="gtk_source_language_get_style_name">
3330         <doc xml:whitespace="preserve">Returns the name of the style with ID @style_id defined by this @language.
3331 %NULL if the style has no name or there is no style with ID @style_id defined
3332 by this @language. The returned string is owned by the @language and must
3333 not be modified.</doc>
3334         <return-value transfer-ownership="none">
3335           <doc xml:whitespace="preserve">the name of the style with ID @style_id defined by this @language or</doc>
3336           <type name="utf8" c:type="gchar*"/>
3337         </return-value>
3338         <parameters>
3339           <parameter name="style_id" transfer-ownership="none">
3340             <doc xml:whitespace="preserve">a style ID</doc>
3341             <type name="utf8" c:type="gchar*"/>
3342           </parameter>
3343         </parameters>
3344       </method>
3345       <property name="hidden" transfer-ownership="none">
3346         <type name="boolean" c:type="gboolean"/>
3347       </property>
3348       <property name="id" transfer-ownership="none">
3349         <type name="utf8" c:type="gchararray"/>
3350       </property>
3351       <property name="name" transfer-ownership="none">
3352         <type name="utf8" c:type="gchararray"/>
3353       </property>
3354       <property name="section" transfer-ownership="none">
3355         <type name="utf8" c:type="gchararray"/>
3356       </property>
3357       <field name="parent_instance">
3358         <type name="GObject.Object" c:type="GObject"/>
3359       </field>
3360       <field name="priv">
3361         <type name="LanguagePrivate" c:type="GtkSourceLanguagePrivate*"/>
3362       </field>
3363     </class>
3364     <record name="LanguageClass"
3365             c:type="GtkSourceLanguageClass"
3366             glib:is-gtype-struct-for="Language">
3367       <field name="parent_class">
3368         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
3369       </field>
3370       <field name="gtk_source_reserved1">
3371         <callback name="gtk_source_reserved1" c:type="_gtk_source_reserved1">
3372           <return-value transfer-ownership="none">
3373             <type name="none" c:type="void"/>
3374           </return-value>
3375         </callback>
3376       </field>
3377       <field name="gtk_source_reserved2">
3378         <callback name="gtk_source_reserved2" c:type="_gtk_source_reserved2">
3379           <return-value transfer-ownership="none">
3380             <type name="none" c:type="void"/>
3381           </return-value>
3382         </callback>
3383       </field>
3384     </record>
3385     <class name="LanguageManager"
3386            c:type="GtkSourceLanguageManager"
3387            parent="GObject.Object"
3388            glib:type-name="GtkSourceLanguageManager"
3389            glib:get-type="gtk_source_language_manager_get_type"
3390            glib:type-struct="LanguageManagerClass">
3391       <constructor name="new" c:identifier="gtk_source_language_manager_new">
3392         <doc xml:whitespace="preserve">Creates a new language manager. If you do not need more than one language
3393 manager or a private language manager instance then use
3394 gtk_source_language_manager_get_default() instead.</doc>
3395         <return-value transfer-ownership="full">
3396           <doc xml:whitespace="preserve">a #GtkSourceLanguageManager.</doc>
3397           <type name="LanguageManager" c:type="GtkSourceLanguageManager*"/>
3398         </return-value>
3399       </constructor>
3400       <function name="get_default"
3401                 c:identifier="gtk_source_language_manager_get_default">
3402         <doc xml:whitespace="preserve">Returns the default #GtkSourceLanguageManager instance.
3403 by GtkSourceView library and must not be unref'ed.</doc>
3404         <return-value transfer-ownership="full">
3405           <doc xml:whitespace="preserve">a #GtkSourceLanguageManager. Return value is owned</doc>
3406           <type name="LanguageManager" c:type="GtkSourceLanguageManager*"/>
3407         </return-value>
3408       </function>
3409       <method name="get_search_path"
3410               c:identifier="gtk_source_language_manager_get_search_path">
3411         <doc xml:whitespace="preserve">Gets the list directories where @lm looks for language files.
3412 The array is owned by @lm and must not be modified.</doc>
3413         <return-value transfer-ownership="full">
3414           <doc xml:whitespace="preserve">%NULL-terminated array containg a list of language files directories.</doc>
3415           <array c:type="gchar**">
3416             <type name="utf8"/>
3417           </array>
3418         </return-value>
3419       </method>
3420       <method name="set_search_path"
3421               c:identifier="gtk_source_language_manager_set_search_path">
3422         <doc xml:whitespace="preserve">Sets the list of directories where the @lm looks for
3423 language files.
3424 If @dirs is %NULL, the search path is reset to default.
3425 &lt;note&gt;
3426 &lt;para&gt;
3427 At the moment this function can be called only before the
3428 language files are loaded for the first time. In practice
3429 to set a custom search path for a #GtkSourceLanguageManager,
3430 you have to call this function right after creating it.
3431 &lt;/para&gt;
3432 &lt;/note&gt;</doc>
3433         <return-value transfer-ownership="none">
3434           <type name="none" c:type="void"/>
3435         </return-value>
3436         <parameters>
3437           <parameter name="dirs" transfer-ownership="none">
3438             <doc xml:whitespace="preserve">a %NULL-terminated array of strings or %NULL.</doc>
3439             <array c:type="gchar**">
3440               <type name="utf8"/>
3441             </array>
3442           </parameter>
3443         </parameters>
3444       </method>
3445       <method name="get_language_ids"
3446               c:identifier="gtk_source_language_manager_get_language_ids">
3447         <doc xml:whitespace="preserve">Returns the ids of the available languages.
3448 available languages or %NULL if no language is available. The array
3449 is owned by @lm and must not be modified.</doc>
3450         <return-value transfer-ownership="full">
3451           <doc xml:whitespace="preserve">a %NULL-terminated array of string containing the ids of the</doc>
3452           <array c:type="gchar**">
3453             <type name="utf8"/>
3454           </array>
3455         </return-value>
3456       </method>
3457       <method name="get_language"
3458               c:identifier="gtk_source_language_manager_get_language">
3459         <doc xml:whitespace="preserve">Gets the #GtkSourceLanguage identified by the given @id in the language
3460 manager.
3461 identified by the given @id. Return value is owned by @lm and should not
3462 be freed.</doc>
3463         <return-value transfer-ownership="full">
3464           <doc xml:whitespace="preserve">a #GtkSourceLanguage, or %NULL if there is no language</doc>
3465           <type name="Language" c:type="GtkSourceLanguage*"/>
3466         </return-value>
3467         <parameters>
3468           <parameter name="id" transfer-ownership="none">
3469             <doc xml:whitespace="preserve">a language id.</doc>
3470             <type name="utf8" c:type="gchar*"/>
3471           </parameter>
3472         </parameters>
3473       </method>
3474       <method name="guess_language"
3475               c:identifier="gtk_source_language_manager_guess_language"
3476               version="2.4">
3477         <doc xml:whitespace="preserve">Picks a #GtkSourceLanguage for given file name and content type,
3478 according to the information in lang files. Either @filename or
3479 &lt;informalexample&gt;&lt;programlisting&gt;
3480 GtkSourceLanguage *lang;
3481 lang = gtk_source_language_manager_guess_language (filename, NULL);
3482 gtk_source_buffer_set_language (buffer, lang);
3483 &lt;/programlisting&gt;&lt;/informalexample&gt;
3484 or
3485 &lt;informalexample&gt;&lt;programlisting&gt;
3486 GtkSourceLanguage *lang = NULL;
3487 gboolean result_uncertain;
3488 gchar *content_type;
3489 content_type = g_content_type_guess (filename, NULL, 0, &amp;result_uncertain);
3490 if (result_uncertain)
3491 {
3492 g_free (content_type);
3493 content_type = NULL;
3494 }
3495 lang = gtk_source_language_manager_guess_language (manager, filename, content_type);
3496 gtk_source_buffer_set_language (buffer, lang);
3497 g_free (content_type);
3498 &lt;/programlisting&gt;&lt;/informalexample&gt;
3499 etc. Use gtk_source_language_get_mime_types() and gtk_source_language_get_globs()
3500 if you need full control over file -&gt; language mapping.
3501 for given @filename and/or @content_type. Return value is owned by @lm
3502 and should not be freed.</doc>
3503         <return-value transfer-ownership="full">
3504           <doc xml:whitespace="preserve">a #GtkSourceLanguage, or %NULL if there is no suitable language</doc>
3505           <type name="Language" c:type="GtkSourceLanguage*"/>
3506         </return-value>
3507         <parameters>
3508           <parameter name="filename" transfer-ownership="none">
3509             <doc xml:whitespace="preserve">a filename in Glib filename encoding, or %NULL.</doc>
3510             <type name="utf8" c:type="gchar*"/>
3511           </parameter>
3512           <parameter name="content_type" transfer-ownership="none">
3513             <doc xml:whitespace="preserve">a content type (as in GIO API), or %NULL.</doc>
3514             <type name="utf8" c:type="gchar*"/>
3515           </parameter>
3516         </parameters>
3517       </method>
3518       <property name="language-ids" transfer-ownership="none">
3519         <type name="GObject.Strv" c:type="GStrv"/>
3520       </property>
3521       <property name="search-path" writable="1" transfer-ownership="none">
3522         <type name="GObject.Strv" c:type="GStrv"/>
3523       </property>
3524       <field name="parent_instance">
3525         <type name="GObject.Object" c:type="GObject"/>
3526       </field>
3527       <field name="priv">
3528         <type name="LanguageManagerPrivate"
3529               c:type="GtkSourceLanguageManagerPrivate*"/>
3530       </field>
3531     </class>
3532     <record name="LanguageManagerClass"
3533             c:type="GtkSourceLanguageManagerClass"
3534             glib:is-gtype-struct-for="LanguageManager">
3535       <field name="parent_class">
3536         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
3537       </field>
3538       <field name="gtk_source_reserved1">
3539         <callback name="gtk_source_reserved1" c:type="_gtk_source_reserved1">
3540           <return-value transfer-ownership="none">
3541             <type name="none" c:type="void"/>
3542           </return-value>
3543         </callback>
3544       </field>
3545       <field name="gtk_source_reserved2">
3546         <callback name="gtk_source_reserved2" c:type="_gtk_source_reserved2">
3547           <return-value transfer-ownership="none">
3548             <type name="none" c:type="void"/>
3549           </return-value>
3550         </callback>
3551       </field>
3552       <field name="gtk_source_reserved3">
3553         <callback name="gtk_source_reserved3" c:type="_gtk_source_reserved3">
3554           <return-value transfer-ownership="none">
3555             <type name="none" c:type="void"/>
3556           </return-value>
3557         </callback>
3558       </field>
3559       <field name="gtk_source_reserved4">
3560         <callback name="gtk_source_reserved4" c:type="_gtk_source_reserved4">
3561           <return-value transfer-ownership="none">
3562             <type name="none" c:type="void"/>
3563           </return-value>
3564         </callback>
3565       </field>
3566     </record>
3567     <record name="LanguageManagerPrivate"
3568             c:type="GtkSourceLanguageManagerPrivate">
3569     </record>
3570     <record name="LanguagePrivate" c:type="GtkSourceLanguagePrivate">
3571       <field name="lang_file_name" writable="1">
3572         <type name="utf8" c:type="gchar*"/>
3573       </field>
3574       <field name="translation_domain" writable="1">
3575         <type name="utf8" c:type="gchar*"/>
3576       </field>
3577       <field name="id" writable="1">
3578         <type name="utf8" c:type="gchar*"/>
3579       </field>
3580       <field name="name" writable="1">
3581         <type name="utf8" c:type="gchar*"/>
3582       </field>
3583       <field name="section" writable="1">
3584         <type name="utf8" c:type="gchar*"/>
3585       </field>
3586       <field name="styles" writable="1">
3587         <type name="GLib.HashTable" c:type="GHashTable*"/>
3588       </field>
3589       <field name="styles_loaded" writable="1">
3590         <type name="boolean" c:type="gboolean"/>
3591       </field>
3592       <field name="version" writable="1">
3593         <type name="int" c:type="gint"/>
3594       </field>
3595       <field name="hidden" writable="1">
3596         <type name="boolean" c:type="gboolean"/>
3597       </field>
3598       <field name="properties" writable="1">
3599         <type name="GLib.HashTable" c:type="GHashTable*"/>
3600       </field>
3601       <field name="language_manager" writable="1">
3602         <type name="LanguageManager" c:type="GtkSourceLanguageManager*"/>
3603       </field>
3604       <field name="ctx_data" writable="1">
3605         <type name="ContextData" c:type="GtkSourceContextData*"/>
3606       </field>
3607     </record>
3608     <class name="Mark"
3609            c:type="GtkSourceMark"
3610            parent="Gtk.TextMark"
3611            glib:type-name="GtkSourceMark"
3612            glib:get-type="gtk_source_mark_get_type"
3613            glib:type-struct="MarkClass">
3614       <constructor name="new" c:identifier="gtk_source_mark_new" version="2.2">
3615         <doc xml:whitespace="preserve">Creates a text mark. Add it to a buffer using gtk_text_buffer_add_mark(). 
3616 If name is NULL, the mark is anonymous; otherwise, the mark can be retrieved
3617 by name using gtk_text_buffer_get_mark().
3618 Normally marks are created using the utility function 
3619 gtk_source_buffer_create_mark().</doc>
3620         <return-value transfer-ownership="full">
3621           <doc xml:whitespace="preserve">a new #GtkSourceMark that can be added using gtk_text_buffer_add_mark()</doc>
3622           <type name="Mark" c:type="GtkSourceMark*"/>
3623         </return-value>
3624         <parameters>
3625           <parameter name="name" transfer-ownership="none">
3626             <doc xml:whitespace="preserve">Name of the #GtkSourceMark, can be NULL when not using a name</doc>
3627             <type name="utf8" c:type="gchar*"/>
3628           </parameter>
3629           <parameter name="category" transfer-ownership="none">
3630             <doc xml:whitespace="preserve">is used to classify marks according to common characteristics (e.g. all the marks representing a bookmark could belong to the "bookmark" category, or all the marks representing a compilation error could belong to "error" category).</doc>
3631             <type name="utf8" c:type="gchar*"/>
3632           </parameter>
3633         </parameters>
3634       </constructor>
3635       <method name="get_category"
3636               c:identifier="gtk_source_mark_get_category"
3637               version="2.2">
3638         <doc xml:whitespace="preserve">Returns the mark category</doc>
3639         <return-value transfer-ownership="none">
3640           <doc xml:whitespace="preserve">the category of the #GtkSourceMark</doc>
3641           <type name="utf8" c:type="gchar*"/>
3642         </return-value>
3643       </method>
3644       <method name="next" c:identifier="gtk_source_mark_next" version="2.2">
3645         <doc xml:whitespace="preserve">Returns the next #GtkSourceMark in the buffer or %NULL if the mark
3646 was not added to a buffer. If there is no next mark, %NULL will be returned.
3647 If @category is %NULL, looks for marks of any category</doc>
3648         <return-value transfer-ownership="full">
3649           <doc xml:whitespace="preserve">the next #GtkSourceMark or %NULL</doc>
3650           <type name="Mark" c:type="GtkSourceMark*"/>
3651         </return-value>
3652         <parameters>
3653           <parameter name="category" transfer-ownership="none">
3654             <doc xml:whitespace="preserve">a string specifying the mark category or %NULL</doc>
3655             <type name="utf8" c:type="gchar*"/>
3656           </parameter>
3657         </parameters>
3658       </method>
3659       <method name="prev" c:identifier="gtk_source_mark_prev" version="2.2">
3660         <doc xml:whitespace="preserve">Returns the previous #GtkSourceMark in the buffer or %NULL if the mark
3661 was not added to a buffer. If there is no previous mark, %NULL is returned.
3662 If @category is %NULL, looks for marks of any category</doc>
3663         <return-value transfer-ownership="full">
3664           <doc xml:whitespace="preserve">the previous #GtkSourceMark or %NULL</doc>
3665           <type name="Mark" c:type="GtkSourceMark*"/>
3666         </return-value>
3667         <parameters>
3668           <parameter name="category" transfer-ownership="none">
3669             <doc xml:whitespace="preserve">a string specifying the mark category or %NULL</doc>
3670             <type name="utf8" c:type="gchar*"/>
3671           </parameter>
3672         </parameters>
3673       </method>
3674       <property name="category"
3675                 writable="1"
3676                 construct-only="1"
3677                 transfer-ownership="none">
3678         <type name="utf8" c:type="gchararray"/>
3679       </property>
3680       <field name="parent_instance">
3681         <type name="Gtk.TextMark" c:type="GtkTextMark"/>
3682       </field>
3683       <field name="priv">
3684         <type name="MarkPrivate" c:type="GtkSourceMarkPrivate*"/>
3685       </field>
3686     </class>
3687     <record name="MarkClass"
3688             c:type="GtkSourceMarkClass"
3689             glib:is-gtype-struct-for="Mark">
3690       <field name="parent_class">
3691         <type name="Gtk.TextMarkClass" c:type="GtkTextMarkClass"/>
3692       </field>
3693       <field name="gtk_source_reserved1">
3694         <callback name="gtk_source_reserved1" c:type="_gtk_source_reserved1">
3695           <return-value transfer-ownership="none">
3696             <type name="none" c:type="void"/>
3697           </return-value>
3698         </callback>
3699       </field>
3700       <field name="gtk_source_reserved2">
3701         <callback name="gtk_source_reserved2" c:type="_gtk_source_reserved2">
3702           <return-value transfer-ownership="none">
3703             <type name="none" c:type="void"/>
3704           </return-value>
3705         </callback>
3706       </field>
3707     </record>
3708     <record name="MarkPrivate" c:type="GtkSourceMarkPrivate">
3709     </record>
3710     <class name="PrintCompositor"
3711            c:type="GtkSourcePrintCompositor"
3712            parent="GObject.Object"
3713            glib:type-name="GtkSourcePrintCompositor"
3714            glib:get-type="gtk_source_print_compositor_get_type"
3715            glib:type-struct="PrintCompositorClass">
3716       <constructor name="new"
3717                    c:identifier="gtk_source_print_compositor_new"
3718                    version="2.2">
3719         <doc xml:whitespace="preserve">Creates a new print compositor that can be used to print @buffer.</doc>
3720         <return-value transfer-ownership="full">
3721           <doc xml:whitespace="preserve">a new print compositor object.</doc>
3722           <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
3723         </return-value>
3724         <parameters>
3725           <parameter name="buffer" transfer-ownership="none">
3726             <doc xml:whitespace="preserve">the #GtkSourceBuffer to print</doc>
3727             <type name="Buffer" c:type="GtkSourceBuffer*"/>
3728           </parameter>
3729         </parameters>
3730       </constructor>
3731       <constructor name="new_from_view"
3732                    c:identifier="gtk_source_print_compositor_new_from_view"
3733                    version="2.2">
3734         <doc xml:whitespace="preserve">Creates a new print compositor that can be used to print the buffer
3735 associated with @view.
3736 This constructor sets some configuration properties to make the 
3737 printed output match @view as much as possible.  The properties set are
3738 #GtkSourcePrintCompositor:tab-width, #GtkSourcePrintCompositor:highlight-syntax, 
3739 #GtkSourcePrintCompositor:wrap-mode, #GtkSourcePrintCompositor:body-font-name and
3740 #GtkSourcePrintCompositor:print-line-numbers.</doc>
3741         <return-value transfer-ownership="full">
3742           <doc xml:whitespace="preserve">a new print compositor object.</doc>
3743           <type name="PrintCompositor" c:type="GtkSourcePrintCompositor*"/>
3744         </return-value>
3745         <parameters>
3746           <parameter name="view" transfer-ownership="none">
3747             <doc xml:whitespace="preserve">a #GtkSourceView to get configuration from.</doc>
3748             <type name="View" c:type="GtkSourceView*"/>
3749           </parameter>
3750         </parameters>
3751       </constructor>
3752       <method name="get_buffer"
3753               c:identifier="gtk_source_print_compositor_get_buffer"
3754               version="2.2">
3755         <doc xml:whitespace="preserve">Gets the #GtkSourceBuffer associated with the compositor. The returned
3756 object reference is owned by the compositor object and
3757 should not be unreferenced.</doc>
3758         <return-value transfer-ownership="full">
3759           <doc xml:whitespace="preserve">the #GtkSourceBuffer associated with the compositor.</doc>
3760           <type name="Buffer" c:type="GtkSourceBuffer*"/>
3761         </return-value>
3762       </method>
3763       <method name="set_tab_width"
3764               c:identifier="gtk_source_print_compositor_set_tab_width"
3765               version="2.2">
3766         <doc xml:whitespace="preserve">Sets the width of tabulation in characters for printed text. 
3767 This function cannot be called anymore after the first call to the 
3768 gtk_source_print_compositor_paginate() function.</doc>
3769         <return-value transfer-ownership="none">
3770           <type name="none" c:type="void"/>
3771         </return-value>
3772         <parameters>
3773           <parameter name="width" transfer-ownership="none">
3774             <doc xml:whitespace="preserve">width of tab in characters.</doc>
3775             <type name="uint" c:type="guint"/>
3776           </parameter>
3777         </parameters>
3778       </method>
3779       <method name="get_tab_width"
3780               c:identifier="gtk_source_print_compositor_get_tab_width"
3781               version="2.2">
3782         <doc xml:whitespace="preserve">Returns the width of tabulation in characters for printed text.</doc>
3783         <return-value transfer-ownership="none">
3784           <doc xml:whitespace="preserve">width of tab.</doc>
3785           <type name="uint" c:type="guint"/>
3786         </return-value>
3787       </method>
3788       <method name="set_wrap_mode"
3789               c:identifier="gtk_source_print_compositor_set_wrap_mode"
3790               version="2.2">
3791         <doc xml:whitespace="preserve">Sets the line wrapping mode for the printed text.
3792 This function cannot be called anymore after the first call to the 
3793 gtk_source_print_compositor_paginate() function.</doc>
3794         <return-value transfer-ownership="none">
3795           <type name="none" c:type="void"/>
3796         </return-value>
3797         <parameters>
3798           <parameter name="wrap_mode" transfer-ownership="none">
3799             <doc xml:whitespace="preserve">a #GtkWrapMode.</doc>
3800             <type name="Gtk.WrapMode" c:type="GtkWrapMode"/>
3801           </parameter>
3802         </parameters>
3803       </method>
3804       <method name="get_wrap_mode"
3805               c:identifier="gtk_source_print_compositor_get_wrap_mode"
3806               version="2.2">
3807         <doc xml:whitespace="preserve">Gets the line wrapping mode for the printed text.</doc>
3808         <return-value transfer-ownership="full">
3809           <doc xml:whitespace="preserve">the line wrap mode.</doc>
3810           <type name="Gtk.WrapMode" c:type="GtkWrapMode"/>
3811         </return-value>
3812       </method>
3813       <method name="set_highlight_syntax"
3814               c:identifier="gtk_source_print_compositor_set_highlight_syntax"
3815               version="2.2">
3816         <doc xml:whitespace="preserve">Sets whether the printed text will be highlighted according to the
3817 buffer rules.  Both color and font style are applied.
3818 This function cannot be called anymore after the first call to the 
3819 gtk_source_print_compositor_paginate() function.</doc>
3820         <return-value transfer-ownership="none">
3821           <type name="none" c:type="void"/>
3822         </return-value>
3823         <parameters>
3824           <parameter name="highlight" transfer-ownership="none">
3825             <doc xml:whitespace="preserve">whether syntax should be highlighted.</doc>
3826             <type name="boolean" c:type="gboolean"/>
3827           </parameter>
3828         </parameters>
3829       </method>
3830       <method name="get_highlight_syntax"
3831               c:identifier="gtk_source_print_compositor_get_highlight_syntax"
3832               version="2.2">
3833         <doc xml:whitespace="preserve">Determines whether the printed text will be highlighted according to the
3834 buffer rules.  Note that highlighting will happen
3835 only if the buffer to print has highlighting activated.</doc>
3836         <return-value transfer-ownership="none">
3837           <doc xml:whitespace="preserve">%TRUE if the printed output will be highlighted.</doc>
3838           <type name="boolean" c:type="gboolean"/>
3839         </return-value>
3840       </method>
3841       <method name="set_print_line_numbers"
3842               c:identifier="gtk_source_print_compositor_set_print_line_numbers"
3843               version="2.2">
3844         <doc xml:whitespace="preserve">Sets the interval for printed line numbers.  If @interval is 0 no
3845 numbers will be printed.  If greater than 0, a number will be
3846 printed every @interval lines (i.e. 1 will print all line numbers).
3847 Maximum accepted value for @interval is 100.
3848 This function cannot be called anymore after the first call to the 
3849 gtk_source_print_compositor_paginate() function.</doc>
3850         <return-value transfer-ownership="none">
3851           <type name="none" c:type="void"/>
3852         </return-value>
3853         <parameters>
3854           <parameter name="interval" transfer-ownership="none">
3855             <doc xml:whitespace="preserve">interval for printed line numbers.</doc>
3856             <type name="uint" c:type="guint"/>
3857           </parameter>
3858         </parameters>
3859       </method>
3860       <method name="get_print_line_numbers"
3861               c:identifier="gtk_source_print_compositor_get_print_line_numbers"
3862               version="2.2">
3863         <doc xml:whitespace="preserve">Returns the interval used for line number printing.  If the
3864 value is 0, no line numbers will be printed.  The default value is
3865 1 (i.e. numbers printed in all lines).</doc>
3866         <return-value transfer-ownership="none">
3867           <doc xml:whitespace="preserve">the interval of printed line numbers.</doc>
3868           <type name="uint" c:type="guint"/>
3869         </return-value>
3870       </method>
3871       <method name="set_body_font_name"
3872               c:identifier="gtk_source_print_compositor_set_body_font_name"
3873               version="2.2">
3874         <doc xml:whitespace="preserve">Sets the default font for the printed text. 
3875 string representation of a font description Pango can understand.
3876 (e.g. &amp;quot;Monospace 10&amp;quot;). See pango_font_description_from_string()
3877 for a description of the format of the string representation. 
3878 This function cannot be called anymore after the first call to the 
3879 gtk_source_print_compositor_paginate() function.</doc>
3880         <return-value transfer-ownership="none">
3881           <type name="none" c:type="void"/>
3882         </return-value>
3883         <parameters>
3884           <parameter name="font_name" transfer-ownership="none">
3885             <doc xml:whitespace="preserve">the name of the default font for the body text.</doc>
3886             <type name="utf8" c:type="gchar*"/>
3887           </parameter>
3888         </parameters>
3889       </method>
3890       <method name="get_body_font_name"
3891               c:identifier="gtk_source_print_compositor_get_body_font_name"
3892               version="2.2">
3893         <doc xml:whitespace="preserve">Returns the name of the font used to print the text body. The returned string
3894 must be freed with g_free().
3895 text body.</doc>
3896         <return-value transfer-ownership="full">
3897           <doc xml:whitespace="preserve">a new string containing the name of the font used to print the</doc>
3898           <type name="utf8" c:type="gchar*"/>
3899         </return-value>
3900       </method>
3901       <method name="set_line_numbers_font_name"
3902               c:identifier="gtk_source_print_compositor_set_line_numbers_font_name"
3903               version="2.2">
3904         <doc xml:whitespace="preserve">Sets the font for printing line numbers on the left margin.  If
3905 %NULL is supplied, the default font (i.e. the one being used for the
3906 text) will be used instead.  
3907 string representation of a font description Pango can understand.
3908 (e.g. &amp;quot;Monospace 10&amp;quot;). See pango_font_description_from_string()
3909 for a description of the format of the string representation. 
3910 This function cannot be called anymore after the first call to the 
3911 gtk_source_print_compositor_paginate() function.</doc>
3912         <return-value transfer-ownership="none">
3913           <type name="none" c:type="void"/>
3914         </return-value>
3915         <parameters>
3916           <parameter name="font_name" transfer-ownership="none">
3917             <doc xml:whitespace="preserve">the name of the font for line numbers, or %NULL.</doc>
3918             <type name="utf8" c:type="gchar*"/>
3919           </parameter>
3920         </parameters>
3921       </method>
3922       <method name="get_line_numbers_font_name"
3923               c:identifier="gtk_source_print_compositor_get_line_numbers_font_name"
3924               version="2.2">
3925         <doc xml:whitespace="preserve">Returns the name of the font used to print line numbers on the left margin. 
3926 The returned string must be freed with g_free())
3927 line numbers on the left margin.</doc>
3928         <return-value transfer-ownership="full">
3929           <doc xml:whitespace="preserve">a new string containing the name of the font used to print</doc>
3930           <type name="utf8" c:type="gchar*"/>
3931         </return-value>
3932       </method>
3933       <method name="set_header_font_name"
3934               c:identifier="gtk_source_print_compositor_set_header_font_name"
3935               version="2.2">
3936         <doc xml:whitespace="preserve">Sets the font for printing the page header. If
3937 %NULL is supplied, the default font (i.e. the one being used for the
3938 text) will be used instead.  
3939 string representation of a font description Pango can understand.
3940 (e.g. &amp;quot;Monospace 10&amp;quot;). See pango_font_description_from_string()
3941 for a description of the format of the string representation. 
3942 This function cannot be called anymore after the first call to the 
3943 gtk_source_print_compositor_paginate() function.</doc>
3944         <return-value transfer-ownership="none">
3945           <type name="none" c:type="void"/>
3946         </return-value>
3947         <parameters>
3948           <parameter name="font_name" transfer-ownership="none">
3949             <doc xml:whitespace="preserve">the name of the font for header text, or %NULL.</doc>
3950             <type name="utf8" c:type="gchar*"/>
3951           </parameter>
3952         </parameters>
3953       </method>
3954       <method name="get_header_font_name"
3955               c:identifier="gtk_source_print_compositor_get_header_font_name"
3956               version="2.2">
3957         <doc xml:whitespace="preserve">Returns the name of the font used to print the page header. 
3958 The returned string must be freed with g_free())
3959 the page header.</doc>
3960         <return-value transfer-ownership="full">
3961           <doc xml:whitespace="preserve">a new string containing the name of the font used to print</doc>
3962           <type name="utf8" c:type="gchar*"/>
3963         </return-value>
3964       </method>
3965       <method name="set_footer_font_name"
3966               c:identifier="gtk_source_print_compositor_set_footer_font_name"
3967               version="2.2">
3968         <doc xml:whitespace="preserve">Sets the font for printing the page footer. If
3969 %NULL is supplied, the default font (i.e. the one being used for the
3970 text) will be used instead.  
3971 string representation of a font description Pango can understand.
3972 (e.g. &amp;quot;Monospace 10&amp;quot;). See pango_font_description_from_string()
3973 for a description of the format of the string representation. 
3974 This function cannot be called anymore after the first call to the 
3975 gtk_source_print_compositor_paginate() function.</doc>
3976         <return-value transfer-ownership="none">
3977           <type name="none" c:type="void"/>
3978         </return-value>
3979         <parameters>
3980           <parameter name="font_name" transfer-ownership="none">
3981             <doc xml:whitespace="preserve">the name of the font for the footer text, or %NULL.</doc>
3982             <type name="utf8" c:type="gchar*"/>
3983           </parameter>
3984         </parameters>
3985       </method>
3986       <method name="get_footer_font_name"
3987               c:identifier="gtk_source_print_compositor_get_footer_font_name"
3988               version="2.2">
3989         <doc xml:whitespace="preserve">Returns the name of the font used to print the page footer. 
3990 The returned string must be freed with g_free())
3991 the page footer.</doc>
3992         <return-value transfer-ownership="full">
3993           <doc xml:whitespace="preserve">a new string containing the name of the font used to print</doc>
3994           <type name="utf8" c:type="gchar*"/>
3995         </return-value>
3996       </method>
3997       <method name="get_top_margin"
3998               c:identifier="gtk_source_print_compositor_get_top_margin"
3999               version="2.2">
4000         <doc xml:whitespace="preserve">Gets the top margin in units of @unit.</doc>
4001         <return-value transfer-ownership="none">
4002           <doc xml:whitespace="preserve">the top margin.</doc>
4003           <type name="double" c:type="gdouble"/>
4004         </return-value>
4005         <parameters>
4006           <parameter name="unit" transfer-ownership="none">
4007             <doc xml:whitespace="preserve">the unit for the return value.</doc>
4008             <type name="Gtk.Unit" c:type="GtkUnit"/>
4009           </parameter>
4010         </parameters>
4011       </method>
4012       <method name="set_top_margin"
4013               c:identifier="gtk_source_print_compositor_set_top_margin"
4014               version="2.2">
4015         <doc xml:whitespace="preserve">Sets the top margin used by @compositor.</doc>
4016         <return-value transfer-ownership="none">
4017           <type name="none" c:type="void"/>
4018         </return-value>
4019         <parameters>
4020           <parameter name="margin" transfer-ownership="none">
4021             <doc xml:whitespace="preserve">the new top margin in units of @unit</doc>
4022             <type name="double" c:type="gdouble"/>
4023           </parameter>
4024           <parameter name="unit" transfer-ownership="none">
4025             <doc xml:whitespace="preserve">the units for @margin</doc>
4026             <type name="Gtk.Unit" c:type="GtkUnit"/>
4027           </parameter>
4028         </parameters>
4029       </method>
4030       <method name="get_bottom_margin"
4031               c:identifier="gtk_source_print_compositor_get_bottom_margin"
4032               version="2.2">
4033         <doc xml:whitespace="preserve">Gets the bottom margin in units of @unit.</doc>
4034         <return-value transfer-ownership="none">
4035           <doc xml:whitespace="preserve">the bottom margin.</doc>
4036           <type name="double" c:type="gdouble"/>
4037         </return-value>
4038         <parameters>
4039           <parameter name="unit" transfer-ownership="none">
4040             <doc xml:whitespace="preserve">the unit for the return value.</doc>
4041             <type name="Gtk.Unit" c:type="GtkUnit"/>
4042           </parameter>
4043         </parameters>
4044       </method>
4045       <method name="set_bottom_margin"
4046               c:identifier="gtk_source_print_compositor_set_bottom_margin"
4047               version="2.2">
4048         <doc xml:whitespace="preserve">Sets the bottom margin used by @compositor.</doc>
4049         <return-value transfer-ownership="none">
4050           <type name="none" c:type="void"/>
4051         </return-value>
4052         <parameters>
4053           <parameter name="margin" transfer-ownership="none">
4054             <doc xml:whitespace="preserve">the new bottom margin in units of @unit</doc>
4055             <type name="double" c:type="gdouble"/>
4056           </parameter>
4057           <parameter name="unit" transfer-ownership="none">
4058             <doc xml:whitespace="preserve">the units for @margin</doc>
4059             <type name="Gtk.Unit" c:type="GtkUnit"/>
4060           </parameter>
4061         </parameters>
4062       </method>
4063       <method name="get_left_margin"
4064               c:identifier="gtk_source_print_compositor_get_left_margin"
4065               version="2.2">
4066         <doc xml:whitespace="preserve">Gets the left margin in units of @unit.</doc>
4067         <return-value transfer-ownership="none">
4068           <doc xml:whitespace="preserve">the left margin</doc>
4069           <type name="double" c:type="gdouble"/>
4070         </return-value>
4071         <parameters>
4072           <parameter name="unit" transfer-ownership="none">
4073             <doc xml:whitespace="preserve">the unit for the return value.</doc>
4074             <type name="Gtk.Unit" c:type="GtkUnit"/>
4075           </parameter>
4076         </parameters>
4077       </method>
4078       <method name="set_left_margin"
4079               c:identifier="gtk_source_print_compositor_set_left_margin"
4080               version="2.2">
4081         <doc xml:whitespace="preserve">Sets the left margin used by @compositor.</doc>
4082         <return-value transfer-ownership="none">
4083           <type name="none" c:type="void"/>
4084         </return-value>
4085         <parameters>
4086           <parameter name="margin" transfer-ownership="none">
4087             <doc xml:whitespace="preserve">the new left margin in units of @unit</doc>
4088             <type name="double" c:type="gdouble"/>
4089           </parameter>
4090           <parameter name="unit" transfer-ownership="none">
4091             <doc xml:whitespace="preserve">the units for @margin</doc>
4092             <type name="Gtk.Unit" c:type="GtkUnit"/>
4093           </parameter>
4094         </parameters>
4095       </method>
4096       <method name="get_right_margin"
4097               c:identifier="gtk_source_print_compositor_get_right_margin"
4098               version="2.2">
4099         <doc xml:whitespace="preserve">Gets the right margin in units of @unit.</doc>
4100         <return-value transfer-ownership="none">
4101           <doc xml:whitespace="preserve">the right margin</doc>
4102           <type name="double" c:type="gdouble"/>
4103         </return-value>
4104         <parameters>
4105           <parameter name="unit" transfer-ownership="none">
4106             <doc xml:whitespace="preserve">the unit for the return value.</doc>
4107             <type name="Gtk.Unit" c:type="GtkUnit"/>
4108           </parameter>
4109         </parameters>
4110       </method>
4111       <method name="set_right_margin"
4112               c:identifier="gtk_source_print_compositor_set_right_margin"
4113               version="2.2">
4114         <doc xml:whitespace="preserve">Sets the right margin used by @compositor.</doc>
4115         <return-value transfer-ownership="none">
4116           <type name="none" c:type="void"/>
4117         </return-value>
4118         <parameters>
4119           <parameter name="margin" transfer-ownership="none">
4120             <doc xml:whitespace="preserve">the new right margin in units of @unit</doc>
4121             <type name="double" c:type="gdouble"/>
4122           </parameter>
4123           <parameter name="unit" transfer-ownership="none">
4124             <doc xml:whitespace="preserve">the units for @margin</doc>
4125             <type name="Gtk.Unit" c:type="GtkUnit"/>
4126           </parameter>
4127         </parameters>
4128       </method>
4129       <method name="set_print_header"
4130               c:identifier="gtk_source_print_compositor_set_print_header"
4131               version="2.2">
4132         <doc xml:whitespace="preserve">Sets whether you want to print a header in each page.  The 
4133 header consists of three pieces of text and an optional line
4134 separator, configurable with
4135 gtk_source_print_compositor_set_header_format().
4136 Note that by default the header format is unspecified, and if it's
4137 empty it will not be printed, regardless of this setting.
4138 This function cannot be called anymore after the first call to the 
4139 gtk_source_print_compositor_paginate() function.</doc>
4140         <return-value transfer-ownership="none">
4141           <type name="none" c:type="void"/>
4142         </return-value>
4143         <parameters>
4144           <parameter name="print" transfer-ownership="none">
4145             <doc xml:whitespace="preserve">%TRUE if you want the header to be printed.</doc>
4146             <type name="boolean" c:type="gboolean"/>
4147           </parameter>
4148         </parameters>
4149       </method>
4150       <method name="get_print_header"
4151               c:identifier="gtk_source_print_compositor_get_print_header"
4152               version="2.2">
4153         <doc xml:whitespace="preserve">Determines if a header is set to be printed for each page.  A
4154 header will be printed if this function returns %TRUE
4155 &lt;emphasis&gt;and&lt;/emphasis&gt; some format strings have been specified
4156 with gtk_source_print_compositor_set_header_format().</doc>
4157         <return-value transfer-ownership="none">
4158           <doc xml:whitespace="preserve">%TRUE if the header is set to be printed.</doc>
4159           <type name="boolean" c:type="gboolean"/>
4160         </return-value>
4161       </method>
4162       <method name="set_print_footer"
4163               c:identifier="gtk_source_print_compositor_set_print_footer"
4164               version="2.2">
4165         <doc xml:whitespace="preserve">Sets whether you want to print a footer in each page.  The 
4166 footer consists of three pieces of text and an optional line
4167 separator, configurable with
4168 gtk_source_print_compositor_set_footer_format().
4169 Note that by default the footer format is unspecified, and if it's
4170 empty it will not be printed, regardless of this setting.
4171 This function cannot be called anymore after the first call to the 
4172 gtk_source_print_compositor_paginate() function.</doc>
4173         <return-value transfer-ownership="none">
4174           <type name="none" c:type="void"/>
4175         </return-value>
4176         <parameters>
4177           <parameter name="print" transfer-ownership="none">
4178             <doc xml:whitespace="preserve">%TRUE if you want the footer to be printed.</doc>
4179             <type name="boolean" c:type="gboolean"/>
4180           </parameter>
4181         </parameters>
4182       </method>
4183       <method name="get_print_footer"
4184               c:identifier="gtk_source_print_compositor_get_print_footer"
4185               version="2.2">
4186         <doc xml:whitespace="preserve">Determines if a footer is set to be printed for each page.  A
4187 footer will be printed if this function returns %TRUE
4188 &lt;emphasis&gt;and&lt;/emphasis&gt; some format strings have been specified
4189 with gtk_source_print_compositor_set_footer_format().</doc>
4190         <return-value transfer-ownership="none">
4191           <doc xml:whitespace="preserve">%TRUE if the footer is set to be printed.</doc>
4192           <type name="boolean" c:type="gboolean"/>
4193         </return-value>
4194       </method>
4195       <method name="set_header_format"
4196               c:identifier="gtk_source_print_compositor_set_header_format"
4197               version="2.2">
4198         <doc xml:whitespace="preserve">Sets strftime like header format strings, to be printed on the
4199 left, center and right of the top of each page.  The strings may
4200 include strftime(3) codes which will be expanded at print time.
4201 All strftime() codes are accepted, with the addition of %N for the
4202 page number and %Q for the page count.
4203 the header from the document text.
4204 If %NULL is given for any of the three arguments, that particular
4205 string will not be printed.
4206 For the header to be printed, in
4207 addition to specifying format strings, you need to enable header
4208 printing with gtk_source_print_compositor_set_print_header().
4209 This function cannot be called anymore after the first call to the 
4210 gtk_source_print_compositor_paginate() function.</doc>
4211         <return-value transfer-ownership="none">
4212           <type name="none" c:type="void"/>
4213         </return-value>
4214         <parameters>
4215           <parameter name="separator" transfer-ownership="none">
4216             <doc xml:whitespace="preserve">%TRUE if you want a separator line to be printed.</doc>
4217             <type name="boolean" c:type="gboolean"/>
4218           </parameter>
4219           <parameter name="left" transfer-ownership="none">
4220             <doc xml:whitespace="preserve">a format string to print on the left of the header.</doc>
4221             <type name="utf8" c:type="gchar*"/>
4222           </parameter>
4223           <parameter name="center" transfer-ownership="none">
4224             <doc xml:whitespace="preserve">a format string to print on the center of the header.</doc>
4225             <type name="utf8" c:type="gchar*"/>
4226           </parameter>
4227           <parameter name="right" transfer-ownership="none">
4228             <doc xml:whitespace="preserve">a format string to print on the right of the header.</doc>
4229             <type name="utf8" c:type="gchar*"/>
4230           </parameter>
4231         </parameters>
4232       </method>
4233       <method name="set_footer_format"
4234               c:identifier="gtk_source_print_compositor_set_footer_format"
4235               version="2.2">
4236         <doc xml:whitespace="preserve">Sets strftime like header format strings, to be printed on the
4237 left, center and right of the bottom of each page. The strings may
4238 include strftime(3) codes which will be expanded at print time.
4239 All strftime() codes are accepted, with the addition of %N for the
4240 page number and %Q for the page count.
4241 the footer from the document text.
4242 If %NULL is given for any of the three arguments, that particular
4243 string will not be printed.
4244 For the footer to be printed, in
4245 addition to specifying format strings, you need to enable footer
4246 printing with gtk_source_print_compositor_set_print_footer().
4247 This function cannot be called anymore after the first call to the 
4248 gtk_source_print_compositor_paginate() function.</doc>
4249         <return-value transfer-ownership="none">
4250           <type name="none" c:type="void"/>
4251         </return-value>
4252         <parameters>
4253           <parameter name="separator" transfer-ownership="none">
4254             <doc xml:whitespace="preserve">%TRUE if you want a separator line to be printed.</doc>
4255             <type name="boolean" c:type="gboolean"/>
4256           </parameter>
4257           <parameter name="left" transfer-ownership="none">
4258             <doc xml:whitespace="preserve">a format string to print on the left of the footer.</doc>
4259             <type name="utf8" c:type="gchar*"/>
4260           </parameter>
4261           <parameter name="center" transfer-ownership="none">
4262             <doc xml:whitespace="preserve">a format string to print on the center of the footer.</doc>
4263             <type name="utf8" c:type="gchar*"/>
4264           </parameter>
4265           <parameter name="right" transfer-ownership="none">
4266             <doc xml:whitespace="preserve">a format string to print on the right of the footer.</doc>
4267             <type name="utf8" c:type="gchar*"/>
4268           </parameter>
4269         </parameters>
4270       </method>
4271       <method name="get_n_pages"
4272               c:identifier="gtk_source_print_compositor_get_n_pages"
4273               version="2.2">
4274         <doc xml:whitespace="preserve">Returns the number of pages in the document or &lt;code&gt;-1&lt;/code&gt; if the 
4275 document has not been completely paginated.
4276 document has not been completely paginated.</doc>
4277         <return-value transfer-ownership="none">
4278           <doc xml:whitespace="preserve">the number of pages in the document or &lt;code&gt;-1&lt;/code&gt; if the</doc>
4279           <type name="int" c:type="gint"/>
4280         </return-value>
4281       </method>
4282       <method name="paginate"
4283               c:identifier="gtk_source_print_compositor_paginate"
4284               version="2.2">
4285         <doc xml:whitespace="preserve">Paginate the document associated with the @compositor.
4286 In order to support non-blocking pagination, document is paginated in small chunks.
4287 Each time gtk_source_print_compositor_paginate() is invoked, a chunk of the document 
4288 is paginated. To paginate the entire document, gtk_source_print_compositor_paginate() 
4289 must be invoked multiple times.
4290 It returns %TRUE if the document has been completely paginated, otherwise it returns %FALSE.
4291 This method has been designed to be invoked in the handler of the #GtkPrintOperation::paginate signal,
4292 as shown in the following example:
4293 &lt;informalexample&gt;&lt;programlisting&gt;
4294 // Signal handler for the GtkPrintOperation::paginate signal
4295 static gboolean
4296 paginate (GtkPrintOperation *operation,
4297 GtkPrintContext   *context,
4298 gpointer           user_data)
4299 {
4300 GtkSourcePrintCompositor *compositor;
4301 compositor = GTK_SOURCE_PRINT_COMPOSITOR (user_data);
4302 if (gtk_source_print_compositor_paginate (compositor, context))
4303 {
4304 gint n_pages;
4305 n_pages = gtk_source_print_compositor_get_n_pages (compositor);
4306 gtk_print_operation_set_n_pages (operation, n_pages);
4307 return TRUE;
4308 }
4309 return FALSE;
4310 }
4311 &lt;/programlisting&gt;&lt;/informalexample&gt;
4312 If you don't need to do pagination in chunks, you can simply do it all in the 
4313 #GtkPrintOperation::begin-print handler, and set the number of pages from there, like
4314 in the following example:
4315 &lt;informalexample&gt;&lt;programlisting&gt;
4316 // Signal handler for the GtkPrintOperation::begin-print signal
4317 static void
4318 begin_print (GtkPrintOperation *operation,
4319 GtkPrintContext   *context,
4320 gpointer           user_data)
4321 {
4322 GtkSourcePrintCompositor *compositor;
4323 gint n_pages;
4324 compositor = GTK_SOURCE_PRINT_COMPOSITOR (user_data);
4325 while (!gtk_source_print_compositor_paginate (compositor, context));
4326 n_pages = gtk_source_print_compositor_get_n_pages (compositor);
4327 gtk_print_operation_set_n_pages (operation, n_pages);
4328 }
4329 &lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
4330         <return-value transfer-ownership="none">
4331           <doc xml:whitespace="preserve">%TRUE if the document has been completely paginated, %FALSE otherwise.</doc>
4332           <type name="boolean" c:type="gboolean"/>
4333         </return-value>
4334         <parameters>
4335           <parameter name="context" transfer-ownership="none">
4336             <doc xml:whitespace="preserve">the #GtkPrintContext whose parameters (e.g. paper size, print margins, etc.) are used by the the @compositor to paginate the document.</doc>
4337             <type name="Gtk.PrintContext" c:type="GtkPrintContext*"/>
4338           </parameter>
4339         </parameters>
4340       </method>
4341       <method name="get_pagination_progress"
4342               c:identifier="gtk_source_print_compositor_get_pagination_progress"
4343               version="2.2">
4344         <doc xml:whitespace="preserve">Returns the current fraction of the document pagination that has been completed.</doc>
4345         <return-value transfer-ownership="none">
4346           <doc xml:whitespace="preserve">a fraction from 0.0 to 1.0 inclusive</doc>
4347           <type name="double" c:type="gdouble"/>
4348         </return-value>
4349       </method>
4350       <method name="draw_page"
4351               c:identifier="gtk_source_print_compositor_draw_page">
4352         <doc xml:whitespace="preserve">Draw page @page_nr for printing on the the Cairo context encapsuled in @context.
4353 This method has been designed to be called in the handler of the #GtkPrintOperation::draw_page signal
4354 as shown in the following example:
4355 &lt;informalexample&gt;&lt;programlisting&gt;
4356 // Signal handler for the GtkPrintOperation::draw_page signal
4357 static void
4358 draw_page (GtkPrintOperation *operation,
4359 GtkPrintContext   *context,
4360 gint               page_nr,
4361 gpointer           user_data)
4362 {
4363 GtkSourcePrintCompositor *compositor;
4364 compositor = GTK_SOURCE_PRINT_COMPOSITOR (user_data);
4365 gtk_source_print_compositor_draw_page (compositor, 
4366 context,
4367 page_nr);
4368 }
4369 &lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
4370         <return-value transfer-ownership="none">
4371           <type name="none" c:type="void"/>
4372         </return-value>
4373         <parameters>
4374           <parameter name="context" transfer-ownership="none">
4375             <doc xml:whitespace="preserve">the #GtkPrintContext encapsulating the context information that is required when drawing the page for printing.</doc>
4376             <type name="Gtk.PrintContext" c:type="GtkPrintContext*"/>
4377           </parameter>
4378           <parameter name="page_nr" transfer-ownership="none">
4379             <doc xml:whitespace="preserve">the number of the page to print.</doc>
4380             <type name="int" c:type="gint"/>
4381           </parameter>
4382         </parameters>
4383       </method>
4384       <property name="body-font-name" writable="1" transfer-ownership="none">
4385         <type name="utf8" c:type="gchararray"/>
4386       </property>
4387       <property name="buffer"
4388                 writable="1"
4389                 construct-only="1"
4390                 transfer-ownership="none">
4391         <type name="Buffer" c:type="GtkSourceBuffer"/>
4392       </property>
4393       <property name="footer-font-name" writable="1" transfer-ownership="none">
4394         <type name="utf8" c:type="gchararray"/>
4395       </property>
4396       <property name="header-font-name" writable="1" transfer-ownership="none">
4397         <type name="utf8" c:type="gchararray"/>
4398       </property>
4399       <property name="highlight-syntax" writable="1" transfer-ownership="none">
4400         <type name="boolean" c:type="gboolean"/>
4401       </property>
4402       <property name="line-numbers-font-name"
4403                 writable="1"
4404                 transfer-ownership="none">
4405         <type name="utf8" c:type="gchararray"/>
4406       </property>
4407       <property name="n-pages" transfer-ownership="none">
4408         <type name="int" c:type="gint"/>
4409       </property>
4410       <property name="print-footer" writable="1" transfer-ownership="none">
4411         <type name="boolean" c:type="gboolean"/>
4412       </property>
4413       <property name="print-header" writable="1" transfer-ownership="none">
4414         <type name="boolean" c:type="gboolean"/>
4415       </property>
4416       <property name="print-line-numbers"
4417                 writable="1"
4418                 transfer-ownership="none">
4419         <type name="uint" c:type="guint"/>
4420       </property>
4421       <property name="tab-width" writable="1" transfer-ownership="none">
4422         <type name="uint" c:type="guint"/>
4423       </property>
4424       <property name="wrap-mode" writable="1" transfer-ownership="none">
4425         <type name="Gtk.WrapMode" c:type="GtkWrapMode"/>
4426       </property>
4427       <field name="parent_instance">
4428         <type name="GObject.Object" c:type="GObject"/>
4429       </field>
4430       <field name="priv">
4431         <type name="PrintCompositorPrivate"
4432               c:type="GtkSourcePrintCompositorPrivate*"/>
4433       </field>
4434     </class>
4435     <record name="PrintCompositorClass"
4436             c:type="GtkSourcePrintCompositorClass"
4437             glib:is-gtype-struct-for="PrintCompositor">
4438       <field name="parent_class">
4439         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
4440       </field>
4441       <field name="gtk_source_reserved1">
4442         <callback name="gtk_source_reserved1" c:type="_gtk_source_reserved1">
4443           <return-value transfer-ownership="none">
4444             <type name="none" c:type="void"/>
4445           </return-value>
4446         </callback>
4447       </field>
4448       <field name="gtk_source_reserved2">
4449         <callback name="gtk_source_reserved2" c:type="_gtk_source_reserved2">
4450           <return-value transfer-ownership="none">
4451             <type name="none" c:type="void"/>
4452           </return-value>
4453         </callback>
4454       </field>
4455     </record>
4456     <record name="PrintCompositorPrivate"
4457             c:type="GtkSourcePrintCompositorPrivate">
4458     </record>
4459     <bitfield name="SearchFlags" c:type="GtkSourceSearchFlags">
4460       <member name="visible_only"
4461               value="1"
4462               c:identifier="GTK_SOURCE_SEARCH_VISIBLE_ONLY"/>
4463       <member name="text_only"
4464               value="2"
4465               c:identifier="GTK_SOURCE_SEARCH_TEXT_ONLY"/>
4466       <member name="case_insensitive"
4467               value="4"
4468               c:identifier="GTK_SOURCE_SEARCH_CASE_INSENSITIVE"/>
4469     </bitfield>
4470     <enumeration name="SmartHomeEndType" c:type="GtkSourceSmartHomeEndType">
4471       <member name="disabled"
4472               value="0"
4473               c:identifier="GTK_SOURCE_SMART_HOME_END_DISABLED"/>
4474       <member name="before"
4475               value="1"
4476               c:identifier="GTK_SOURCE_SMART_HOME_END_BEFORE"/>
4477       <member name="after"
4478               value="2"
4479               c:identifier="GTK_SOURCE_SMART_HOME_END_AFTER"/>
4480       <member name="always"
4481               value="3"
4482               c:identifier="GTK_SOURCE_SMART_HOME_END_ALWAYS"/>
4483     </enumeration>
4484     <class name="Style"
4485            c:type="GtkSourceStyle"
4486            parent="GObject.Object"
4487            glib:type-name="GtkSourceStyle"
4488            glib:get-type="gtk_source_style_get_type">
4489       <method name="copy" c:identifier="gtk_source_style_copy" version="2.0">
4490         <doc xml:whitespace="preserve">Creates a copy of @style, that is a new #GtkSourceStyle instance which
4491 has the same attributes set.</doc>
4492         <return-value transfer-ownership="full">
4493           <doc xml:whitespace="preserve">copy of @style, call g_object_unref() when you are done with it.</doc>
4494           <type name="Style" c:type="GtkSourceStyle*"/>
4495         </return-value>
4496       </method>
4497       <property name="background"
4498                 writable="1"
4499                 construct-only="1"
4500                 transfer-ownership="none">
4501         <type name="utf8" c:type="gchararray"/>
4502       </property>
4503       <property name="background-set"
4504                 writable="1"
4505                 construct-only="1"
4506                 transfer-ownership="none">
4507         <type name="boolean" c:type="gboolean"/>
4508       </property>
4509       <property name="bold"
4510                 writable="1"
4511                 construct-only="1"
4512                 transfer-ownership="none">
4513         <type name="boolean" c:type="gboolean"/>
4514       </property>
4515       <property name="bold-set"
4516                 writable="1"
4517                 construct-only="1"
4518                 transfer-ownership="none">
4519         <type name="boolean" c:type="gboolean"/>
4520       </property>
4521       <property name="foreground"
4522                 writable="1"
4523                 construct-only="1"
4524                 transfer-ownership="none">
4525         <type name="utf8" c:type="gchararray"/>
4526       </property>
4527       <property name="foreground-set"
4528                 writable="1"
4529                 construct-only="1"
4530                 transfer-ownership="none">
4531         <type name="boolean" c:type="gboolean"/>
4532       </property>
4533       <property name="italic"
4534                 writable="1"
4535                 construct-only="1"
4536                 transfer-ownership="none">
4537         <type name="boolean" c:type="gboolean"/>
4538       </property>
4539       <property name="italic-set"
4540                 writable="1"
4541                 construct-only="1"
4542                 transfer-ownership="none">
4543         <type name="boolean" c:type="gboolean"/>
4544       </property>
4545       <property name="line-background"
4546                 writable="1"
4547                 construct-only="1"
4548                 transfer-ownership="none">
4549         <type name="utf8" c:type="gchararray"/>
4550       </property>
4551       <property name="line-background-set"
4552                 writable="1"
4553                 construct-only="1"
4554                 transfer-ownership="none">
4555         <type name="boolean" c:type="gboolean"/>
4556       </property>
4557       <property name="strikethrough"
4558                 writable="1"
4559                 construct-only="1"
4560                 transfer-ownership="none">
4561         <type name="boolean" c:type="gboolean"/>
4562       </property>
4563       <property name="strikethrough-set"
4564                 writable="1"
4565                 construct-only="1"
4566                 transfer-ownership="none">
4567         <type name="boolean" c:type="gboolean"/>
4568       </property>
4569       <property name="underline"
4570                 writable="1"
4571                 construct-only="1"
4572                 transfer-ownership="none">
4573         <type name="boolean" c:type="gboolean"/>
4574       </property>
4575       <property name="underline-set"
4576                 writable="1"
4577                 construct-only="1"
4578                 transfer-ownership="none">
4579         <type name="boolean" c:type="gboolean"/>
4580       </property>
4581       <field name="base_instance">
4582         <type name="GObject.Object" c:type="GObject"/>
4583       </field>
4584       <field name="foreground">
4585         <type name="utf8" c:type="gchar*"/>
4586       </field>
4587       <field name="background">
4588         <type name="utf8" c:type="gchar*"/>
4589       </field>
4590       <field name="line_background">
4591         <type name="utf8" c:type="gchar*"/>
4592       </field>
4593       <field name="italic" bits="1">
4594         <type name="uint" c:type="guint"/>
4595       </field>
4596       <field name="bold" bits="1">
4597         <type name="uint" c:type="guint"/>
4598       </field>
4599       <field name="underline" bits="1">
4600         <type name="uint" c:type="guint"/>
4601       </field>
4602       <field name="strikethrough" bits="1">
4603         <type name="uint" c:type="guint"/>
4604       </field>
4605       <field name="mask" bits="12">
4606         <type name="uint" c:type="guint"/>
4607       </field>
4608     </class>
4609     <record name="StyleInfo" c:type="GtkSourceStyleInfo">
4610       <field name="name" writable="1">
4611         <type name="utf8" c:type="gchar*"/>
4612       </field>
4613       <field name="map_to" writable="1">
4614         <type name="utf8" c:type="gchar*"/>
4615       </field>
4616     </record>
4617     <class name="StyleScheme"
4618            c:type="GtkSourceStyleScheme"
4619            parent="GObject.Object"
4620            glib:type-name="GtkSourceStyleScheme"
4621            glib:get-type="gtk_source_style_scheme_get_type"
4622            glib:type-struct="StyleSchemeClass">
4623       <method name="get_id"
4624               c:identifier="gtk_source_style_scheme_get_id"
4625               version="2.0">
4626         <return-value transfer-ownership="none">
4627           <doc xml:whitespace="preserve">@scheme id.</doc>
4628           <type name="utf8" c:type="gchar*"/>
4629         </return-value>
4630       </method>
4631       <method name="get_name"
4632               c:identifier="gtk_source_style_scheme_get_name"
4633               version="2.0">
4634         <return-value transfer-ownership="none">
4635           <doc xml:whitespace="preserve">@scheme name.</doc>
4636           <type name="utf8" c:type="gchar*"/>
4637         </return-value>
4638       </method>
4639       <method name="get_description"
4640               c:identifier="gtk_source_style_scheme_get_description"
4641               version="2.0">
4642         <return-value transfer-ownership="none">
4643           <doc xml:whitespace="preserve">@scheme description (if defined) or NULL.</doc>
4644           <type name="utf8" c:type="gchar*"/>
4645         </return-value>
4646       </method>
4647       <method name="get_authors"
4648               c:identifier="gtk_source_style_scheme_get_authors"
4649               version="2.0">
4650         <doc xml:whitespace="preserve">%NULL if no author is specified by the style
4651 scheme.</doc>
4652         <return-value transfer-ownership="full">
4653           <doc xml:whitespace="preserve">a %NULL-terminated array containing the @scheme authors or</doc>
4654           <array c:type="gchar**">
4655             <type name="utf8"/>
4656           </array>
4657         </return-value>
4658       </method>
4659       <method name="get_filename"
4660               c:identifier="gtk_source_style_scheme_get_filename"
4661               version="2.0">
4662         <doc xml:whitespace="preserve">style scheme file or NULL in the other cases.</doc>
4663         <return-value transfer-ownership="none">
4664           <doc xml:whitespace="preserve">@scheme file name if the scheme was created parsing a</doc>
4665           <type name="utf8" c:type="gchar*"/>
4666         </return-value>
4667       </method>
4668       <method name="get_style"
4669               c:identifier="gtk_source_style_scheme_get_style"
4670               version="2.0">
4671         <doc xml:whitespace="preserve">or %NULL when no style with this name found. It is owned by @scheme
4672 and may not be unref'ed.</doc>
4673         <return-value transfer-ownership="full">
4674           <doc xml:whitespace="preserve">style which corresponds to @style_id in the @scheme,</doc>
4675           <type name="Style" c:type="GtkSourceStyle*"/>
4676         </return-value>
4677         <parameters>
4678           <parameter name="style_id" transfer-ownership="none">
4679             <doc xml:whitespace="preserve">id of the style to retrieve.</doc>
4680             <type name="utf8" c:type="gchar*"/>
4681           </parameter>
4682         </parameters>
4683       </method>
4684       <property name="description" transfer-ownership="none">
4685         <type name="utf8" c:type="gchararray"/>
4686       </property>
4687       <property name="filename" transfer-ownership="none">
4688         <type name="utf8" c:type="gchararray"/>
4689       </property>
4690       <property name="id"
4691                 writable="1"
4692                 construct-only="1"
4693                 transfer-ownership="none">
4694         <type name="utf8" c:type="gchararray"/>
4695       </property>
4696       <property name="name" transfer-ownership="none">
4697         <type name="utf8" c:type="gchararray"/>
4698       </property>
4699       <field name="base">
4700         <type name="GObject.Object" c:type="GObject"/>
4701       </field>
4702       <field name="priv">
4703         <type name="StyleSchemePrivate" c:type="GtkSourceStyleSchemePrivate*"/>
4704       </field>
4705     </class>
4706     <record name="StyleSchemeClass"
4707             c:type="GtkSourceStyleSchemeClass"
4708             glib:is-gtype-struct-for="StyleScheme">
4709       <field name="base_class">
4710         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
4711       </field>
4712       <field name="gtk_source_reserved1">
4713         <callback name="gtk_source_reserved1" c:type="_gtk_source_reserved1">
4714           <return-value transfer-ownership="none">
4715             <type name="none" c:type="void"/>
4716           </return-value>
4717         </callback>
4718       </field>
4719       <field name="gtk_source_reserved2">
4720         <callback name="gtk_source_reserved2" c:type="_gtk_source_reserved2">
4721           <return-value transfer-ownership="none">
4722             <type name="none" c:type="void"/>
4723           </return-value>
4724         </callback>
4725       </field>
4726     </record>
4727     <class name="StyleSchemeManager"
4728            c:type="GtkSourceStyleSchemeManager"
4729            parent="GObject.Object"
4730            glib:type-name="GtkSourceStyleSchemeManager"
4731            glib:get-type="gtk_source_style_scheme_manager_get_type"
4732            glib:type-struct="StyleSchemeManagerClass">
4733       <constructor name="new"
4734                    c:identifier="gtk_source_style_scheme_manager_new">
4735         <doc xml:whitespace="preserve">Creates a new style manager. If you do not need more than one style
4736 manager then use gtk_source_style_scheme_manager_get_default() instead.</doc>
4737         <return-value transfer-ownership="full">
4738           <doc xml:whitespace="preserve">a #GtkSourceStyleSchemeManager.</doc>
4739           <type name="StyleSchemeManager"
4740                 c:type="GtkSourceStyleSchemeManager*"/>
4741         </return-value>
4742       </constructor>
4743       <function name="get_default"
4744                 c:identifier="gtk_source_style_scheme_manager_get_default">
4745         <doc xml:whitespace="preserve">Returns the default #GtkSourceStyleSchemeManager instance.
4746 by GtkSourceView library and must not be unref'ed.</doc>
4747         <return-value transfer-ownership="full">
4748           <doc xml:whitespace="preserve">a #GtkSourceStyleSchemeManager. Return value is owned</doc>
4749           <type name="StyleSchemeManager"
4750                 c:type="GtkSourceStyleSchemeManager*"/>
4751         </return-value>
4752       </function>
4753       <method name="set_search_path"
4754               c:identifier="gtk_source_style_scheme_manager_set_search_path">
4755         <doc xml:whitespace="preserve">Sets the list of directories where the @manager looks for
4756 style scheme files.
4757 If @dirs is %NULL, the search path is reset to default.</doc>
4758         <return-value transfer-ownership="none">
4759           <type name="none" c:type="void"/>
4760         </return-value>
4761         <parameters>
4762           <parameter name="path" transfer-ownership="none">
4763             <doc xml:whitespace="preserve">a %NULL-terminated array of strings or %NULL.</doc>
4764             <array c:type="gchar**">
4765               <type name="utf8"/>
4766             </array>
4767           </parameter>
4768         </parameters>
4769       </method>
4770       <method name="append_search_path"
4771               c:identifier="gtk_source_style_scheme_manager_append_search_path">
4772         <doc xml:whitespace="preserve">Appends @path to the list of directories where the @manager looks for
4773 style scheme files.
4774 See gtk_source_style_scheme_manager_set_search_path() for details.</doc>
4775         <return-value transfer-ownership="none">
4776           <type name="none" c:type="void"/>
4777         </return-value>
4778         <parameters>
4779           <parameter name="path" transfer-ownership="none">
4780             <doc xml:whitespace="preserve">a directory or a filename.</doc>
4781             <type name="utf8" c:type="gchar*"/>
4782           </parameter>
4783         </parameters>
4784       </method>
4785       <method name="prepend_search_path"
4786               c:identifier="gtk_source_style_scheme_manager_prepend_search_path">
4787         <doc xml:whitespace="preserve">Prepends @path to the list of directories where the @manager looks
4788 for style scheme files.
4789 See gtk_source_style_scheme_manager_set_search_path() for details.</doc>
4790         <return-value transfer-ownership="none">
4791           <type name="none" c:type="void"/>
4792         </return-value>
4793         <parameters>
4794           <parameter name="path" transfer-ownership="none">
4795             <doc xml:whitespace="preserve">a directory or a filename.</doc>
4796             <type name="utf8" c:type="gchar*"/>
4797           </parameter>
4798         </parameters>
4799       </method>
4800       <method name="get_search_path"
4801               c:identifier="gtk_source_style_scheme_manager_get_search_path">
4802         <doc xml:whitespace="preserve">Returns the current search path for the @manager.
4803 See gtk_source_style_scheme_manager_set_search_path() for details.
4804 The array is owned by the @manager and must not be modified.</doc>
4805         <return-value transfer-ownership="full">
4806           <doc xml:whitespace="preserve">a NULL-terminated array of string containing the search path.</doc>
4807           <array c:type="gchar**">
4808             <type name="utf8"/>
4809           </array>
4810         </return-value>
4811       </method>
4812       <method name="force_rescan"
4813               c:identifier="gtk_source_style_scheme_manager_force_rescan">
4814         <doc xml:whitespace="preserve">Mark any currently cached information about the available style scehems
4815 as invalid. All the available style schemes will be reloaded next time
4816 the @manager is accessed.</doc>
4817         <return-value transfer-ownership="none">
4818           <type name="none" c:type="void"/>
4819         </return-value>
4820       </method>
4821       <method name="get_scheme_ids"
4822               c:identifier="gtk_source_style_scheme_manager_get_scheme_ids">
4823         <doc xml:whitespace="preserve">Returns the ids of the available style schemes.
4824 available style schemes or %NULL if no style scheme is available. The array
4825 is owned by the @manager and must not be modified.</doc>
4826         <return-value transfer-ownership="full">
4827           <doc xml:whitespace="preserve">a %NULL-terminated array of string containing the ids of the</doc>
4828           <array c:type="gchar**">
4829             <type name="utf8"/>
4830           </array>
4831         </return-value>
4832       </method>
4833       <method name="get_scheme"
4834               c:identifier="gtk_source_style_scheme_manager_get_scheme">
4835         <doc xml:whitespace="preserve">Looks up style scheme by id.</doc>
4836         <return-value transfer-ownership="full">
4837           <doc xml:whitespace="preserve">a #GtkSourceStyleScheme object. Returned value is owned by</doc>
4838           <type name="StyleScheme" c:type="GtkSourceStyleScheme*"/>
4839         </return-value>
4840         <parameters>
4841           <parameter name="scheme_id" transfer-ownership="none">
4842             <doc xml:whitespace="preserve">style scheme id to find</doc>
4843             <type name="utf8" c:type="gchar*"/>
4844           </parameter>
4845         </parameters>
4846       </method>
4847       <property name="scheme-ids" transfer-ownership="none">
4848         <type name="GObject.Strv" c:type="GStrv"/>
4849       </property>
4850       <property name="search-path" writable="1" transfer-ownership="none">
4851         <type name="GObject.Strv" c:type="GStrv"/>
4852       </property>
4853       <field name="parent">
4854         <type name="GObject.Object" c:type="GObject"/>
4855       </field>
4856       <field name="priv">
4857         <type name="StyleSchemeManagerPrivate"
4858               c:type="GtkSourceStyleSchemeManagerPrivate*"/>
4859       </field>
4860     </class>
4861     <record name="StyleSchemeManagerClass"
4862             c:type="GtkSourceStyleSchemeManagerClass"
4863             glib:is-gtype-struct-for="StyleSchemeManager">
4864       <field name="parent_class">
4865         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
4866       </field>
4867       <field name="gtk_source_reserved1">
4868         <callback name="gtk_source_reserved1" c:type="_gtk_source_reserved1">
4869           <return-value transfer-ownership="none">
4870             <type name="none" c:type="void"/>
4871           </return-value>
4872         </callback>
4873       </field>
4874       <field name="gtk_source_reserved2">
4875         <callback name="gtk_source_reserved2" c:type="_gtk_source_reserved2">
4876           <return-value transfer-ownership="none">
4877             <type name="none" c:type="void"/>
4878           </return-value>
4879         </callback>
4880       </field>
4881       <field name="gtk_source_reserved3">
4882         <callback name="gtk_source_reserved3" c:type="_gtk_source_reserved3">
4883           <return-value transfer-ownership="none">
4884             <type name="none" c:type="void"/>
4885           </return-value>
4886         </callback>
4887       </field>
4888       <field name="gtk_source_reserved4">
4889         <callback name="gtk_source_reserved4" c:type="_gtk_source_reserved4">
4890           <return-value transfer-ownership="none">
4891             <type name="none" c:type="void"/>
4892           </return-value>
4893         </callback>
4894       </field>
4895     </record>
4896     <record name="StyleSchemeManagerPrivate"
4897             c:type="GtkSourceStyleSchemeManagerPrivate">
4898     </record>
4899     <record name="StyleSchemePrivate" c:type="GtkSourceStyleSchemePrivate">
4900     </record>
4901     <interface name="UndoManager"
4902                c:type="GtkSourceUndoManager"
4903                glib:type-name="GtkSourceUndoManager"
4904                glib:get-type="gtk_source_undo_manager_get_type"
4905                glib:type-struct="UndoManagerIface">
4906       <virtual-method name="can_undo" invoker="can_undo" version="2.10">
4907         <doc xml:whitespace="preserve">Get whether there are undo operations available.</doc>
4908         <return-value transfer-ownership="none">
4909           <doc xml:whitespace="preserve">%TRUE if there are undo operations available, %FALSE otherwise</doc>
4910           <type name="boolean" c:type="gboolean"/>
4911         </return-value>
4912       </virtual-method>
4913       <virtual-method name="can_redo" invoker="can_redo" version="2.10">
4914         <doc xml:whitespace="preserve">Get whether there are redo operations available.</doc>
4915         <return-value transfer-ownership="none">
4916           <doc xml:whitespace="preserve">%TRUE if there are redo operations available, %FALSE otherwise</doc>
4917           <type name="boolean" c:type="gboolean"/>
4918         </return-value>
4919       </virtual-method>
4920       <virtual-method name="undo" invoker="undo" version="2.10">
4921         <doc xml:whitespace="preserve">Perform a single undo. Calling this function when there are no undo operations
4922 available is an error. Use #gtk_source_undo_manager_can_undo to find out
4923 if there are undo operations available.</doc>
4924         <return-value transfer-ownership="none">
4925           <type name="none" c:type="void"/>
4926         </return-value>
4927       </virtual-method>
4928       <virtual-method name="redo" invoker="redo" version="2.10">
4929         <doc xml:whitespace="preserve">Perform a single redo. Calling this function when there are no redo operations
4930 available is an error. Use #gtk_source_undo_manager_can_redo to find out
4931 if there are redo operations available.</doc>
4932         <return-value transfer-ownership="none">
4933           <type name="none" c:type="void"/>
4934         </return-value>
4935       </virtual-method>
4936       <virtual-method name="begin_not_undoable_action"
4937                       invoker="begin_not_undoable_action"
4938                       version="2.10">
4939         <doc xml:whitespace="preserve">Begin a not undoable action on the buffer. All changes between this call
4940 and the call to #gtk_source_undo_manager_end_not_undoable_action cannot
4941 be undone. This function should be re-entrant.</doc>
4942         <return-value transfer-ownership="none">
4943           <type name="none" c:type="void"/>
4944         </return-value>
4945       </virtual-method>
4946       <virtual-method name="end_not_undoable_action"
4947                       invoker="end_not_undoable_action"
4948                       version="2.10">
4949         <doc xml:whitespace="preserve">Ends a not undoable action on the buffer.</doc>
4950         <return-value transfer-ownership="none">
4951           <type name="none" c:type="void"/>
4952         </return-value>
4953       </virtual-method>
4954       <method name="can_undo"
4955               c:identifier="gtk_source_undo_manager_can_undo"
4956               version="2.10">
4957         <doc xml:whitespace="preserve">Get whether there are undo operations available.</doc>
4958         <return-value transfer-ownership="none">
4959           <doc xml:whitespace="preserve">%TRUE if there are undo operations available, %FALSE otherwise</doc>
4960           <type name="boolean" c:type="gboolean"/>
4961         </return-value>
4962       </method>
4963       <method name="can_redo"
4964               c:identifier="gtk_source_undo_manager_can_redo"
4965               version="2.10">
4966         <doc xml:whitespace="preserve">Get whether there are redo operations available.</doc>
4967         <return-value transfer-ownership="none">
4968           <doc xml:whitespace="preserve">%TRUE if there are redo operations available, %FALSE otherwise</doc>
4969           <type name="boolean" c:type="gboolean"/>
4970         </return-value>
4971       </method>
4972       <method name="undo"
4973               c:identifier="gtk_source_undo_manager_undo"
4974               version="2.10">
4975         <doc xml:whitespace="preserve">Perform a single undo. Calling this function when there are no undo operations
4976 available is an error. Use #gtk_source_undo_manager_can_undo to find out
4977 if there are undo operations available.</doc>
4978         <return-value transfer-ownership="none">
4979           <type name="none" c:type="void"/>
4980         </return-value>
4981       </method>
4982       <method name="redo"
4983               c:identifier="gtk_source_undo_manager_redo"
4984               version="2.10">
4985         <doc xml:whitespace="preserve">Perform a single redo. Calling this function when there are no redo operations
4986 available is an error. Use #gtk_source_undo_manager_can_redo to find out
4987 if there are redo operations available.</doc>
4988         <return-value transfer-ownership="none">
4989           <type name="none" c:type="void"/>
4990         </return-value>
4991       </method>
4992       <method name="begin_not_undoable_action"
4993               c:identifier="gtk_source_undo_manager_begin_not_undoable_action"
4994               version="2.10">
4995         <doc xml:whitespace="preserve">Begin a not undoable action on the buffer. All changes between this call
4996 and the call to #gtk_source_undo_manager_end_not_undoable_action cannot
4997 be undone. This function should be re-entrant.</doc>
4998         <return-value transfer-ownership="none">
4999           <type name="none" c:type="void"/>
5000         </return-value>
5001       </method>
5002       <method name="end_not_undoable_action"
5003               c:identifier="gtk_source_undo_manager_end_not_undoable_action"
5004               version="2.10">
5005         <doc xml:whitespace="preserve">Ends a not undoable action on the buffer.</doc>
5006         <return-value transfer-ownership="none">
5007           <type name="none" c:type="void"/>
5008         </return-value>
5009       </method>
5010       <method name="can_undo_changed"
5011               c:identifier="gtk_source_undo_manager_can_undo_changed"
5012               version="2.10">
5013         <doc xml:whitespace="preserve">Emits the #GtkSourceUndoManager::can-undo-changed signal.</doc>
5014         <return-value transfer-ownership="none">
5015           <type name="none" c:type="void"/>
5016         </return-value>
5017       </method>
5018       <method name="can_redo_changed"
5019               c:identifier="gtk_source_undo_manager_can_redo_changed"
5020               version="2.10">
5021         <doc xml:whitespace="preserve">Emits the #GtkSourceUndoManager::can-redo-changed signal.</doc>
5022         <return-value transfer-ownership="none">
5023           <type name="none" c:type="void"/>
5024         </return-value>
5025       </method>
5026       <glib:signal name="can-redo-changed">
5027         <return-value transfer-ownership="full">
5028           <type name="none" c:type="void"/>
5029         </return-value>
5030       </glib:signal>
5031       <glib:signal name="can-undo-changed">
5032         <return-value transfer-ownership="full">
5033           <type name="none" c:type="void"/>
5034         </return-value>
5035       </glib:signal>
5036     </interface>
5037     <class name="UndoManagerDefault"
5038            c:type="GtkSourceUndoManagerDefault"
5039            parent="GObject.Object"
5040            glib:type-name="GtkSourceUndoManagerDefault"
5041            glib:get-type="gtk_source_undo_manager_default_get_type"
5042            glib:type-struct="UndoManagerDefaultClass">
5043       <implements name="UndoManager"/>
5044       <method name="set_max_undo_levels"
5045               c:identifier="gtk_source_undo_manager_default_set_max_undo_levels">
5046         <return-value transfer-ownership="none">
5047           <type name="none" c:type="void"/>
5048         </return-value>
5049         <parameters>
5050           <parameter name="max_undo_levels" transfer-ownership="none">
5051             <type name="int" c:type="gint"/>
5052           </parameter>
5053         </parameters>
5054       </method>
5055       <property name="buffer"
5056                 writable="1"
5057                 construct-only="1"
5058                 transfer-ownership="none">
5059         <type name="Gtk.TextBuffer" c:type="GtkTextBuffer"/>
5060       </property>
5061       <property name="max-undo-levels"
5062                 writable="1"
5063                 construct="1"
5064                 transfer-ownership="none">
5065         <type name="int" c:type="gint"/>
5066       </property>
5067       <field name="parent">
5068         <type name="GObject.Object" c:type="GObject"/>
5069       </field>
5070       <field name="priv">
5071         <type name="UndoManagerDefaultPrivate"
5072               c:type="GtkSourceUndoManagerDefaultPrivate*"/>
5073       </field>
5074     </class>
5075     <record name="UndoManagerDefaultClass"
5076             c:type="GtkSourceUndoManagerDefaultClass"
5077             glib:is-gtype-struct-for="UndoManagerDefault">
5078       <field name="parent_class">
5079         <type name="GObject.ObjectClass" c:type="GObjectClass"/>
5080       </field>
5081     </record>
5082     <record name="UndoManagerDefaultPrivate"
5083             c:type="GtkSourceUndoManagerDefaultPrivate">
5084     </record>
5085     <record name="UndoManagerIface"
5086             c:type="GtkSourceUndoManagerIface"
5087             glib:is-gtype-struct-for="UndoManager">
5088       <field name="parent">
5089         <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
5090       </field>
5091       <field name="can_undo">
5092         <callback name="can_undo" c:type="can_undo">
5093           <return-value transfer-ownership="none">
5094             <doc xml:whitespace="preserve">%TRUE if there are undo operations available, %FALSE otherwise</doc>
5095             <type name="boolean" c:type="gboolean"/>
5096           </return-value>
5097           <parameters>
5098             <parameter name="manager" transfer-ownership="none">
5099               <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
5100             </parameter>
5101           </parameters>
5102         </callback>
5103       </field>
5104       <field name="can_redo">
5105         <callback name="can_redo" c:type="can_redo">
5106           <return-value transfer-ownership="none">
5107             <doc xml:whitespace="preserve">%TRUE if there are redo operations available, %FALSE otherwise</doc>
5108             <type name="boolean" c:type="gboolean"/>
5109           </return-value>
5110           <parameters>
5111             <parameter name="manager" transfer-ownership="none">
5112               <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
5113             </parameter>
5114           </parameters>
5115         </callback>
5116       </field>
5117       <field name="undo">
5118         <callback name="undo" c:type="undo">
5119           <return-value transfer-ownership="none">
5120             <type name="none" c:type="void"/>
5121           </return-value>
5122           <parameters>
5123             <parameter name="manager" transfer-ownership="none">
5124               <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
5125             </parameter>
5126           </parameters>
5127         </callback>
5128       </field>
5129       <field name="redo">
5130         <callback name="redo" c:type="redo">
5131           <return-value transfer-ownership="none">
5132             <type name="none" c:type="void"/>
5133           </return-value>
5134           <parameters>
5135             <parameter name="manager" transfer-ownership="none">
5136               <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
5137             </parameter>
5138           </parameters>
5139         </callback>
5140       </field>
5141       <field name="begin_not_undoable_action">
5142         <callback name="begin_not_undoable_action"
5143                   c:type="begin_not_undoable_action">
5144           <return-value transfer-ownership="none">
5145             <type name="none" c:type="void"/>
5146           </return-value>
5147           <parameters>
5148             <parameter name="manager" transfer-ownership="none">
5149               <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
5150             </parameter>
5151           </parameters>
5152         </callback>
5153       </field>
5154       <field name="end_not_undoable_action">
5155         <callback name="end_not_undoable_action"
5156                   c:type="end_not_undoable_action">
5157           <return-value transfer-ownership="none">
5158             <type name="none" c:type="void"/>
5159           </return-value>
5160           <parameters>
5161             <parameter name="manager" transfer-ownership="none">
5162               <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
5163             </parameter>
5164           </parameters>
5165         </callback>
5166       </field>
5167       <field name="can_undo_changed">
5168         <callback name="can_undo_changed" c:type="can_undo_changed">
5169           <return-value transfer-ownership="none">
5170             <type name="none" c:type="void"/>
5171           </return-value>
5172           <parameters>
5173             <parameter name="manager" transfer-ownership="none">
5174               <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
5175             </parameter>
5176           </parameters>
5177         </callback>
5178       </field>
5179       <field name="can_redo_changed">
5180         <callback name="can_redo_changed" c:type="can_redo_changed">
5181           <return-value transfer-ownership="none">
5182             <type name="none" c:type="void"/>
5183           </return-value>
5184           <parameters>
5185             <parameter name="manager" transfer-ownership="none">
5186               <type name="UndoManager" c:type="GtkSourceUndoManager*"/>
5187             </parameter>
5188           </parameters>
5189         </callback>
5190       </field>
5191     </record>
5192     <class name="View"
5193            c:type="GtkSourceView"
5194            parent="Gtk.TextView"
5195            glib:type-name="GtkSourceView"
5196            glib:get-type="gtk_source_view_get_type"
5197            glib:type-struct="ViewClass">
5198       <implements name="Atk.ImplementorIface"/>
5199       <implements name="Gtk.Buildable"/>
5200       <constructor name="new" c:identifier="gtk_source_view_new">
5201         <doc xml:whitespace="preserve">Creates a new #GtkSourceView. An empty default buffer will be
5202 created for you. If you want to specify your own buffer, consider
5203 gtk_source_view_new_with_buffer().</doc>
5204         <return-value transfer-ownership="full">
5205           <doc xml:whitespace="preserve">a new #GtkSourceView</doc>
5206           <type name="View" c:type="GtkWidget*"/>
5207         </return-value>
5208       </constructor>
5209       <constructor name="new_with_buffer"
5210                    c:identifier="gtk_source_view_new_with_buffer">
5211         <doc xml:whitespace="preserve">Creates a new #GtkSourceView widget displaying the buffer</doc>
5212         <return-value transfer-ownership="full">
5213           <doc xml:whitespace="preserve">a new #GtkTextView.</doc>
5214           <type name="View" c:type="GtkWidget*"/>
5215         </return-value>
5216         <parameters>
5217           <parameter name="buffer" transfer-ownership="none">
5218             <doc xml:whitespace="preserve">a #GtkSourceBuffer.</doc>
5219             <type name="Buffer" c:type="GtkSourceBuffer*"/>
5220           </parameter>
5221         </parameters>
5222       </constructor>
5223       <method name="set_show_line_numbers"
5224               c:identifier="gtk_source_view_set_show_line_numbers">
5225         <doc xml:whitespace="preserve">If %TRUE line numbers will be displayed beside the text.</doc>
5226         <return-value transfer-ownership="none">
5227           <type name="none" c:type="void"/>
5228         </return-value>
5229         <parameters>
5230           <parameter name="show" transfer-ownership="none">
5231             <doc xml:whitespace="preserve">whether line numbers should be displayed.</doc>
5232             <type name="boolean" c:type="gboolean"/>
5233           </parameter>
5234         </parameters>
5235       </method>
5236       <method name="get_show_line_numbers"
5237               c:identifier="gtk_source_view_get_show_line_numbers">
5238         <doc xml:whitespace="preserve">Returns whether line numbers are displayed beside the text.</doc>
5239         <return-value transfer-ownership="none">
5240           <doc xml:whitespace="preserve">%TRUE if the line numbers are displayed.</doc>
5241           <type name="boolean" c:type="gboolean"/>
5242         </return-value>
5243       </method>
5244       <method name="set_tab_width"
5245               c:identifier="gtk_source_view_set_tab_width">
5246         <doc xml:whitespace="preserve">Sets the width of tabulation in characters.</doc>
5247         <return-value transfer-ownership="none">
5248           <type name="none" c:type="void"/>
5249         </return-value>
5250         <parameters>
5251           <parameter name="width" transfer-ownership="none">
5252             <doc xml:whitespace="preserve">width of tab in characters.</doc>
5253             <type name="uint" c:type="guint"/>
5254           </parameter>
5255         </parameters>
5256       </method>
5257       <method name="get_tab_width"
5258               c:identifier="gtk_source_view_get_tab_width">
5259         <doc xml:whitespace="preserve">Returns the width of tabulation in characters.</doc>
5260         <return-value transfer-ownership="none">
5261           <doc xml:whitespace="preserve">width of tab.</doc>
5262           <type name="uint" c:type="guint"/>
5263         </return-value>
5264       </method>
5265       <method name="set_indent_width"
5266               c:identifier="gtk_source_view_set_indent_width">
5267         <doc xml:whitespace="preserve">Sets the number of spaces to use for each step of indent.
5268 If @width is -1, the value of the GtkSourceView::tab-width property
5269 will be used.</doc>
5270         <return-value transfer-ownership="none">
5271           <type name="none" c:type="void"/>
5272         </return-value>
5273         <parameters>
5274           <parameter name="width" transfer-ownership="none">
5275             <doc xml:whitespace="preserve">indent width in characters.</doc>
5276             <type name="int" c:type="gint"/>
5277           </parameter>
5278         </parameters>
5279       </method>
5280       <method name="get_indent_width"
5281               c:identifier="gtk_source_view_get_indent_width">
5282         <doc xml:whitespace="preserve">Returns the number of spaces to use for each step of indent.
5283 See gtk_source_view_set_indent_width() for details.</doc>
5284         <return-value transfer-ownership="none">
5285           <doc xml:whitespace="preserve">indent width.</doc>
5286           <type name="int" c:type="gint"/>
5287         </return-value>
5288       </method>
5289       <method name="set_auto_indent"
5290               c:identifier="gtk_source_view_set_auto_indent">
5291         <doc xml:whitespace="preserve">If %TRUE auto indentation of text is enabled.</doc>
5292         <return-value transfer-ownership="none">
5293           <type name="none" c:type="void"/>
5294         </return-value>
5295         <parameters>
5296           <parameter name="enable" transfer-ownership="none">
5297             <doc xml:whitespace="preserve">whether to enable auto indentation.</doc>
5298             <type name="boolean" c:type="gboolean"/>
5299           </parameter>
5300         </parameters>
5301       </method>
5302       <method name="get_auto_indent"
5303               c:identifier="gtk_source_view_get_auto_indent">
5304         <doc xml:whitespace="preserve">Returns whether auto indentation of text is enabled.</doc>
5305         <return-value transfer-ownership="none">
5306           <doc xml:whitespace="preserve">%TRUE if auto indentation is enabled.</doc>
5307           <type name="boolean" c:type="gboolean"/>
5308         </return-value>
5309       </method>
5310       <method name="set_insert_spaces_instead_of_tabs"
5311               c:identifier="gtk_source_view_set_insert_spaces_instead_of_tabs">
5312         <doc xml:whitespace="preserve">If %TRUE any tabulator character inserted is replaced by a group
5313 of space characters.</doc>
5314         <return-value transfer-ownership="none">
5315           <type name="none" c:type="void"/>
5316         </return-value>
5317         <parameters>
5318           <parameter name="enable" transfer-ownership="none">
5319             <doc xml:whitespace="preserve">whether to insert spaces instead of tabs.</doc>
5320             <type name="boolean" c:type="gboolean"/>
5321           </parameter>
5322         </parameters>
5323       </method>
5324       <method name="get_insert_spaces_instead_of_tabs"
5325               c:identifier="gtk_source_view_get_insert_spaces_instead_of_tabs">
5326         <doc xml:whitespace="preserve">Returns whether when inserting a tabulator character it should
5327 be replaced by a group of space characters.</doc>
5328         <return-value transfer-ownership="none">
5329           <doc xml:whitespace="preserve">%TRUE if spaces are inserted instead of tabs.</doc>
5330           <type name="boolean" c:type="gboolean"/>
5331         </return-value>
5332       </method>
5333       <method name="set_indent_on_tab"
5334               c:identifier="gtk_source_view_set_indent_on_tab"
5335               version="1.8">
5336         <doc xml:whitespace="preserve">If %TRUE, when the tab key is pressed and there is a selection, the
5337 selected text is indented of one level instead of being replaced with
5338 the \t characters. Shift+Tab unindents the selection.</doc>
5339         <return-value transfer-ownership="none">
5340           <type name="none" c:type="void"/>
5341         </return-value>
5342         <parameters>
5343           <parameter name="enable" transfer-ownership="none">
5344             <doc xml:whitespace="preserve">whether to indent a block when tab is pressed.</doc>
5345             <type name="boolean" c:type="gboolean"/>
5346           </parameter>
5347         </parameters>
5348       </method>
5349       <method name="get_indent_on_tab"
5350               c:identifier="gtk_source_view_get_indent_on_tab"
5351               version="1.8">
5352         <doc xml:whitespace="preserve">Returns whether when the tab key is pressed the current selection
5353 should get indented instead of replaced with the \t character.</doc>
5354         <return-value transfer-ownership="none">
5355           <doc xml:whitespace="preserve">%TRUE if the selection is indented when tab is pressed.</doc>
5356           <type name="boolean" c:type="gboolean"/>
5357         </return-value>
5358       </method>
5359       <method name="set_highlight_current_line"
5360               c:identifier="gtk_source_view_set_highlight_current_line">
5361         <doc xml:whitespace="preserve">If @show is %TRUE the current line is highlighted.</doc>
5362         <return-value transfer-ownership="none">
5363           <type name="none" c:type="void"/>
5364         </return-value>
5365         <parameters>
5366           <parameter name="show" transfer-ownership="none">
5367             <doc xml:whitespace="preserve">whether to highlight the current line</doc>
5368             <type name="boolean" c:type="gboolean"/>
5369           </parameter>
5370         </parameters>
5371       </method>
5372       <method name="get_highlight_current_line"
5373               c:identifier="gtk_source_view_get_highlight_current_line">
5374         <doc xml:whitespace="preserve">Returns whether the current line is highlighted</doc>
5375         <return-value transfer-ownership="none">
5376           <doc xml:whitespace="preserve">%TRUE if the current line is highlighted.</doc>
5377           <type name="boolean" c:type="gboolean"/>
5378         </return-value>
5379       </method>
5380       <method name="set_show_right_margin"
5381               c:identifier="gtk_source_view_set_show_right_margin">
5382         <doc xml:whitespace="preserve">If %TRUE a right margin is displayed</doc>
5383         <return-value transfer-ownership="none">
5384           <type name="none" c:type="void"/>
5385         </return-value>
5386         <parameters>
5387           <parameter name="show" transfer-ownership="none">
5388             <doc xml:whitespace="preserve">whether to show a right margin.</doc>
5389             <type name="boolean" c:type="gboolean"/>
5390           </parameter>
5391         </parameters>
5392       </method>
5393       <method name="get_show_right_margin"
5394               c:identifier="gtk_source_view_get_show_right_margin">
5395         <doc xml:whitespace="preserve">Returns whether a right margin is displayed.</doc>
5396         <return-value transfer-ownership="none">
5397           <doc xml:whitespace="preserve">%TRUE if the right margin is shown.</doc>
5398           <type name="boolean" c:type="gboolean"/>
5399         </return-value>
5400       </method>
5401       <method name="set_right_margin_position"
5402               c:identifier="gtk_source_view_set_right_margin_position">
5403         <doc xml:whitespace="preserve">Sets the position of the right margin in the given @view.</doc>
5404         <return-value transfer-ownership="none">
5405           <type name="none" c:type="void"/>
5406         </return-value>
5407         <parameters>
5408           <parameter name="pos" transfer-ownership="none">
5409             <doc xml:whitespace="preserve">the width in characters where to position the right margin.</doc>
5410             <type name="uint" c:type="guint"/>
5411           </parameter>
5412         </parameters>
5413       </method>
5414       <method name="get_right_margin_position"
5415               c:identifier="gtk_source_view_get_right_margin_position">
5416         <doc xml:whitespace="preserve">Gets the position of the right margin in the given @view.</doc>
5417         <return-value transfer-ownership="none">
5418           <doc xml:whitespace="preserve">the position of the right margin.</doc>
5419           <type name="uint" c:type="guint"/>
5420         </return-value>
5421       </method>
5422       <method name="set_show_line_marks"
5423               c:identifier="gtk_source_view_set_show_line_marks"
5424               version="2.2">
5425         <doc xml:whitespace="preserve">If %TRUE line marks will be displayed beside the text.</doc>
5426         <return-value transfer-ownership="none">
5427           <type name="none" c:type="void"/>
5428         </return-value>
5429         <parameters>
5430           <parameter name="show" transfer-ownership="none">
5431             <doc xml:whitespace="preserve">whether line marks should be displayed.</doc>
5432             <type name="boolean" c:type="gboolean"/>
5433           </parameter>
5434         </parameters>
5435       </method>
5436       <method name="get_show_line_marks"
5437               c:identifier="gtk_source_view_get_show_line_marks"
5438               version="2.2">
5439         <doc xml:whitespace="preserve">Returns whether line marks are displayed beside the text.</doc>
5440         <return-value transfer-ownership="none">
5441           <doc xml:whitespace="preserve">%TRUE if the line marks are displayed.</doc>
5442           <type name="boolean" c:type="gboolean"/>
5443         </return-value>
5444       </method>
5445       <method name="set_mark_category_pixbuf"
5446               c:identifier="gtk_source_view_set_mark_category_pixbuf"
5447               version="2.2"
5448               deprecated="Use #gtk_source_view_set_mark_category_icon_from_pixbuf instead">
5449         <doc xml:whitespace="preserve">Associates a given @pixbuf with a given mark @category.
5450 If @pixbuf is #NULL, the pixbuf is unset.</doc>
5451         <return-value transfer-ownership="none">
5452           <type name="none" c:type="void"/>
5453         </return-value>
5454         <parameters>
5455           <parameter name="category" transfer-ownership="none">
5456             <doc xml:whitespace="preserve">a mark category.</doc>
5457             <type name="utf8" c:type="gchar*"/>
5458           </parameter>
5459           <parameter name="pixbuf" transfer-ownership="none">
5460             <doc xml:whitespace="preserve">a #GdkPixbuf or #NULL.</doc>
5461             <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
5462           </parameter>
5463         </parameters>
5464       </method>
5465       <method name="set_mark_category_icon_from_pixbuf"
5466               c:identifier="gtk_source_view_set_mark_category_icon_from_pixbuf"
5467               version="2.8">
5468         <doc xml:whitespace="preserve">Sets the icon to be used for @category to @pixbuf.
5469 If @pixbuf is #NULL, the icon is unset.</doc>
5470         <return-value transfer-ownership="none">
5471           <type name="none" c:type="void"/>
5472         </return-value>
5473         <parameters>
5474           <parameter name="category" transfer-ownership="none">
5475             <doc xml:whitespace="preserve">a mark category.</doc>
5476             <type name="utf8" c:type="gchar*"/>
5477           </parameter>
5478           <parameter name="pixbuf" transfer-ownership="none">
5479             <doc xml:whitespace="preserve">a #GdkPixbuf or #NULL.</doc>
5480             <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
5481           </parameter>
5482         </parameters>
5483       </method>
5484       <method name="set_mark_category_icon_from_stock"
5485               c:identifier="gtk_source_view_set_mark_category_icon_from_stock"
5486               version="2.8">
5487         <doc xml:whitespace="preserve">Sets the icon to be used for @category to the stock item @stock_id.
5488 If @stock_id is #NULL, the icon is unset.</doc>
5489         <return-value transfer-ownership="none">
5490           <type name="none" c:type="void"/>
5491         </return-value>
5492         <parameters>
5493           <parameter name="category" transfer-ownership="none">
5494             <doc xml:whitespace="preserve">a mark category.</doc>
5495             <type name="utf8" c:type="gchar*"/>
5496           </parameter>
5497           <parameter name="stock_id" transfer-ownership="none">
5498             <doc xml:whitespace="preserve">the stock id or #NULL.</doc>
5499             <type name="utf8" c:type="gchar*"/>
5500           </parameter>
5501         </parameters>
5502       </method>
5503       <method name="set_mark_category_icon_from_icon_name"
5504               c:identifier="gtk_source_view_set_mark_category_icon_from_icon_name"
5505               version="2.8">
5506         <doc xml:whitespace="preserve">Sets the icon to be used for @category to the named theme item @name.
5507 If @name is #NULL, the icon is unset.</doc>
5508         <return-value transfer-ownership="none">
5509           <type name="none" c:type="void"/>
5510         </return-value>
5511         <parameters>
5512           <parameter name="category" transfer-ownership="none">
5513             <doc xml:whitespace="preserve">a mark category.</doc>
5514             <type name="utf8" c:type="gchar*"/>
5515           </parameter>
5516           <parameter name="name" transfer-ownership="none">
5517             <doc xml:whitespace="preserve">the themed icon name or #NULL.</doc>
5518             <type name="utf8" c:type="gchar*"/>
5519           </parameter>
5520         </parameters>
5521       </method>
5522       <method name="get_mark_category_pixbuf"
5523               c:identifier="gtk_source_view_get_mark_category_pixbuf"
5524               version="2.2">
5525         <doc xml:whitespace="preserve">Gets the pixbuf which is associated with the given mark @category.</doc>
5526         <return-value transfer-ownership="full">
5527           <doc xml:whitespace="preserve">the associated #GdkPixbuf, or %NULL if not found.</doc>
5528           <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
5529         </return-value>
5530         <parameters>
5531           <parameter name="category" transfer-ownership="none">
5532             <doc xml:whitespace="preserve">a mark category.</doc>
5533             <type name="utf8" c:type="gchar*"/>
5534           </parameter>
5535         </parameters>
5536       </method>
5537       <method name="set_mark_category_background"
5538               c:identifier="gtk_source_view_set_mark_category_background"
5539               version="2.4">
5540         <doc xml:whitespace="preserve">Sets given background @color for mark @category.
5541 If @color is #NULL, the background color is unset.</doc>
5542         <return-value transfer-ownership="none">
5543           <type name="none" c:type="void"/>
5544         </return-value>
5545         <parameters>
5546           <parameter name="category" transfer-ownership="none">
5547             <doc xml:whitespace="preserve">a mark category.</doc>
5548             <type name="utf8" c:type="gchar*"/>
5549           </parameter>
5550           <parameter name="color" transfer-ownership="none">
5551             <doc xml:whitespace="preserve">background color or %NULL to unset it.</doc>
5552             <type name="Gdk.Color" c:type="GdkColor*"/>
5553           </parameter>
5554         </parameters>
5555       </method>
5556       <method name="get_mark_category_background"
5557               c:identifier="gtk_source_view_get_mark_category_background"
5558               version="2.4">
5559         <doc xml:whitespace="preserve">Gets the background color associated with given @category.
5560 and @dest is set to a valid color, or %FALSE otherwise.</doc>
5561         <return-value transfer-ownership="none">
5562           <doc xml:whitespace="preserve">%TRUE if background color for @category was set</doc>
5563           <type name="boolean" c:type="gboolean"/>
5564         </return-value>
5565         <parameters>
5566           <parameter name="category" transfer-ownership="none">
5567             <doc xml:whitespace="preserve">a mark category.</doc>
5568             <type name="utf8" c:type="gchar*"/>
5569           </parameter>
5570           <parameter name="dest" transfer-ownership="none">
5571             <doc xml:whitespace="preserve">destination #GdkColor structure to fill in.</doc>
5572             <type name="Gdk.Color" c:type="GdkColor*"/>
5573           </parameter>
5574         </parameters>
5575       </method>
5576       <method name="set_mark_category_tooltip_func"
5577               c:identifier="gtk_source_view_set_mark_category_tooltip_func"
5578               version="2.8">
5579         <doc xml:whitespace="preserve">Set a #GtkSourceViewMarkTooltipFunc used to set tooltip on marks from the
5580 given mark @category.
5581 If you also specified a function with
5582 gtk_source_view_set_mark_category_tooltip_markup_func()  the markup 
5583 variant takes precedence.
5584 &lt;informalexample&gt;&lt;programlisting&gt;&lt;![CDATA[
5585 static gchar *
5586 tooltip_func (GtkSourceMark *mark,
5587 gpointer       user_data)
5588 {
5589 gchar *text;
5590 text = get_tooltip_for_mark (mark, user_data);
5591 return text;
5592 }
5593 ...
5594 GtkSourceView *view;
5595 gtk_source_view_set_mark_category_tooltip_func (view, "other-mark",
5596 tooltip_func,
5597 NULL, NULL);
5598 ]]&gt;&lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
5599         <return-value transfer-ownership="none">
5600           <type name="none" c:type="void"/>
5601         </return-value>
5602         <parameters>
5603           <parameter name="category" transfer-ownership="none">
5604             <doc xml:whitespace="preserve">a mark category.</doc>
5605             <type name="utf8" c:type="gchar*"/>
5606           </parameter>
5607           <parameter name="func"
5608                      transfer-ownership="none"
5609                      scope="notified"
5610                      closure="3"
5611                      destroy="4">
5612             <doc xml:whitespace="preserve">a #GtkSourceViewMarkTooltipFunc or %NULL.</doc>
5613             <type name="ViewMarkTooltipFunc"
5614                   c:type="GtkSourceViewMarkTooltipFunc"/>
5615           </parameter>
5616           <parameter name="user_data" transfer-ownership="none">
5617             <doc xml:whitespace="preserve">user data which will be passed to @func. or %NULL if you do not want to supply such a function.</doc>
5618             <type name="any" c:type="gpointer"/>
5619           </parameter>
5620           <parameter name="user_data_notify"
5621                      transfer-ownership="none"
5622                      scope="call">
5623             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
5624           </parameter>
5625         </parameters>
5626       </method>
5627       <method name="set_mark_category_tooltip_markup_func"
5628               c:identifier="gtk_source_view_set_mark_category_tooltip_markup_func"
5629               version="2.8">
5630         <doc xml:whitespace="preserve">See gtk_source_view_set_mark_category_tooltip_func() for more information.</doc>
5631         <return-value transfer-ownership="none">
5632           <type name="none" c:type="void"/>
5633         </return-value>
5634         <parameters>
5635           <parameter name="category" transfer-ownership="none">
5636             <doc xml:whitespace="preserve">a mark category.</doc>
5637             <type name="utf8" c:type="gchar*"/>
5638           </parameter>
5639           <parameter name="markup_func"
5640                      transfer-ownership="none"
5641                      scope="notified"
5642                      closure="3"
5643                      destroy="4">
5644             <doc xml:whitespace="preserve">a #GtkSourceViewMarkTooltipFunc or %NULL.</doc>
5645             <type name="ViewMarkTooltipFunc"
5646                   c:type="GtkSourceViewMarkTooltipFunc"/>
5647           </parameter>
5648           <parameter name="user_data" transfer-ownership="none">
5649             <doc xml:whitespace="preserve">user data which will be passed to @func. or %NULL if you do not want to supply such a function.</doc>
5650             <type name="any" c:type="gpointer"/>
5651           </parameter>
5652           <parameter name="user_data_notify"
5653                      transfer-ownership="none"
5654                      scope="call">
5655             <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
5656           </parameter>
5657         </parameters>
5658       </method>
5659       <method name="set_mark_category_priority"
5660               c:identifier="gtk_source_view_set_mark_category_priority"
5661               version="2.2">
5662         <doc xml:whitespace="preserve">Set the @priority for the given mark @category. When there are
5663 multiple marks on the same line, marks of categories with
5664 higher priorities will be drawn on top.</doc>
5665         <return-value transfer-ownership="none">
5666           <type name="none" c:type="void"/>
5667         </return-value>
5668         <parameters>
5669           <parameter name="category" transfer-ownership="none">
5670             <doc xml:whitespace="preserve">a mark category.</doc>
5671             <type name="utf8" c:type="gchar*"/>
5672           </parameter>
5673           <parameter name="priority" transfer-ownership="none">
5674             <doc xml:whitespace="preserve">the priority for the category</doc>
5675             <type name="int" c:type="gint"/>
5676           </parameter>
5677         </parameters>
5678       </method>
5679       <method name="get_mark_category_priority"
5680               c:identifier="gtk_source_view_get_mark_category_priority"
5681               version="2.2">
5682         <doc xml:whitespace="preserve">Gets the priority which is associated with the given @category.
5683 exists but no priority was set, it defaults to 0.</doc>
5684         <return-value transfer-ownership="none">
5685           <doc xml:whitespace="preserve">the priority or if @category</doc>
5686           <type name="int" c:type="gint"/>
5687         </return-value>
5688         <parameters>
5689           <parameter name="category" transfer-ownership="none">
5690             <doc xml:whitespace="preserve">a mark category.</doc>
5691             <type name="utf8" c:type="gchar*"/>
5692           </parameter>
5693         </parameters>
5694       </method>
5695       <method name="set_smart_home_end"
5696               c:identifier="gtk_source_view_set_smart_home_end">
5697         <doc xml:whitespace="preserve">Set the desired movement of the cursor when HOME and END keys
5698 are pressed.</doc>
5699         <return-value transfer-ownership="none">
5700           <type name="none" c:type="void"/>
5701         </return-value>
5702         <parameters>
5703           <parameter name="smart_he" transfer-ownership="none">
5704             <doc xml:whitespace="preserve">the desired behavior among #GtkSourceSmartHomeEndType.</doc>
5705             <type name="SmartHomeEndType" c:type="GtkSourceSmartHomeEndType"/>
5706           </parameter>
5707         </parameters>
5708       </method>
5709       <method name="get_smart_home_end"
5710               c:identifier="gtk_source_view_get_smart_home_end">
5711         <doc xml:whitespace="preserve">Returns a #GtkSourceSmartHomeEndType end value specifying
5712 how the cursor will move when HOME and END keys are pressed.</doc>
5713         <return-value transfer-ownership="full">
5714           <doc xml:whitespace="preserve">a #GtkSourceSmartHomeEndTypeend value.</doc>
5715           <type name="SmartHomeEndType" c:type="GtkSourceSmartHomeEndType"/>
5716         </return-value>
5717       </method>
5718       <method name="set_draw_spaces"
5719               c:identifier="gtk_source_view_set_draw_spaces">
5720         <doc xml:whitespace="preserve">Set if and how the spaces should be visualized. Specifying @flags as 0 will
5721 disable display of spaces.</doc>
5722         <return-value transfer-ownership="none">
5723           <type name="none" c:type="void"/>
5724         </return-value>
5725         <parameters>
5726           <parameter name="flags" transfer-ownership="none">
5727             <doc xml:whitespace="preserve">#GtkSourceDrawSpacesFlags specifing how white spaces should be displayed</doc>
5728             <type name="DrawSpacesFlags" c:type="GtkSourceDrawSpacesFlags"/>
5729           </parameter>
5730         </parameters>
5731       </method>
5732       <method name="get_draw_spaces"
5733               c:identifier="gtk_source_view_get_draw_spaces">
5734         <doc xml:whitespace="preserve">Returns the #GtkSourceDrawSpacesFlags specifying if and how spaces
5735 should be displayed for this @view.</doc>
5736         <return-value transfer-ownership="full">
5737           <doc xml:whitespace="preserve">the #GtkSourceDrawSpacesFlags, 0 if no spaces should be drawn.</doc>
5738           <type name="DrawSpacesFlags" c:type="GtkSourceDrawSpacesFlags"/>
5739         </return-value>
5740       </method>
5741       <method name="get_completion"
5742               c:identifier="gtk_source_view_get_completion">
5743         <doc xml:whitespace="preserve">Gets the #GtkSourceCompletion associated with @view.</doc>
5744         <return-value transfer-ownership="full">
5745           <doc xml:whitespace="preserve">the #GtkSourceCompletion associated with @view.</doc>
5746           <type name="Completion" c:type="GtkSourceCompletion*"/>
5747         </return-value>
5748       </method>
5749       <method name="get_gutter"
5750               c:identifier="gtk_source_view_get_gutter"
5751               version="2.8">
5752         <doc xml:whitespace="preserve">Returns the #GtkSourceGutter object associated with @window_type for @view.
5753 Only GTK_TEXT_WINDOW_LEFT and GTK_TEXT_WINDOW_RIGHT are supported, 
5754 respectively corresponding to the left and right gutter. The line numbers
5755 and mark category icons are rendered in the gutter corresponding to
5756 GTK_TEXT_WINDOW_LEFT.</doc>
5757         <return-value transfer-ownership="full">
5758           <doc xml:whitespace="preserve">the #GtkSourceGutter.</doc>
5759           <type name="Gutter" c:type="GtkSourceGutter*"/>
5760         </return-value>
5761         <parameters>
5762           <parameter name="window_type" transfer-ownership="none">
5763             <doc xml:whitespace="preserve">the gutter window type</doc>
5764             <type name="Gtk.TextWindowType" c:type="GtkTextWindowType"/>
5765           </parameter>
5766         </parameters>
5767       </method>
5768       <property name="auto-indent" writable="1" transfer-ownership="none">
5769         <type name="boolean" c:type="gboolean"/>
5770       </property>
5771       <property name="completion" transfer-ownership="none">
5772         <type name="Completion" c:type="GtkSourceCompletion"/>
5773       </property>
5774       <property name="draw-spaces" writable="1" transfer-ownership="none">
5775         <type name="DrawSpacesFlags" c:type="GtkSourceDrawSpacesFlags"/>
5776       </property>
5777       <property name="highlight-current-line"
5778                 writable="1"
5779                 transfer-ownership="none">
5780         <type name="boolean" c:type="gboolean"/>
5781       </property>
5782       <property name="indent-on-tab" writable="1" transfer-ownership="none">
5783         <type name="boolean" c:type="gboolean"/>
5784       </property>
5785       <property name="indent-width" writable="1" transfer-ownership="none">
5786         <type name="int" c:type="gint"/>
5787       </property>
5788       <property name="insert-spaces-instead-of-tabs"
5789                 writable="1"
5790                 transfer-ownership="none">
5791         <type name="boolean" c:type="gboolean"/>
5792       </property>
5793       <property name="right-margin-position"
5794                 writable="1"
5795                 transfer-ownership="none">
5796         <type name="uint" c:type="guint"/>
5797       </property>
5798       <property name="show-line-marks" writable="1" transfer-ownership="none">
5799         <type name="boolean" c:type="gboolean"/>
5800       </property>
5801       <property name="show-line-numbers"
5802                 writable="1"
5803                 transfer-ownership="none">
5804         <type name="boolean" c:type="gboolean"/>
5805       </property>
5806       <property name="show-right-margin"
5807                 writable="1"
5808                 transfer-ownership="none">
5809         <type name="boolean" c:type="gboolean"/>
5810       </property>
5811       <property name="smart-home-end" writable="1" transfer-ownership="none">
5812         <type name="SmartHomeEndType" c:type="GtkSourceSmartHomeEndType"/>
5813       </property>
5814       <property name="tab-width" writable="1" transfer-ownership="none">
5815         <type name="uint" c:type="guint"/>
5816       </property>
5817       <field name="parent">
5818         <type name="Gtk.TextView" c:type="GtkTextView"/>
5819       </field>
5820       <field name="priv">
5821         <type name="ViewPrivate" c:type="GtkSourceViewPrivate*"/>
5822       </field>
5823       <glib:signal name="line-mark-activated">
5824         <return-value transfer-ownership="full">
5825           <type name="none" c:type="void"/>
5826         </return-value>
5827         <parameters>
5828           <parameter name="object" transfer-ownership="none">
5829             <type name="Gtk.TextIter" c:type="GtkTextIter"/>
5830           </parameter>
5831           <parameter name="p0" transfer-ownership="none">
5832             <type name="Gdk.Event" c:type="GdkEvent"/>
5833           </parameter>
5834         </parameters>
5835       </glib:signal>
5836       <glib:signal name="move-lines">
5837         <return-value transfer-ownership="full">
5838           <type name="none" c:type="void"/>
5839         </return-value>
5840         <parameters>
5841           <parameter name="object" transfer-ownership="none">
5842             <type name="boolean" c:type="gboolean"/>
5843           </parameter>
5844           <parameter name="p0" transfer-ownership="none">
5845             <type name="int" c:type="gint"/>
5846           </parameter>
5847         </parameters>
5848       </glib:signal>
5849       <glib:signal name="redo">
5850         <return-value transfer-ownership="full">
5851           <type name="none" c:type="void"/>
5852         </return-value>
5853       </glib:signal>
5854       <glib:signal name="show-completion">
5855         <return-value transfer-ownership="full">
5856           <type name="none" c:type="void"/>
5857         </return-value>
5858       </glib:signal>
5859       <glib:signal name="undo">
5860         <return-value transfer-ownership="full">
5861           <type name="none" c:type="void"/>
5862         </return-value>
5863       </glib:signal>
5864     </class>
5865     <record name="ViewClass"
5866             c:type="GtkSourceViewClass"
5867             glib:is-gtype-struct-for="View">
5868       <field name="parent_class">
5869         <type name="Gtk.TextViewClass" c:type="GtkTextViewClass"/>
5870       </field>
5871       <field name="undo">
5872         <callback name="undo" c:type="undo">
5873           <return-value transfer-ownership="none">
5874             <type name="none" c:type="void"/>
5875           </return-value>
5876           <parameters>
5877             <parameter name="view" transfer-ownership="none">
5878               <type name="View" c:type="GtkSourceView*"/>
5879             </parameter>
5880           </parameters>
5881         </callback>
5882       </field>
5883       <field name="redo">
5884         <callback name="redo" c:type="redo">
5885           <return-value transfer-ownership="none">
5886             <type name="none" c:type="void"/>
5887           </return-value>
5888           <parameters>
5889             <parameter name="view" transfer-ownership="none">
5890               <type name="View" c:type="GtkSourceView*"/>
5891             </parameter>
5892           </parameters>
5893         </callback>
5894       </field>
5895       <field name="line_mark_activated">
5896         <callback name="line_mark_activated" c:type="line_mark_activated">
5897           <return-value transfer-ownership="none">
5898             <type name="none" c:type="void"/>
5899           </return-value>
5900           <parameters>
5901             <parameter name="view" transfer-ownership="none">
5902               <type name="View" c:type="GtkSourceView*"/>
5903             </parameter>
5904             <parameter name="iter" transfer-ownership="none">
5905               <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
5906             </parameter>
5907             <parameter name="event" transfer-ownership="none">
5908               <type name="Gdk.Event" c:type="GdkEvent*"/>
5909             </parameter>
5910           </parameters>
5911         </callback>
5912       </field>
5913       <field name="show_completion">
5914         <callback name="show_completion" c:type="show_completion">
5915           <return-value transfer-ownership="none">
5916             <type name="none" c:type="void"/>
5917           </return-value>
5918           <parameters>
5919             <parameter name="view" transfer-ownership="none">
5920               <type name="View" c:type="GtkSourceView*"/>
5921             </parameter>
5922           </parameters>
5923         </callback>
5924       </field>
5925       <field name="move_lines">
5926         <callback name="move_lines" c:type="move_lines">
5927           <return-value transfer-ownership="none">
5928             <type name="none" c:type="void"/>
5929           </return-value>
5930           <parameters>
5931             <parameter name="view" transfer-ownership="none">
5932               <type name="View" c:type="GtkSourceView*"/>
5933             </parameter>
5934             <parameter name="copy" transfer-ownership="none">
5935               <type name="boolean" c:type="gboolean"/>
5936             </parameter>
5937             <parameter name="step" transfer-ownership="none">
5938               <type name="int" c:type="gint"/>
5939             </parameter>
5940           </parameters>
5941         </callback>
5942       </field>
5943       <field name="gtk_source_reserved1">
5944         <callback name="gtk_source_reserved1" c:type="_gtk_source_reserved1">
5945           <return-value transfer-ownership="none">
5946             <type name="none" c:type="void"/>
5947           </return-value>
5948         </callback>
5949       </field>
5950     </record>
5951     <enumeration name="ViewGutterPosition"
5952                  c:type="GtkSourceViewGutterPosition">
5953       <member name="lines"
5954               value="-30"
5955               c:identifier="GTK_SOURCE_VIEW_GUTTER_POSITION_LINES"/>
5956       <member name="marks"
5957               value="-20"
5958               c:identifier="GTK_SOURCE_VIEW_GUTTER_POSITION_MARKS"/>
5959     </enumeration>
5960     <callback name="ViewMarkTooltipFunc" c:type="GtkSourceViewMarkTooltipFunc">
5961       <doc xml:whitespace="preserve">Function type for setting up a tooltip for #GtkSourceMark.</doc>
5962       <return-value transfer-ownership="full">
5963         <doc xml:whitespace="preserve">a newly-allocated string that is going to be shown as tooltip text.</doc>
5964         <type name="utf8" c:type="gchar*"/>
5965       </return-value>
5966       <parameters>
5967         <parameter name="mark" transfer-ownership="none">
5968           <doc xml:whitespace="preserve">the #GtkSourceMark</doc>
5969           <type name="Mark" c:type="GtkSourceMark*"/>
5970         </parameter>
5971         <parameter name="user_data" transfer-ownership="none" closure="1">
5972           <doc xml:whitespace="preserve">user data pointer which was passed to gtk_source_view_set_mark_category_tooltip_func()</doc>
5973           <type name="any" c:type="gpointer"/>
5974         </parameter>
5975       </parameters>
5976     </callback>
5977     <record name="ViewPrivate" c:type="GtkSourceViewPrivate">
5978     </record>
5979     <function name="iter_backward_search"
5980               c:identifier="gtk_source_iter_backward_search">
5981       <doc xml:whitespace="preserve">Same as gtk_text_iter_backward_search(), but supports case insensitive
5982 searching.</doc>
5983       <return-value transfer-ownership="none">
5984         <doc xml:whitespace="preserve">whether a match was found.</doc>
5985         <type name="boolean" c:type="gboolean"/>
5986       </return-value>
5987       <parameters>
5988         <parameter name="iter" transfer-ownership="none">
5989           <doc xml:whitespace="preserve">a #GtkTextIter where the search begins.</doc>
5990           <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
5991         </parameter>
5992         <parameter name="str" transfer-ownership="none">
5993           <doc xml:whitespace="preserve">search string.</doc>
5994           <type name="utf8" c:type="gchar*"/>
5995         </parameter>
5996         <parameter name="flags" transfer-ownership="none">
5997           <doc xml:whitespace="preserve">bitmask of flags affecting the search.</doc>
5998           <type name="SearchFlags" c:type="GtkSourceSearchFlags"/>
5999         </parameter>
6000         <parameter name="match_start" transfer-ownership="none">
6001           <doc xml:whitespace="preserve">return location for start of match, or %NULL.</doc>
6002           <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
6003         </parameter>
6004         <parameter name="match_end" transfer-ownership="none">
6005           <doc xml:whitespace="preserve">return location for end of match, or %NULL.</doc>
6006           <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
6007         </parameter>
6008         <parameter name="limit" transfer-ownership="none">
6009           <doc xml:whitespace="preserve">location of last possible @match_start, or %NULL for start of buffer.</doc>
6010           <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
6011         </parameter>
6012       </parameters>
6013     </function>
6014     <function name="iter_forward_search"
6015               c:identifier="gtk_source_iter_forward_search">
6016       <doc xml:whitespace="preserve">Searches forward for @str. Any match is returned by setting
6017 first character after the match. The search will not continue past
6018 may wish to use @limit to avoid locking up your UI on large
6019 buffers.
6020 If the #GTK_SOURCE_SEARCH_VISIBLE_ONLY flag is present, the match may
6021 have invisible text interspersed in @str. i.e. @str will be a
6022 possibly-noncontiguous subsequence of the matched range. similarly,
6023 if you specify #GTK_SOURCE_SEARCH_TEXT_ONLY, the match may have
6024 pixbufs or child widgets mixed inside the matched range. If these
6025 flags are not given, the match must be exact; the special 0xFFFC
6026 character in @str will match embedded pixbufs or child widgets.
6027 If you specify the #GTK_SOURCE_SEARCH_CASE_INSENSITIVE flag, the text will
6028 be matched regardless of what case it is in.
6029 Same as gtk_text_iter_forward_search(), but supports case insensitive
6030 searching.</doc>
6031       <return-value transfer-ownership="none">
6032         <doc xml:whitespace="preserve">whether a match was found.</doc>
6033         <type name="boolean" c:type="gboolean"/>
6034       </return-value>
6035       <parameters>
6036         <parameter name="iter" transfer-ownership="none">
6037           <doc xml:whitespace="preserve">start of search.</doc>
6038           <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
6039         </parameter>
6040         <parameter name="str" transfer-ownership="none">
6041           <doc xml:whitespace="preserve">a search string.</doc>
6042           <type name="utf8" c:type="gchar*"/>
6043         </parameter>
6044         <parameter name="flags" transfer-ownership="none">
6045           <doc xml:whitespace="preserve">flags affecting how the search is done.</doc>
6046           <type name="SearchFlags" c:type="GtkSourceSearchFlags"/>
6047         </parameter>
6048         <parameter name="match_start" transfer-ownership="none">
6049           <doc xml:whitespace="preserve">return location for start of match, or %NULL.</doc>
6050           <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
6051         </parameter>
6052         <parameter name="match_end" transfer-ownership="none">
6053           <doc xml:whitespace="preserve">return location for end of match, or %NULL.</doc>
6054           <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
6055         </parameter>
6056         <parameter name="limit" transfer-ownership="none">
6057           <doc xml:whitespace="preserve">bound for the search, or %NULL for the end of the buffer.</doc>
6058           <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
6059         </parameter>
6060       </parameters>
6061     </function>
6062   </namespace>
6063 </repository>