<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Gtk" version="3.0"/>
  <package name="gspell-1"/>
  <c:include name="gspell/gspell.h"/>
  <doc:format name="unknown"/>
  <namespace name="Gspell"
             version="1"
             shared-library="libgspell-1.so.2"
             c:identifier-prefixes="Gspell"
             c:symbol-prefixes="gspell">
    <class name="Checker"
           c:symbol-prefix="checker"
           c:type="GspellChecker"
           parent="GObject.Object"
           glib:type-name="GspellChecker"
           glib:get-type="gspell_checker_get_type"
           glib:type-struct="CheckerClass">
      <source-position filename="gspell-checker.h" line="80"/>
      <constructor name="new" c:identifier="gspell_checker_new">
        <doc xml:space="preserve"
             filename="gspell-checker.c"
             line="239">Creates a new #GspellChecker. If @language is %NULL, the default language is
picked with gspell_language_get_default().</doc>
        <source-position filename="gspell-checker.h" line="86"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gspell-checker.c"
               line="246">a new #GspellChecker object.</doc>
          <type name="Checker" c:type="GspellChecker*"/>
        </return-value>
        <parameters>
          <parameter name="language"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="241">the #GspellLanguage to use, or %NULL.</doc>
            <type name="Language" c:type="const GspellLanguage*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="session_cleared">
        <source-position filename="gspell-checker.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="checker" transfer-ownership="none">
            <type name="Checker" c:type="GspellChecker*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="word_added_to_personal">
        <source-position filename="gspell-checker.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="checker" transfer-ownership="none">
            <type name="Checker" c:type="GspellChecker*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="word_added_to_session">
        <source-position filename="gspell-checker.h" line="73"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="checker" transfer-ownership="none">
            <type name="Checker" c:type="GspellChecker*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_word_to_personal"
              c:identifier="gspell_checker_add_word_to_personal">
        <doc xml:space="preserve"
             filename="gspell-checker.c"
             line="488">Adds a word to the personal dictionary. It is typically saved in the user's
home directory.</doc>
        <source-position filename="gspell-checker.h" line="108"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="checker" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="490">a #GspellChecker.</doc>
            <type name="Checker" c:type="GspellChecker*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="491">a word.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="word_length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="492">the byte length of @word, or -1 if @word is nul-terminated.</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_word_to_session"
              c:identifier="gspell_checker_add_word_to_session">
        <doc xml:space="preserve"
             filename="gspell-checker.c"
             line="535">Adds a word to the session dictionary. Each #GspellChecker instance has a
different session dictionary. The session dictionary is lost when the
#GspellChecker:language property changes or when @checker is destroyed or
when gspell_checker_clear_session() is called.

This function is typically called for an “Ignore All” action.</doc>
        <source-position filename="gspell-checker.h" line="113"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="checker" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="537">a #GspellChecker.</doc>
            <type name="Checker" c:type="GspellChecker*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="538">a word.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="word_length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="539">the byte length of @word, or -1 if @word is nul-terminated.</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
        </parameters>
      </method>
      <method name="check_word"
              c:identifier="gspell_checker_check_word"
              throws="1">
        <doc xml:space="preserve"
             filename="gspell-checker.c"
             line="353">If the #GspellChecker:language is %NULL, i.e. when no dictonaries are
available, this function returns %TRUE to limit the damage.</doc>
        <source-position filename="gspell-checker.h" line="97"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-checker.c"
               line="363">%TRUE if @word is correctly spelled, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="checker" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="355">a #GspellChecker.</doc>
            <type name="Checker" c:type="GspellChecker*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="356">the word to check.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="word_length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="357">the byte length of @word, or -1 if @word is nul-terminated.</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear_session" c:identifier="gspell_checker_clear_session">
        <doc xml:space="preserve"
             filename="gspell-checker.c"
             line="586">Clears the session dictionary.</doc>
        <source-position filename="gspell-checker.h" line="118"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="checker" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="588">a #GspellChecker.</doc>
            <type name="Checker" c:type="GspellChecker*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_enchant_dict"
              c:identifier="gspell_checker_get_enchant_dict"
              version="1.6"
              introspectable="0">
        <doc xml:space="preserve"
             filename="gspell-checker.c"
             line="641">Gets the EnchantDict currently used by @checker. It permits to extend
#GspellChecker with more features. Note that by doing so, the other classes
in gspell may no longer work well.

#GspellChecker re-creates a new EnchantDict when the #GspellChecker:language
is changed and when the session is cleared.</doc>
        <source-position filename="gspell-checker.h" line="128"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gspell-checker.c"
               line="652">the EnchantDict currently used by
@checker.</doc>
          <type c:type="EnchantDict*"/>
        </return-value>
        <parameters>
          <instance-parameter name="checker" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="643">a #GspellChecker.</doc>
            <type name="Checker" c:type="GspellChecker*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_language"
              c:identifier="gspell_checker_get_language"
              glib:get-property="language">
        <source-position filename="gspell-checker.h" line="94"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gspell-checker.c"
               line="338">the #GspellLanguage currently used, or %NULL
if no dictionaries are available.</doc>
          <type name="Language" c:type="const GspellLanguage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="checker" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="336">a #GspellChecker.</doc>
            <type name="Checker" c:type="GspellChecker*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_suggestions"
              c:identifier="gspell_checker_get_suggestions">
        <doc xml:space="preserve"
             filename="gspell-checker.c"
             line="429">Gets the suggestions for @word. Free the return value with
g_slist_free_full(suggestions, g_free).</doc>
        <source-position filename="gspell-checker.h" line="103"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gspell-checker.c"
               line="438">the list of suggestions.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="utf8"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="checker" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="431">a #GspellChecker.</doc>
            <type name="Checker" c:type="GspellChecker*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="432">a misspelled word.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="word_length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="433">the byte length of @word, or -1 if @word is nul-terminated.</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_correction"
              c:identifier="gspell_checker_set_correction">
        <doc xml:space="preserve"
             filename="gspell-checker.c"
             line="603">Informs the spell checker that @word is replaced/corrected by @replacement.</doc>
        <source-position filename="gspell-checker.h" line="121"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="checker" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="605">a #GspellChecker.</doc>
            <type name="Checker" c:type="GspellChecker*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="606">a word.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="word_length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="607">the byte length of @word, or -1 if @word is nul-terminated.</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
          <parameter name="replacement" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="608">the replacement word.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="replacement_length" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="609">the byte length of @replacement, or -1 if @replacement
  is nul-terminated.</doc>
            <type name="gssize" c:type="gssize"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_language"
              c:identifier="gspell_checker_set_language"
              glib:set-property="language">
        <doc xml:space="preserve"
             filename="gspell-checker.c"
             line="312">Sets the language to use for the spell checking. If @language is %NULL, the
default language is picked with gspell_language_get_default().</doc>
        <source-position filename="gspell-checker.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="checker" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="314">a #GspellChecker.</doc>
            <type name="Checker" c:type="GspellChecker*"/>
          </instance-parameter>
          <parameter name="language"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="315">the #GspellLanguage to use, or %NULL.</doc>
            <type name="Language" c:type="const GspellLanguage*"/>
          </parameter>
        </parameters>
      </method>
      <property name="language"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_language"
                getter="get_language">
        <doc xml:space="preserve"
             filename="gspell-checker.c"
             line="161">The #GspellLanguage used.</doc>
        <type name="Language"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="session-cleared" when="last">
        <doc xml:space="preserve"
             filename="gspell-checker.c"
             line="211">Emitted when the session dictionary is cleared.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="word-added-to-personal" when="last">
        <doc xml:space="preserve"
             filename="gspell-checker.c"
             line="176">Emitted when a word is added to the personal dictionary.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="179">the added word.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="word-added-to-session" when="last">
        <doc xml:space="preserve"
             filename="gspell-checker.c"
             line="193">Emitted when a word is added to the session dictionary. See
gspell_checker_add_word_to_session().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker.c"
                 line="196">the added word.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="CheckerClass"
            c:type="GspellCheckerClass"
            glib:is-gtype-struct-for="Checker">
      <source-position filename="gspell-checker.h" line="80"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="word_added_to_personal">
        <callback name="word_added_to_personal">
          <source-position filename="gspell-checker.h" line="70"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="checker" transfer-ownership="none">
              <type name="Checker" c:type="GspellChecker*"/>
            </parameter>
            <parameter name="word" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="word_added_to_session">
        <callback name="word_added_to_session">
          <source-position filename="gspell-checker.h" line="73"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="checker" transfer-ownership="none">
              <type name="Checker" c:type="GspellChecker*"/>
            </parameter>
            <parameter name="word" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="session_cleared">
        <callback name="session_cleared">
          <source-position filename="gspell-checker.h" line="76"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="checker" transfer-ownership="none">
              <type name="Checker" c:type="GspellChecker*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="CheckerDialog"
           c:symbol-prefix="checker_dialog"
           c:type="GspellCheckerDialog"
           parent="Gtk.Dialog"
           glib:type-name="GspellCheckerDialog"
           glib:get-type="gspell_checker_dialog_get_type"
           glib:type-struct="CheckerDialogClass">
      <source-position filename="gspell-checker-dialog.h" line="47"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="gspell_checker_dialog_new">
        <source-position filename="gspell-checker-dialog.h" line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-checker-dialog.c"
               line="711">a new #GspellCheckerDialog widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="parent" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker-dialog.c"
                 line="708">transient parent of the dialog.</doc>
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="navigator" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker-dialog.c"
                 line="709">the #GspellNavigator to use.</doc>
            <type name="Navigator" c:type="GspellNavigator*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_spell_navigator"
              c:identifier="gspell_checker_dialog_get_spell_navigator"
              glib:get-property="spell-navigator">
        <source-position filename="gspell-checker-dialog.h" line="54"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-checker-dialog.c"
               line="731">the #GspellNavigator used.</doc>
          <type name="Navigator" c:type="GspellNavigator*"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-checker-dialog.c"
                 line="729">a #GspellCheckerDialog.</doc>
            <type name="CheckerDialog" c:type="GspellCheckerDialog*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="spell-navigator"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_spell_navigator">
        <doc xml:space="preserve"
             filename="gspell-checker-dialog.c"
             line="394">The #GspellNavigator to use.</doc>
        <type name="Navigator"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Dialog" c:type="GtkDialog"/>
      </field>
    </class>
    <record name="CheckerDialogClass"
            c:type="GspellCheckerDialogClass"
            glib:is-gtype-struct-for="CheckerDialog">
      <source-position filename="gspell-checker-dialog.h" line="47"/>
      <field name="parent_class">
        <type name="Gtk.DialogClass" c:type="GtkDialogClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="8">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <enumeration name="CheckerError"
                 glib:type-name="GspellCheckerError"
                 glib:get-type="gspell_checker_error_get_type"
                 c:type="GspellCheckerError"
                 glib:error-domain="gspell-checker-error-quark">
      <doc xml:space="preserve"
           filename="gspell-checker.h"
           line="51">An error code used with %GSPELL_CHECKER_ERROR in a #GError returned
from a spell-checker-related function.</doc>
      <member name="dictionary"
              value="0"
              c:identifier="GSPELL_CHECKER_ERROR_DICTIONARY"
              glib:nick="dictionary"
              glib:name="GSPELL_CHECKER_ERROR_DICTIONARY">
        <doc xml:space="preserve"
             filename="gspell-checker.h"
             line="53">dictionary error.</doc>
      </member>
      <member name="no_language_set"
              value="1"
              c:identifier="GSPELL_CHECKER_ERROR_NO_LANGUAGE_SET"
              glib:nick="no-language-set"
              glib:name="GSPELL_CHECKER_ERROR_NO_LANGUAGE_SET">
        <doc xml:space="preserve"
             filename="gspell-checker.h"
             line="54">no language set.</doc>
      </member>
      <function name="quark" c:identifier="gspell_checker_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <class name="Entry"
           c:symbol-prefix="entry"
           c:type="GspellEntry"
           parent="GObject.Object"
           glib:type-name="GspellEntry"
           glib:get-type="gspell_entry_get_type"
           glib:type-struct="EntryClass">
      <source-position filename="gspell-entry.h" line="35"/>
      <function name="get_from_gtk_entry"
                c:identifier="gspell_entry_get_from_gtk_entry"
                version="1.4">
        <doc xml:space="preserve"
             filename="gspell-entry.c"
             line="1077">Returns the #GspellEntry of @gtk_entry. The returned object is guaranteed
to be the same for the lifetime of @gtk_entry.</doc>
        <source-position filename="gspell-entry.h" line="40"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-entry.c"
               line="1084">the #GspellEntry of @gtk_entry.</doc>
          <type name="Entry" c:type="GspellEntry*"/>
        </return-value>
        <parameters>
          <parameter name="gtk_entry" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-entry.c"
                 line="1079">a #GtkEntry.</doc>
            <type name="Gtk.Entry" c:type="GtkEntry*"/>
          </parameter>
        </parameters>
      </function>
      <method name="basic_setup"
              c:identifier="gspell_entry_basic_setup"
              version="1.4">
        <doc xml:space="preserve"
             filename="gspell-entry.c"
             line="1112">This function is a convenience function that does the following:
- Set a spell checker. The language chosen is the one returned by
  gspell_language_get_default().
- Set the #GspellEntry:inline-spell-checking property to %TRUE.

Example:
|[
GtkEntry *gtk_entry;
GspellEntry *gspell_entry;

gspell_entry = gspell_entry_get_from_gtk_entry (gtk_entry);
gspell_entry_basic_setup (gspell_entry);
]|

This is equivalent to:
|[
GtkEntry *gtk_entry;
GspellEntry *gspell_entry;
GspellChecker *checker;
GtkEntryBuffer *gtk_buffer;
GspellEntryBuffer *gspell_buffer;

checker = gspell_checker_new (NULL);
gtk_buffer = gtk_entry_get_buffer (gtk_entry);
gspell_buffer = gspell_entry_buffer_get_from_gtk_entry_buffer (gtk_buffer);
gspell_entry_buffer_set_spell_checker (gspell_buffer, checker);
g_object_unref (checker);

gspell_entry = gspell_entry_get_from_gtk_entry (gtk_entry);
gspell_entry_set_inline_spell_checking (gspell_entry, TRUE);
]|</doc>
        <source-position filename="gspell-entry.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="gspell_entry" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-entry.c"
                 line="1114">a #GspellEntry.</doc>
            <type name="Entry" c:type="GspellEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_entry"
              c:identifier="gspell_entry_get_entry"
              glib:get-property="entry"
              version="1.4">
        <source-position filename="gspell-entry.h" line="46"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-entry.c"
               line="1172">the #GtkEntry of @gspell_entry.</doc>
          <type name="Gtk.Entry" c:type="GtkEntry*"/>
        </return-value>
        <parameters>
          <instance-parameter name="gspell_entry" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-entry.c"
                 line="1170">a #GspellEntry.</doc>
            <type name="Entry" c:type="GspellEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_inline_spell_checking"
              c:identifier="gspell_entry_get_inline_spell_checking"
              glib:get-property="inline-spell-checking"
              version="1.4">
        <source-position filename="gspell-entry.h" line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-entry.c"
               line="1187">the value of the #GspellEntry:inline-spell-checking property.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="gspell_entry" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-entry.c"
                 line="1185">a #GspellEntry.</doc>
            <type name="Entry" c:type="GspellEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_inline_spell_checking"
              c:identifier="gspell_entry_set_inline_spell_checking"
              glib:set-property="inline-spell-checking"
              version="1.4">
        <doc xml:space="preserve"
             filename="gspell-entry.c"
             line="1198">Sets the #GspellEntry:inline-spell-checking property.</doc>
        <source-position filename="gspell-entry.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="gspell_entry" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-entry.c"
                 line="1200">a #GspellEntry.</doc>
            <type name="Entry" c:type="GspellEntry*"/>
          </instance-parameter>
          <parameter name="enable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-entry.c"
                 line="1201">the new state.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="entry"
                version="1.4"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_entry">
        <doc xml:space="preserve"
             filename="gspell-entry.c"
             line="1033">The #GtkEntry.</doc>
        <type name="Gtk.Entry"/>
      </property>
      <property name="inline-spell-checking"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_inline_spell_checking"
                getter="get_inline_spell_checking"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gspell-entry.c"
             line="1050">Whether the inline spell checking is enabled.

Even if this property is %TRUE, #GspellEntry disables internally the
inline spell checking in case the #GtkEntry:visibility property is
%FALSE.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <class name="EntryBuffer"
           c:symbol-prefix="entry_buffer"
           c:type="GspellEntryBuffer"
           parent="GObject.Object"
           glib:type-name="GspellEntryBuffer"
           glib:get-type="gspell_entry_buffer_get_type"
           glib:type-struct="EntryBufferClass">
      <source-position filename="gspell-entry-buffer.h" line="36"/>
      <function name="get_from_gtk_entry_buffer"
                c:identifier="gspell_entry_buffer_get_from_gtk_entry_buffer"
                version="1.4">
        <doc xml:space="preserve"
             filename="gspell-entry-buffer.c"
             line="162">Returns the #GspellEntryBuffer of @gtk_buffer. The returned object is
guaranteed to be the same for the lifetime of @gtk_buffer.</doc>
        <source-position filename="gspell-entry-buffer.h" line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-entry-buffer.c"
               line="169">the #GspellEntryBuffer of @gtk_buffer.</doc>
          <type name="EntryBuffer" c:type="GspellEntryBuffer*"/>
        </return-value>
        <parameters>
          <parameter name="gtk_buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-entry-buffer.c"
                 line="164">a #GtkEntryBuffer.</doc>
            <type name="Gtk.EntryBuffer" c:type="GtkEntryBuffer*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_buffer"
              c:identifier="gspell_entry_buffer_get_buffer"
              glib:get-property="buffer"
              version="1.4">
        <source-position filename="gspell-entry-buffer.h" line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-entry-buffer.c"
               line="201">the #GtkEntryBuffer of @gspell_buffer.</doc>
          <type name="Gtk.EntryBuffer" c:type="GtkEntryBuffer*"/>
        </return-value>
        <parameters>
          <instance-parameter name="gspell_buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-entry-buffer.c"
                 line="199">a #GspellEntryBuffer.</doc>
            <type name="EntryBuffer" c:type="GspellEntryBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_spell_checker"
              c:identifier="gspell_entry_buffer_get_spell_checker"
              glib:get-property="spell-checker"
              version="1.4">
        <source-position filename="gspell-entry-buffer.h" line="47"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gspell-entry-buffer.c"
               line="216">the #GspellChecker if one has been set,
  or %NULL.</doc>
          <type name="Checker" c:type="GspellChecker*"/>
        </return-value>
        <parameters>
          <instance-parameter name="gspell_buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-entry-buffer.c"
                 line="214">a #GspellEntryBuffer.</doc>
            <type name="EntryBuffer" c:type="GspellEntryBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_spell_checker"
              c:identifier="gspell_entry_buffer_set_spell_checker"
              glib:set-property="spell-checker"
              version="1.4">
        <doc xml:space="preserve"
             filename="gspell-entry-buffer.c"
             line="228">Sets a #GspellChecker to a #GspellEntryBuffer. The @gspell_buffer will own a
reference to @spell_checker, so you can release your reference to
@spell_checker if you no longer need it.</doc>
        <source-position filename="gspell-entry-buffer.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="gspell_buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-entry-buffer.c"
                 line="230">a #GspellEntryBuffer.</doc>
            <type name="EntryBuffer" c:type="GspellEntryBuffer*"/>
          </instance-parameter>
          <parameter name="spell_checker"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gspell-entry-buffer.c"
                 line="231">a #GspellChecker, or %NULL to unset the spell
  checker.</doc>
            <type name="Checker" c:type="GspellChecker*"/>
          </parameter>
        </parameters>
      </method>
      <property name="buffer"
                version="1.4"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_buffer">
        <doc xml:space="preserve"
             filename="gspell-entry-buffer.c"
             line="123">The #GtkEntryBuffer.</doc>
        <type name="Gtk.EntryBuffer"/>
      </property>
      <property name="spell-checker"
                version="1.4"
                writable="1"
                transfer-ownership="none"
                setter="set_spell_checker"
                getter="get_spell_checker">
        <doc xml:space="preserve"
             filename="gspell-entry-buffer.c"
             line="140">The #GspellChecker.</doc>
        <type name="Checker"/>
      </property>
    </class>
    <record name="EntryBufferClass"
            c:type="GspellEntryBufferClass"
            glib:is-gtype-struct-for="EntryBuffer">
      <source-position filename="gspell-entry-buffer.h" line="36"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="EntryClass"
            c:type="GspellEntryClass"
            glib:is-gtype-struct-for="Entry">
      <source-position filename="gspell-entry.h" line="35"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="Language"
            c:type="GspellLanguage"
            opaque="1"
            glib:type-name="GspellLanguage"
            glib:get-type="gspell_language_get_type"
            c:symbol-prefix="language">
      <source-position filename="gspell-language.h" line="39"/>
      <method name="compare" c:identifier="gspell_language_compare">
        <doc xml:space="preserve"
             filename="gspell-language.c"
             line="533">Compares alphabetically two languages by their name, as returned by
gspell_language_get_name().</doc>
        <source-position filename="gspell-language.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-language.c"
               line="541">an integer less than, equal to, or greater than zero, if @language_a
is &lt;, == or &gt; than @language_b.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="language_a" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-language.c"
                 line="535">a #GspellLanguage.</doc>
            <type name="Language" c:type="const GspellLanguage*"/>
          </instance-parameter>
          <parameter name="language_b" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-language.c"
                 line="536">another #GspellLanguage.</doc>
            <type name="Language" c:type="const GspellLanguage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="copy" c:identifier="gspell_language_copy">
        <doc xml:space="preserve"
             filename="gspell-language.c"
             line="554">Used by language bindings.</doc>
        <source-position filename="gspell-language.h" line="68"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gspell-language.c"
               line="560">a copy of @lang.</doc>
          <type name="Language" c:type="GspellLanguage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="language" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-language.c"
                 line="556">a #GspellLanguage.</doc>
            <type name="Language" c:type="const GspellLanguage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="gspell_language_free">
        <doc xml:space="preserve"
             filename="gspell-language.c"
             line="570">Used by language bindings.</doc>
        <source-position filename="gspell-language.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="language" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-language.c"
                 line="572">a #GspellLanguage.</doc>
            <type name="Language" c:type="GspellLanguage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_code" c:identifier="gspell_language_get_code">
        <source-position filename="gspell-language.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-language.c"
               line="505">the @language code, for example fr_BE.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="language" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-language.c"
                 line="503">a #GspellLanguage.</doc>
            <type name="Language" c:type="const GspellLanguage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="gspell_language_get_name">
        <doc xml:space="preserve"
             filename="gspell-language.c"
             line="515">Returns the @language name translated to the current locale. For example
"French (Belgium)" is returned if the current locale is in English and the
@language code is fr_BE.</doc>
        <source-position filename="gspell-language.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-language.c"
               line="523">the @language name.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="language" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-language.c"
                 line="517">a #GspellLanguage.</doc>
            <type name="Language" c:type="const GspellLanguage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="get_available"
                c:identifier="gspell_language_get_available">
        <source-position filename="gspell-language.h" line="47"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-language.c"
               line="323">the list of available
languages, sorted with gspell_language_compare().</doc>
          <type name="GLib.List" c:type="const GList*">
            <type name="Language"/>
          </type>
        </return-value>
      </function>
      <function name="get_default" c:identifier="gspell_language_get_default">
        <doc xml:space="preserve"
             filename="gspell-language.c"
             line="399">Finds the best available language based on the current locale.</doc>
        <source-position filename="gspell-language.h" line="51"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gspell-language.c"
               line="404">the default #GspellLanguage, or %NULL if no dictionaries
are available.</doc>
          <type name="Language" c:type="const GspellLanguage*"/>
        </return-value>
      </function>
      <function name="lookup" c:identifier="gspell_language_lookup">
        <source-position filename="gspell-language.h" line="55"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gspell-language.c"
               line="467">a #GspellLanguage corresponding to @language_code, or
%NULL if not found.</doc>
          <type name="Language" c:type="const GspellLanguage*"/>
        </return-value>
        <parameters>
          <parameter name="language_code" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-language.c"
                 line="465">a language code.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <interface name="LanguageChooser"
               c:symbol-prefix="language_chooser"
               c:type="GspellLanguageChooser"
               glib:type-name="GspellLanguageChooser"
               glib:get-type="gspell_language_chooser_get_type"
               glib:type-struct="LanguageChooserInterface">
      <source-position filename="gspell-language-chooser.h" line="52"/>
      <virtual-method name="get_language_full">
        <source-position filename="gspell-language-chooser.h" line="47"/>
        <return-value transfer-ownership="none">
          <type name="Language" c:type="const GspellLanguage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <type name="LanguageChooser" c:type="GspellLanguageChooser*"/>
          </instance-parameter>
          <parameter name="default_language" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_language" invoker="set_language">
        <doc xml:space="preserve"
             filename="gspell-language-chooser.c"
             line="110">Sets the selected language.</doc>
        <source-position filename="gspell-language-chooser.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-language-chooser.c"
                 line="112">a #GspellLanguageChooser.</doc>
            <type name="LanguageChooser" c:type="GspellLanguageChooser*"/>
          </instance-parameter>
          <parameter name="language"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gspell-language-chooser.c"
                 line="113">a #GspellLanguage or %NULL to pick the default
  language.</doc>
            <type name="Language" c:type="const GspellLanguage*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_language"
              c:identifier="gspell_language_chooser_get_language"
              glib:get-property="language">
        <source-position filename="gspell-language-chooser.h" line="55"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gspell-language-chooser.c"
               line="99">the selected #GspellLanguage, or %NULL if no
dictionaries are available.</doc>
          <type name="Language" c:type="const GspellLanguage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-language-chooser.c"
                 line="97">a #GspellLanguageChooser.</doc>
            <type name="LanguageChooser" c:type="GspellLanguageChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_language_code"
              c:identifier="gspell_language_chooser_get_language_code"
              glib:get-property="language-code">
        <source-position filename="gspell-language-chooser.h" line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-language-chooser.c"
               line="131">the #GspellLanguageChooser:language-code. It cannot be %NULL.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-language-chooser.c"
                 line="129">a #GspellLanguageChooser.</doc>
            <type name="LanguageChooser" c:type="GspellLanguageChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_language"
              c:identifier="gspell_language_chooser_set_language"
              glib:set-property="language">
        <doc xml:space="preserve"
             filename="gspell-language-chooser.c"
             line="110">Sets the selected language.</doc>
        <source-position filename="gspell-language-chooser.h" line="58"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-language-chooser.c"
                 line="112">a #GspellLanguageChooser.</doc>
            <type name="LanguageChooser" c:type="GspellLanguageChooser*"/>
          </instance-parameter>
          <parameter name="language"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gspell-language-chooser.c"
                 line="113">a #GspellLanguage or %NULL to pick the default
  language.</doc>
            <type name="Language" c:type="const GspellLanguage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_language_code"
              c:identifier="gspell_language_chooser_set_language_code"
              glib:set-property="language-code">
        <source-position filename="gspell-language-chooser.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-language-chooser.c"
                 line="157">a #GspellLanguageChooser.</doc>
            <type name="LanguageChooser" c:type="GspellLanguageChooser*"/>
          </instance-parameter>
          <parameter name="language_code"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gspell-language-chooser.c"
                 line="158">a language code, or the empty string or %NULL to
  pick the default language.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="language"
                writable="1"
                transfer-ownership="none"
                setter="set_language"
                getter="get_language">
        <doc xml:space="preserve"
             filename="gspell-language-chooser.c"
             line="66">The selected #GspellLanguage.</doc>
        <type name="Language"/>
      </property>
      <property name="language-code"
                writable="1"
                transfer-ownership="none"
                setter="set_language_code"
                getter="get_language_code">
        <doc xml:space="preserve"
             filename="gspell-language-chooser.c"
             line="79">The empty string if the default language was set and the selection
hasn't changed. Or the language code if an explicit language was set
or if the selection has changed.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
    </interface>
    <class name="LanguageChooserButton"
           c:symbol-prefix="language_chooser_button"
           c:type="GspellLanguageChooserButton"
           parent="Gtk.Button"
           glib:type-name="GspellLanguageChooserButton"
           glib:get-type="gspell_language_chooser_button_get_type"
           glib:type-struct="LanguageChooserButtonClass">
      <source-position filename="gspell-language-chooser-button.h" line="46"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="LanguageChooser"/>
      <implements name="Gtk.Actionable"/>
      <implements name="Gtk.Activatable"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new"
                   c:identifier="gspell_language_chooser_button_new">
        <source-position filename="gspell-language-chooser-button.h"
                         line="49"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-language-chooser-button.c"
               line="318">a new #GspellLanguageChooserButton widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="current_language"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gspell-language-chooser-button.c"
                 line="315">a #GspellLanguage, or %NULL to pick the
  default language.</doc>
            <type name="Language" c:type="const GspellLanguage*"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent_instance">
        <type name="Gtk.Button" c:type="GtkButton"/>
      </field>
    </class>
    <record name="LanguageChooserButtonClass"
            c:type="GspellLanguageChooserButtonClass"
            glib:is-gtype-struct-for="LanguageChooserButton">
      <source-position filename="gspell-language-chooser-button.h" line="46"/>
      <field name="parent_class">
        <type name="Gtk.ButtonClass" c:type="GtkButtonClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="8">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="LanguageChooserDialog"
           c:symbol-prefix="language_chooser_dialog"
           c:type="GspellLanguageChooserDialog"
           parent="Gtk.Dialog"
           glib:type-name="GspellLanguageChooserDialog"
           glib:get-type="gspell_language_chooser_dialog_get_type"
           glib:type-struct="LanguageChooserDialogClass">
      <source-position filename="gspell-language-chooser-dialog.h" line="47"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="LanguageChooser"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new"
                   c:identifier="gspell_language_chooser_dialog_new">
        <source-position filename="gspell-language-chooser-dialog.h"
                         line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-language-chooser-dialog.c"
               line="480">a new #GspellLanguageChooserDialog widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="parent" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-language-chooser-dialog.c"
                 line="475">transient parent of the dialog.</doc>
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="current_language"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gspell-language-chooser-dialog.c"
                 line="476">the #GspellLanguage to select initially, or
  %NULL to pick the default language.</doc>
            <type name="Language" c:type="const GspellLanguage*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-language-chooser-dialog.c"
                 line="478">#GtkDialogFlags</doc>
            <type name="Gtk.DialogFlags" c:type="GtkDialogFlags"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent_instance">
        <type name="Gtk.Dialog" c:type="GtkDialog"/>
      </field>
    </class>
    <record name="LanguageChooserDialogClass"
            c:type="GspellLanguageChooserDialogClass"
            glib:is-gtype-struct-for="LanguageChooserDialog">
      <source-position filename="gspell-language-chooser-dialog.h" line="47"/>
      <field name="parent_class">
        <type name="Gtk.DialogClass" c:type="GtkDialogClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="8">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="LanguageChooserInterface"
            c:type="GspellLanguageChooserInterface"
            glib:is-gtype-struct-for="LanguageChooser">
      <source-position filename="gspell-language-chooser.h" line="52"/>
      <field name="parent_interface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="get_language_full">
        <callback name="get_language_full">
          <source-position filename="gspell-language-chooser.h" line="47"/>
          <return-value transfer-ownership="none">
            <type name="Language" c:type="const GspellLanguage*"/>
          </return-value>
          <parameters>
            <parameter name="chooser" transfer-ownership="none">
              <type name="LanguageChooser" c:type="GspellLanguageChooser*"/>
            </parameter>
            <parameter name="default_language" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_language">
        <callback name="set_language">
          <source-position filename="gspell-language-chooser.h" line="50"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="chooser" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gspell-language-chooser.c"
                   line="112">a #GspellLanguageChooser.</doc>
              <type name="LanguageChooser" c:type="GspellLanguageChooser*"/>
            </parameter>
            <parameter name="language"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="gspell-language-chooser.c"
                   line="113">a #GspellLanguage or %NULL to pick the default
  language.</doc>
              <type name="Language" c:type="const GspellLanguage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <interface name="Navigator"
               c:symbol-prefix="navigator"
               c:type="GspellNavigator"
               glib:type-name="GspellNavigator"
               glib:get-type="gspell_navigator_get_type"
               glib:type-struct="NavigatorInterface">
      <source-position filename="gspell-navigator.h" line="56"/>
      <prerequisite name="GObject.InitiallyUnowned"/>
      <virtual-method name="change" invoker="change">
        <doc xml:space="preserve"
             filename="gspell-navigator.c"
             line="126">Changes the current @word by @change_to in the text. @word must be the same
as returned by the last call to gspell_navigator_goto_next().

This function doesn't call gspell_checker_set_correction(). A widget using a
#GspellNavigator should call gspell_checker_set_correction() in addition to
this function.</doc>
        <source-position filename="gspell-navigator.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="navigator" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-navigator.c"
                 line="128">a #GspellNavigator.</doc>
            <type name="Navigator" c:type="GspellNavigator*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-navigator.c"
                 line="129">the word to change.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="change_to" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-navigator.c"
                 line="130">the replacement.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="change_all" invoker="change_all">
        <doc xml:space="preserve"
             filename="gspell-navigator.c"
             line="149">Changes all occurrences of @word by @change_to in the text.

This function doesn't call gspell_checker_set_correction(). A widget using a
#GspellNavigator should call gspell_checker_set_correction() in addition to
this function.</doc>
        <source-position filename="gspell-navigator.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="navigator" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-navigator.c"
                 line="151">a #GspellNavigator.</doc>
            <type name="Navigator" c:type="GspellNavigator*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-navigator.c"
                 line="152">the word to change.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="change_to" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-navigator.c"
                 line="153">the replacement.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="goto_next" invoker="goto_next" throws="1">
        <doc xml:space="preserve"
             filename="gspell-navigator.c"
             line="85">Goes to the next misspelled word. When called the first time, goes to the
first misspelled word.</doc>
        <source-position filename="gspell-navigator.h" line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-navigator.c"
               line="98">%TRUE if a next misspelled word has been found, %FALSE if the spell
checking is finished or if an error occurred.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="navigator" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-navigator.c"
                 line="87">a #GspellNavigator.</doc>
            <type name="Navigator" c:type="GspellNavigator*"/>
          </instance-parameter>
          <parameter name="word"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gspell-navigator.c"
                 line="88">a location to store an allocated string, or %NULL.
  Use g_free() to free the returned string.</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="spell_checker"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gspell-navigator.c"
                 line="90">a location to store the
  #GspellChecker used, or %NULL. Use g_object_unref() when no longer
  needed.</doc>
            <type name="Checker" c:type="GspellChecker**"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="change" c:identifier="gspell_navigator_change">
        <doc xml:space="preserve"
             filename="gspell-navigator.c"
             line="126">Changes the current @word by @change_to in the text. @word must be the same
as returned by the last call to gspell_navigator_goto_next().

This function doesn't call gspell_checker_set_correction(). A widget using a
#GspellNavigator should call gspell_checker_set_correction() in addition to
this function.</doc>
        <source-position filename="gspell-navigator.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="navigator" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-navigator.c"
                 line="128">a #GspellNavigator.</doc>
            <type name="Navigator" c:type="GspellNavigator*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-navigator.c"
                 line="129">the word to change.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="change_to" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-navigator.c"
                 line="130">the replacement.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="change_all" c:identifier="gspell_navigator_change_all">
        <doc xml:space="preserve"
             filename="gspell-navigator.c"
             line="149">Changes all occurrences of @word by @change_to in the text.

This function doesn't call gspell_checker_set_correction(). A widget using a
#GspellNavigator should call gspell_checker_set_correction() in addition to
this function.</doc>
        <source-position filename="gspell-navigator.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="navigator" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-navigator.c"
                 line="151">a #GspellNavigator.</doc>
            <type name="Navigator" c:type="GspellNavigator*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-navigator.c"
                 line="152">the word to change.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="change_to" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-navigator.c"
                 line="153">the replacement.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="goto_next"
              c:identifier="gspell_navigator_goto_next"
              throws="1">
        <doc xml:space="preserve"
             filename="gspell-navigator.c"
             line="85">Goes to the next misspelled word. When called the first time, goes to the
first misspelled word.</doc>
        <source-position filename="gspell-navigator.h" line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-navigator.c"
               line="98">%TRUE if a next misspelled word has been found, %FALSE if the spell
checking is finished or if an error occurred.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="navigator" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-navigator.c"
                 line="87">a #GspellNavigator.</doc>
            <type name="Navigator" c:type="GspellNavigator*"/>
          </instance-parameter>
          <parameter name="word"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gspell-navigator.c"
                 line="88">a location to store an allocated string, or %NULL.
  Use g_free() to free the returned string.</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="spell_checker"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gspell-navigator.c"
                 line="90">a location to store the
  #GspellChecker used, or %NULL. Use g_object_unref() when no longer
  needed.</doc>
            <type name="Checker" c:type="GspellChecker**"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="NavigatorInterface"
            c:type="GspellNavigatorInterface"
            glib:is-gtype-struct-for="Navigator">
      <source-position filename="gspell-navigator.h" line="56"/>
      <field name="parent_interface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="goto_next">
        <callback name="goto_next" throws="1">
          <source-position filename="gspell-navigator.h" line="44"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-navigator.c"
                 line="98">%TRUE if a next misspelled word has been found, %FALSE if the spell
checking is finished or if an error occurred.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="navigator" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gspell-navigator.c"
                   line="87">a #GspellNavigator.</doc>
              <type name="Navigator" c:type="GspellNavigator*"/>
            </parameter>
            <parameter name="word"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full"
                       optional="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="gspell-navigator.c"
                   line="88">a location to store an allocated string, or %NULL.
  Use g_free() to free the returned string.</doc>
              <type name="utf8" c:type="gchar**"/>
            </parameter>
            <parameter name="spell_checker"
                       direction="out"
                       caller-allocates="0"
                       transfer-ownership="full"
                       optional="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="gspell-navigator.c"
                   line="90">a location to store the
  #GspellChecker used, or %NULL. Use g_object_unref() when no longer
  needed.</doc>
              <type name="Checker" c:type="GspellChecker**"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="change">
        <callback name="change">
          <source-position filename="gspell-navigator.h" line="49"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="navigator" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gspell-navigator.c"
                   line="128">a #GspellNavigator.</doc>
              <type name="Navigator" c:type="GspellNavigator*"/>
            </parameter>
            <parameter name="word" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gspell-navigator.c"
                   line="129">the word to change.</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="change_to" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gspell-navigator.c"
                   line="130">the replacement.</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="change_all">
        <callback name="change_all">
          <source-position filename="gspell-navigator.h" line="53"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="navigator" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gspell-navigator.c"
                   line="151">a #GspellNavigator.</doc>
              <type name="Navigator" c:type="GspellNavigator*"/>
            </parameter>
            <parameter name="word" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gspell-navigator.c"
                   line="152">the word to change.</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="change_to" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gspell-navigator.c"
                   line="153">the replacement.</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="NavigatorTextView"
           c:symbol-prefix="navigator_text_view"
           c:type="GspellNavigatorTextView"
           parent="GObject.InitiallyUnowned"
           glib:type-name="GspellNavigatorTextView"
           glib:get-type="gspell_navigator_text_view_get_type"
           glib:type-struct="NavigatorTextViewClass">
      <source-position filename="gspell-navigator-text-view.h" line="47"/>
      <implements name="Navigator"/>
      <function name="new" c:identifier="gspell_navigator_text_view_new">
        <source-position filename="gspell-navigator-text-view.h" line="50"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-navigator-text-view.c"
               line="524">a new #GspellNavigatorTextView floating object.</doc>
          <type name="Navigator" c:type="GspellNavigator*"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-navigator-text-view.c"
                 line="522">a #GtkTextView.</doc>
            <type name="Gtk.TextView" c:type="GtkTextView*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_view"
              c:identifier="gspell_navigator_text_view_get_view"
              glib:get-property="view">
        <source-position filename="gspell-navigator-text-view.h" line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-navigator-text-view.c"
               line="540">the #GtkTextView.</doc>
          <type name="Gtk.TextView" c:type="GtkTextView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="navigator" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-navigator-text-view.c"
                 line="538">a #GspellNavigatorTextView.</doc>
            <type name="NavigatorTextView" c:type="GspellNavigatorTextView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="view"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_view">
        <doc xml:space="preserve"
             filename="gspell-navigator-text-view.c"
             line="227">The #GtkTextView. The buffer is not sufficient, the view is needed to
scroll to the misspelled words.</doc>
        <type name="Gtk.TextView"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
      </field>
    </class>
    <record name="NavigatorTextViewClass"
            c:type="GspellNavigatorTextViewClass"
            glib:is-gtype-struct-for="NavigatorTextView">
      <source-position filename="gspell-navigator-text-view.h" line="47"/>
      <field name="parent_class">
        <type name="GObject.InitiallyUnownedClass"
              c:type="GInitiallyUnownedClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="8">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="TextBuffer"
           c:symbol-prefix="text_buffer"
           c:type="GspellTextBuffer"
           parent="GObject.Object"
           glib:type-name="GspellTextBuffer"
           glib:get-type="gspell_text_buffer_get_type"
           glib:type-struct="TextBufferClass">
      <source-position filename="gspell-text-buffer.h" line="36"/>
      <function name="get_from_gtk_text_buffer"
                c:identifier="gspell_text_buffer_get_from_gtk_text_buffer">
        <doc xml:space="preserve"
             filename="gspell-text-buffer.c"
             line="184">Returns the #GspellTextBuffer of @gtk_buffer. The returned object is
guaranteed to be the same for the lifetime of @gtk_buffer.</doc>
        <source-position filename="gspell-text-buffer.h" line="41"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-text-buffer.c"
               line="191">the #GspellTextBuffer of @gtk_buffer.</doc>
          <type name="TextBuffer" c:type="GspellTextBuffer*"/>
        </return-value>
        <parameters>
          <parameter name="gtk_buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-text-buffer.c"
                 line="186">a #GtkTextBuffer.</doc>
            <type name="Gtk.TextBuffer" c:type="GtkTextBuffer*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_buffer"
              c:identifier="gspell_text_buffer_get_buffer"
              glib:get-property="buffer">
        <source-position filename="gspell-text-buffer.h" line="44"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-text-buffer.c"
               line="227">the #GtkTextBuffer of @gspell_buffer.</doc>
          <type name="Gtk.TextBuffer" c:type="GtkTextBuffer*"/>
        </return-value>
        <parameters>
          <instance-parameter name="gspell_buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-text-buffer.c"
                 line="225">a #GspellTextBuffer.</doc>
            <type name="TextBuffer" c:type="GspellTextBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_spell_checker"
              c:identifier="gspell_text_buffer_get_spell_checker"
              glib:get-property="spell-checker">
        <source-position filename="gspell-text-buffer.h" line="47"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gspell-text-buffer.c"
               line="241">the #GspellChecker if one has been set,
  or %NULL.</doc>
          <type name="Checker" c:type="GspellChecker*"/>
        </return-value>
        <parameters>
          <instance-parameter name="gspell_buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-text-buffer.c"
                 line="239">a #GspellTextBuffer.</doc>
            <type name="TextBuffer" c:type="GspellTextBuffer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_spell_checker"
              c:identifier="gspell_text_buffer_set_spell_checker"
              glib:set-property="spell-checker">
        <doc xml:space="preserve"
             filename="gspell-text-buffer.c"
             line="252">Sets a #GspellChecker to a #GspellTextBuffer. The @gspell_buffer will own a
reference to @spell_checker, so you can release your reference to
@spell_checker if you no longer need it.</doc>
        <source-position filename="gspell-text-buffer.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="gspell_buffer" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-text-buffer.c"
                 line="254">a #GspellTextBuffer.</doc>
            <type name="TextBuffer" c:type="GspellTextBuffer*"/>
          </instance-parameter>
          <parameter name="spell_checker"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gspell-text-buffer.c"
                 line="255">a #GspellChecker, or %NULL to unset the spell
  checker.</doc>
            <type name="Checker" c:type="GspellChecker*"/>
          </parameter>
        </parameters>
      </method>
      <property name="buffer"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_buffer">
        <doc xml:space="preserve"
             filename="gspell-text-buffer.c"
             line="149">The #GtkTextBuffer.</doc>
        <type name="Gtk.TextBuffer"/>
      </property>
      <property name="spell-checker"
                writable="1"
                transfer-ownership="none"
                setter="set_spell_checker"
                getter="get_spell_checker">
        <doc xml:space="preserve"
             filename="gspell-text-buffer.c"
             line="164">The #GspellChecker.</doc>
        <type name="Checker"/>
      </property>
    </class>
    <record name="TextBufferClass"
            c:type="GspellTextBufferClass"
            glib:is-gtype-struct-for="TextBuffer">
      <source-position filename="gspell-text-buffer.h" line="36"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="TextView"
           c:symbol-prefix="text_view"
           c:type="GspellTextView"
           parent="GObject.Object"
           glib:type-name="GspellTextView"
           glib:get-type="gspell_text_view_get_type"
           glib:type-struct="TextViewClass">
      <source-position filename="gspell-text-view.h" line="45"/>
      <function name="get_from_gtk_text_view"
                c:identifier="gspell_text_view_get_from_gtk_text_view">
        <doc xml:space="preserve"
             filename="gspell-text-view.c"
             line="403">Returns the #GspellTextView of @gtk_view. The returned object is guaranteed
to be the same for the lifetime of @gtk_view.</doc>
        <source-position filename="gspell-text-view.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-text-view.c"
               line="410">the #GspellTextView of @gtk_view.</doc>
          <type name="TextView" c:type="GspellTextView*"/>
        </return-value>
        <parameters>
          <parameter name="gtk_view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-text-view.c"
                 line="405">a #GtkTextView.</doc>
            <type name="Gtk.TextView" c:type="GtkTextView*"/>
          </parameter>
        </parameters>
      </function>
      <method name="basic_setup"
              c:identifier="gspell_text_view_basic_setup"
              version="1.2">
        <doc xml:space="preserve"
             filename="gspell-text-view.c"
             line="437">This function is a convenience function that does the following:
- Set a spell checker. The language chosen is the one returned by
  gspell_language_get_default().
- Set the #GspellTextView:inline-spell-checking property to %TRUE.
- Set the #GspellTextView:enable-language-menu property to %TRUE.

Example:
|[
GtkTextView *gtk_view;
GspellTextView *gspell_view;

gspell_view = gspell_text_view_get_from_gtk_text_view (gtk_view);
gspell_text_view_basic_setup (gspell_view);
]|

This is equivalent to:
|[
GtkTextView *gtk_view;
GspellTextView *gspell_view;
GspellChecker *checker;
GtkTextBuffer *gtk_buffer;
GspellTextBuffer *gspell_buffer;

checker = gspell_checker_new (NULL);
gtk_buffer = gtk_text_view_get_buffer (gtk_view);
gspell_buffer = gspell_text_buffer_get_from_gtk_text_buffer (gtk_buffer);
gspell_text_buffer_set_spell_checker (gspell_buffer, checker);
g_object_unref (checker);

gspell_view = gspell_text_view_get_from_gtk_text_view (gtk_view);
gspell_text_view_set_inline_spell_checking (gspell_view, TRUE);
gspell_text_view_set_enable_language_menu (gspell_view, TRUE);
]|</doc>
        <source-position filename="gspell-text-view.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="gspell_view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-text-view.c"
                 line="439">a #GspellTextView.</doc>
            <type name="TextView" c:type="GspellTextView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_enable_language_menu"
              c:identifier="gspell_text_view_get_enable_language_menu"
              glib:get-property="enable-language-menu"
              version="1.2">
        <source-position filename="gspell-text-view.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-text-view.c"
               line="569">whether the language context menu is enabled.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="gspell_view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-text-view.c"
                 line="567">a #GspellTextView.</doc>
            <type name="TextView" c:type="GspellTextView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_inline_spell_checking"
              c:identifier="gspell_text_view_get_inline_spell_checking"
              glib:get-property="inline-spell-checking">
        <source-position filename="gspell-text-view.h" line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-text-view.c"
               line="520">whether the inline spell checking is enabled.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="gspell_view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-text-view.c"
                 line="518">a #GspellTextView.</doc>
            <type name="TextView" c:type="GspellTextView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_view"
              c:identifier="gspell_text_view_get_view"
              glib:get-property="view">
        <source-position filename="gspell-text-view.h" line="54"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-text-view.c"
               line="503">the #GtkTextView of @gspell_view.</doc>
          <type name="Gtk.TextView" c:type="GtkTextView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="gspell_view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-text-view.c"
                 line="501">a #GspellTextView.</doc>
            <type name="TextView" c:type="GspellTextView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_enable_language_menu"
              c:identifier="gspell_text_view_set_enable_language_menu"
              glib:set-property="enable-language-menu"
              version="1.2">
        <doc xml:space="preserve"
             filename="gspell-text-view.c"
             line="583">Sets whether to enable the language context menu. If enabled, doing a right
click on the #GtkTextView will show a sub-menu to choose the language for the
spell checking. If another language is chosen, it changes the
#GspellChecker:language property of the #GspellTextBuffer:spell-checker of
the #GtkTextView:buffer of the #GspellTextView:view.</doc>
        <source-position filename="gspell-text-view.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="gspell_view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-text-view.c"
                 line="585">a #GspellTextView.</doc>
            <type name="TextView" c:type="GspellTextView*"/>
          </instance-parameter>
          <parameter name="enable_language_menu" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-text-view.c"
                 line="586">whether to enable the language context menu.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_inline_spell_checking"
              c:identifier="gspell_text_view_set_inline_spell_checking"
              glib:set-property="inline-spell-checking">
        <doc xml:space="preserve"
             filename="gspell-text-view.c"
             line="533">Enables or disables the inline spell checking.</doc>
        <source-position filename="gspell-text-view.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="gspell_view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-text-view.c"
                 line="535">a #GspellTextView.</doc>
            <type name="TextView" c:type="GspellTextView*"/>
          </instance-parameter>
          <parameter name="enable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gspell-text-view.c"
                 line="536">the new state.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="enable-language-menu"
                version="1.2"
                writable="1"
                transfer-ownership="none"
                setter="set_enable_language_menu"
                getter="get_enable_language_menu"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gspell-text-view.c"
             line="380">When the context menu is shown, whether to add a sub-menu to select
the language for the spell checking.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="inline-spell-checking"
                writable="1"
                transfer-ownership="none"
                setter="set_inline_spell_checking"
                getter="get_inline_spell_checking"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gspell-text-view.c"
             line="366">Whether the inline spell checking is enabled.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="view"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_view">
        <doc xml:space="preserve"
             filename="gspell-text-view.c"
             line="351">The #GtkTextView.</doc>
        <type name="Gtk.TextView"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="TextViewClass"
            c:type="GspellTextViewClass"
            glib:is-gtype-struct-for="TextView">
      <source-position filename="gspell-text-view.h" line="45"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="8">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <docsection name="checker">
      <doc xml:space="preserve"
           filename="gspell-checker.c"
           line="35">#GspellChecker is a spell checker.

If the #GspellChecker:language property is %NULL, it means that no
dictonaries are available, in which case the #GspellChecker is in a
“disabled” (but allowed) state.

gspell uses the [Enchant](https://abiword.github.io/enchant/) library. The
use of Enchant is part of the gspell API, #GspellChecker exposes the
EnchantDict with the gspell_checker_get_enchant_dict() function.</doc>
    </docsection>
    <docsection name="checker-dialog">
      <doc xml:space="preserve"
           filename="gspell-checker-dialog.c"
           line="29">#GspellCheckerDialog is a #GtkDialog to spell check a document one word
at a time. It uses a #GspellNavigator.</doc>
    </docsection>
    <function name="checker_error_quark"
              c:identifier="gspell_checker_error_quark"
              moved-to="CheckerError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <docsection name="entry">
      <doc xml:space="preserve"
           filename="gspell-entry.c"
           line="32">#GspellEntry extends the #GtkEntry class with inline spell checking.
Misspelled words are highlighted with a red %PANGO_UNDERLINE_SINGLE.
Right-clicking a misspelled word pops up a context menu of suggested
replacements. The context menu also contains an “Ignore All” item to add the
misspelled word to the session dictionary. And an “Add” item to add the word
to the personal dictionary.

For a basic use-case, there is the gspell_entry_basic_setup() convenience
function.

If you don't use the gspell_entry_basic_setup() function, you need to call
gspell_entry_buffer_set_spell_checker() to associate a #GspellChecker to the
#GtkEntryBuffer.

Note that #GspellEntry extends the #GtkEntry class but without subclassing
it, because #GtkEntry is already subclassed by #GtkSearchEntry for example.

%PANGO_UNDERLINE_SINGLE is used for consistency with #GspellTextView.
If you want a %PANGO_UNDERLINE_ERROR instead (a wavy underline), please fix
[this bug](https://bugzilla.gnome.org/show_bug.cgi?id=763741) first.</doc>
    </docsection>
    <docsection name="entry-buffer">
      <doc xml:space="preserve"
           filename="gspell-entry-buffer.c"
           line="26">#GspellEntryBuffer extends the #GtkEntryBuffer class with spell checking
support.</doc>
    </docsection>
    <docsection name="language">
      <doc xml:space="preserve"
           filename="gspell-language.c"
           line="36">#GspellLanguage represents a language that can be used for the spell
checking, i.e. a language for which a dictionary is installed.</doc>
    </docsection>
    <docsection name="language-chooser">
      <doc xml:space="preserve"
           filename="gspell-language-chooser.c"
           line="26">#GspellLanguageChooser is an interface that is implemented by widgets for
choosing a #GspellLanguage.

There are two properties: #GspellLanguageChooser:language and
#GspellLanguageChooser:language-code. They are kept in sync. The former is
useful, for example, to bind it to the #GspellChecker's language property
with g_object_bind_property(). The latter is useful to bind it to a
#GSettings key with g_settings_bind().

When setting the language, %NULL or the empty string can be passed to pick
the default language. In that case, the #GspellLanguageChooser:language-code
property will contain the empty string, whereas the
#GspellLanguageChooser:language property will contain the actual
#GspellLanguage as returned by gspell_language_get_default(). If the user
launches the #GspellLanguageChooser and chooses explicitly a language, then
the #GspellLanguageChooser:language-code property will no longer be empty,
even if it is the same language as the default language.

Note that if an explicit language (non-%NULL or not the empty string) is set
to the #GspellLanguageChooser, then the #GspellLanguageChooser:language-code
property will not be empty, it will contain the language code of the passed
language, even if the language is the same as the default language.

Thus, a good default value for a #GSettings key is the empty string. That
way, the default language is picked, and can change depending on the locale.
But once the user has chosen a language, that language is kept in the
#GSettings key.</doc>
    </docsection>
    <docsection name="language-chooser-button">
      <doc xml:space="preserve"
           filename="gspell-language-chooser-button.c"
           line="29">#GspellLanguageChooserButton is a #GtkButton to choose an available
#GspellLanguage. #GspellLanguageChooserButton implements the
#GspellLanguageChooser interface.

The button contains a label with the #GspellLanguageChooser:language name, as
returned by gspell_language_get_name(). When the button is clicked, a
#GspellLanguageChooserDialog is launched to choose the language.</doc>
    </docsection>
    <docsection name="language-chooser-dialog">
      <doc xml:space="preserve"
           filename="gspell-language-chooser-dialog.c"
           line="28">#GspellLanguageChooserDialog is a #GtkDialog to choose an available
#GspellLanguage. #GspellLanguageChooserDialog implements the
#GspellLanguageChooser interface.

The #GspellLanguageChooser:language and #GspellLanguageChooser:language-code
properties are updated only when the Select button is pressed or when a row
is activated (e.g. with a double-click).

The application is responsible to destroy the dialog, typically when the
#GtkDialog::response signal has been received or gtk_dialog_run() has
returned.</doc>
    </docsection>
    <function name="language_get_available"
              c:identifier="gspell_language_get_available"
              moved-to="Language.get_available">
      <source-position filename="gspell-language.h" line="47"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gspell-language.c"
             line="323">the list of available
languages, sorted with gspell_language_compare().</doc>
        <type name="GLib.List" c:type="const GList*">
          <type name="Language"/>
        </type>
      </return-value>
    </function>
    <function name="language_get_default"
              c:identifier="gspell_language_get_default"
              moved-to="Language.get_default">
      <doc xml:space="preserve"
           filename="gspell-language.c"
           line="399">Finds the best available language based on the current locale.</doc>
      <source-position filename="gspell-language.h" line="51"/>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve"
             filename="gspell-language.c"
             line="404">the default #GspellLanguage, or %NULL if no dictionaries
are available.</doc>
        <type name="Language" c:type="const GspellLanguage*"/>
      </return-value>
    </function>
    <function name="language_lookup"
              c:identifier="gspell_language_lookup"
              moved-to="Language.lookup">
      <source-position filename="gspell-language.h" line="55"/>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve"
             filename="gspell-language.c"
             line="467">a #GspellLanguage corresponding to @language_code, or
%NULL if not found.</doc>
        <type name="Language" c:type="const GspellLanguage*"/>
      </return-value>
      <parameters>
        <parameter name="language_code" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gspell-language.c"
               line="465">a language code.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <docsection name="navigator">
      <doc xml:space="preserve"
           filename="gspell-navigator.c"
           line="26">#GspellNavigator is an interface to navigate through misspelled words,
and correct the mistakes.

It is used by widgets like #GspellCheckerDialog. The purpose is to
spell-check a document one word at a time.

It is not mandatory to navigate through all the text. Depending on the
context, an implementation could spell-check only the current page, or the
selection, etc.

For #GtkTextView, see the #GspellNavigatorTextView implementation of this
interface.

The #GspellNavigator interface requires #GInitiallyUnowned because a
#GspellNavigator object is meant to be passed as an argument to a #GtkWidget
constructor, for example gspell_checker_dialog_new(). This permits to
decouple the frontend from the backend, making the #GtkWidget re-usable for
different #GspellNavigator's.</doc>
    </docsection>
    <docsection name="navigator-text-view">
      <doc xml:space="preserve"
           filename="gspell-navigator-text-view.c"
           line="30">#GspellNavigatorTextView is a simple implementation of the
#GspellNavigator interface for the #GtkTextView widget.

If a selection exists in the #GtkTextView, only the selected text is spell
checked. Otherwise the whole buffer is checked.

If only the selected text is spell checked, the implementation of
gspell_navigator_change_all() changes only the occurrences that were
present in the selection.

The implementation of gspell_navigator_goto_next() selects the
misspelled word and scrolls to it.

You need to call gspell_text_buffer_set_spell_checker() to associate a
#GspellChecker to the #GtkTextBuffer.</doc>
    </docsection>
    <docsection name="text-buffer">
      <doc xml:space="preserve"
           filename="gspell-text-buffer.c"
           line="26">#GspellTextBuffer extends the #GtkTextBuffer class but without subclassing
it, because the GtkSourceView library has already a #GtkTextBuffer subclass.

# Support of the no-spell-check tag defined by GtkSourceView

The syntax highlighting engine of the [GtkSourceView
library](https://wiki.gnome.org/Projects/GtkSourceView) has a feature called
“context classes”. One of the standard context classes is
“&lt;emphasis&gt;no-spell-check&lt;/emphasis&gt;”: it defines the regions in the
#GtkTextBuffer that should not be spell-checked.

GtkSourceView creates a #GtkTextTag named
`"gtksourceview:context-classes:no-spell-check"`. gspell reads this tag, to
skip the text contained within the tag.

If you use the GtkSourceView library in your application, keep in mind that
the #GtkTextTag created by GtkSourceView is for read-only purposes; you
cannot apply it yourself to other regions.

On the other hand if the GtkSourceView library is not used, you can create a
#GtkTextTag with the same name to mark certain regions in the text that
gspell should skip. As it is not a great API, it is
[planned](https://bugzilla.gnome.org/show_bug.cgi?id=771582) to add an
explicit API in #GspellTextBuffer to set a #GtkTextTag that gspell should
skip.

See the class description of #GtkSourceBuffer for more information about
context classes.</doc>
    </docsection>
    <docsection name="text-view">
      <doc xml:space="preserve"
           filename="gspell-text-view.c"
           line="32">#GspellTextView extends the #GtkTextView class with inline spell checking.
Misspelled words are highlighted with a red %PANGO_UNDERLINE_SINGLE.
Right-clicking a misspelled word pops up a context menu of suggested
replacements. The context menu also contains an “Ignore All” item to add the
misspelled word to the session dictionary. And an “Add” item to add the word
to the personal dictionary.

For a basic use-case, there is the gspell_text_view_basic_setup() convenience
function.

The spell is checked only on the visible region of the #GtkTextView. Note
that if a same #GtkTextBuffer is used for several views, the misspelled words
are visible in all views, because the highlighting is achieved with a
#GtkTextTag added to the buffer.

If you don't use the gspell_text_view_basic_setup() function, you need to
call gspell_text_buffer_set_spell_checker() to associate a #GspellChecker to
the #GtkTextBuffer.

Note that #GspellTextView extends the #GtkTextView class but without
subclassing it, because the GtkSourceView library has already a #GtkTextView
subclass.

If you want a %PANGO_UNDERLINE_ERROR instead (a wavy underline), please fix
[this bug](https://bugzilla.gnome.org/show_bug.cgi?id=763741) first.</doc>
    </docsection>
  </namespace>
</repository>
