<?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: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"/>
  <namespace name="Gspell"
             version="1"
             shared-library="libgspell-1.so.1"
             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">
      <constructor name="new" c:identifier="gspell_checker_new">
        <doc xml:space="preserve">Creates a new #GspellChecker. If @language is %NULL, the default language is
picked with gspell_language_get_default().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">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">the #GspellLanguage to use, or %NULL.</doc>
            <type name="Language" c:type="const GspellLanguage*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="session_cleared">
        <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">
        <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">
        <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">Adds a word to the personal dictionary. It is typically saved in the user's
home directory.</doc>
        <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">a #GspellChecker.</doc>
            <type name="Checker" c:type="GspellChecker*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve">a word.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="word_length" transfer-ownership="none">
            <doc xml:space="preserve">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">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>
        <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">a #GspellChecker.</doc>
            <type name="Checker" c:type="GspellChecker*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve">a word.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="word_length" transfer-ownership="none">
            <doc xml:space="preserve">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">If the #GspellChecker:language is %NULL, i.e. when no dictonaries are
available, this function returns %TRUE to limit the damage.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%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">a #GspellChecker.</doc>
            <type name="Checker" c:type="GspellChecker*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve">the word to check.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="word_length" transfer-ownership="none">
            <doc xml:space="preserve">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">Clears the session dictionary.</doc>
        <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">a #GspellChecker.</doc>
            <type name="Checker" c:type="GspellChecker*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_language" c:identifier="gspell_checker_get_language">
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve">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">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">Gets the suggestions for @word. Free the return value with
g_slist_free_full(suggestions, g_free).</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">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">a #GspellChecker.</doc>
            <type name="Checker" c:type="GspellChecker*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve">a misspelled word.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="word_length" transfer-ownership="none">
            <doc xml:space="preserve">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">Informs the spell checker that @word is replaced/corrected by @replacement.</doc>
        <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">a #GspellChecker.</doc>
            <type name="Checker" c:type="GspellChecker*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve">a word.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="word_length" transfer-ownership="none">
            <doc xml:space="preserve">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">the replacement word.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="replacement_length" transfer-ownership="none">
            <doc xml:space="preserve">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">
        <doc xml:space="preserve">Sets the language to use for the spell checking. If @language is %NULL, the
default language is picked with gspell_language_get_default().</doc>
        <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">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">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">
        <doc xml:space="preserve">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">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">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">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">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">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">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="word_added_to_personal">
        <callback name="word_added_to_personal">
          <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">
          <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">
          <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" c:type="gpointer" 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">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="gspell_checker_dialog_new">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">transient parent of the dialog.</doc>
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="navigator" transfer-ownership="none">
            <doc xml:space="preserve">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">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #GspellNavigator used.</doc>
          <type name="Navigator" c:type="GspellNavigator*"/>
        </return-value>
        <parameters>
          <instance-parameter name="dialog" transfer-ownership="none">
            <doc xml:space="preserve">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">
        <doc xml:space="preserve">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">
      <field name="parent_class">
        <type name="Gtk.DialogClass" c:type="GtkDialogClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" 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">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">
        <doc xml:space="preserve">dictionary error.</doc>
      </member>
      <member name="no_language_set"
              value="1"
              c:identifier="GSPELL_CHECKER_ERROR_NO_LANGUAGE_SET"
              glib:nick="no-language-set">
        <doc xml:space="preserve">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">
      <function name="get_from_gtk_entry"
                c:identifier="gspell_entry_get_from_gtk_entry"
                version="1.4">
        <doc xml:space="preserve">Returns the #GspellEntry of @gtk_entry. The returned object is guaranteed
to be the same for the lifetime of @gtk_entry.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">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">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>
        <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">a #GspellEntry.</doc>
            <type name="Entry" c:type="GspellEntry*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_entry"
              c:identifier="gspell_entry_get_entry"
              version="1.4">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">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"
              version="1.4">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">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"
              version="1.4">
        <doc xml:space="preserve">Sets the #GspellEntry:inline-spell-checking property.</doc>
        <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">a #GspellEntry.</doc>
            <type name="Entry" c:type="GspellEntry*"/>
          </instance-parameter>
          <parameter name="enable" transfer-ownership="none">
            <doc xml:space="preserve">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">
        <doc xml:space="preserve">The #GtkEntry.</doc>
        <type name="Gtk.Entry"/>
      </property>
      <property name="inline-spell-checking"
                version="1.4"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">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">
      <function name="get_from_gtk_entry_buffer"
                c:identifier="gspell_entry_buffer_get_from_gtk_entry_buffer"
                version="1.4">
        <doc xml:space="preserve">Returns the #GspellEntryBuffer of @gtk_buffer. The returned object is
guaranteed to be the same for the lifetime of @gtk_buffer.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">a #GtkEntryBuffer.</doc>
            <type name="Gtk.EntryBuffer" c:type="GtkEntryBuffer*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_buffer"
              c:identifier="gspell_entry_buffer_get_buffer"
              version="1.4">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">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"
              version="1.4">
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve">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">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"
              version="1.4">
        <doc xml:space="preserve">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>
        <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">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">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">
        <doc xml:space="preserve">The #GtkEntryBuffer.</doc>
        <type name="Gtk.EntryBuffer"/>
      </property>
      <property name="spell-checker"
                version="1.4"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The #GspellChecker.</doc>
        <type name="Checker"/>
      </property>
    </class>
    <record name="EntryBufferClass"
            c:type="GspellEntryBufferClass"
            glib:is-gtype-struct-for="EntryBuffer">
      <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">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="Language"
            c:type="GspellLanguage"
            glib:type-name="GspellLanguage"
            glib:get-type="gspell_language_get_type"
            c:symbol-prefix="language">
      <method name="compare" c:identifier="gspell_language_compare">
        <doc xml:space="preserve">Compares alphabetically two languages by their name, as returned by
gspell_language_get_name().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">a #GspellLanguage.</doc>
            <type name="Language" c:type="const GspellLanguage*"/>
          </instance-parameter>
          <parameter name="language_b" transfer-ownership="none">
            <doc xml:space="preserve">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">Used by language bindings.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">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">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">Used by language bindings.</doc>
        <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">a #GspellLanguage.</doc>
            <type name="Language" c:type="GspellLanguage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_code" c:identifier="gspell_language_get_code">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">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">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>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">a #GspellLanguage.</doc>
            <type name="Language" c:type="const GspellLanguage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="get_available"
                c:identifier="gspell_language_get_available">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">Finds the best available language based on the current locale.</doc>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve">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">
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve">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">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">
      <virtual-method name="get_language_full">
        <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">Sets the selected language.</doc>
        <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">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">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">
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve">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">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">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">a #GspellLanguageChooser.</doc>
            <type name="LanguageChooser" c:type="GspellLanguageChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_language"
              c:identifier="gspell_language_chooser_set_language">
        <doc xml:space="preserve">Sets the selected language.</doc>
        <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">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">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">
        <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">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">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">
        <doc xml:space="preserve">The selected #GspellLanguage.</doc>
        <type name="Language"/>
      </property>
      <property name="language-code" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">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">
      <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">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">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">
      <field name="parent_class">
        <type name="Gtk.ButtonClass" c:type="GtkButtonClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" 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">
      <implements name="Atk.ImplementorIface"/>
      <implements name="LanguageChooser"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new"
                   c:identifier="gspell_language_chooser_dialog_new">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">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">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">#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">
      <field name="parent_class">
        <type name="Gtk.DialogClass" c:type="GtkDialogClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="8">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="LanguageChooserInterface"
            c:type="GspellLanguageChooserInterface"
            glib:is-gtype-struct-for="LanguageChooser">
      <field name="parent_interface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="get_language_full">
        <callback name="get_language_full">
          <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">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="chooser" transfer-ownership="none">
              <doc xml:space="preserve">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">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">
      <prerequisite name="GObject.InitiallyUnowned"/>
      <virtual-method name="change" invoker="change">
        <doc xml:space="preserve">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>
        <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">a #GspellNavigator.</doc>
            <type name="Navigator" c:type="GspellNavigator*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve">the word to change.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="change_to" transfer-ownership="none">
            <doc xml:space="preserve">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">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>
        <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">a #GspellNavigator.</doc>
            <type name="Navigator" c:type="GspellNavigator*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve">the word to change.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="change_to" transfer-ownership="none">
            <doc xml:space="preserve">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">Goes to the next misspelled word. When called the first time, goes to the
first misspelled word.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%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">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">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">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">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>
        <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">a #GspellNavigator.</doc>
            <type name="Navigator" c:type="GspellNavigator*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve">the word to change.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="change_to" transfer-ownership="none">
            <doc xml:space="preserve">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">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>
        <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">a #GspellNavigator.</doc>
            <type name="Navigator" c:type="GspellNavigator*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve">the word to change.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="change_to" transfer-ownership="none">
            <doc xml:space="preserve">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">Goes to the next misspelled word. When called the first time, goes to the
first misspelled word.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%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">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">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">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">
      <field name="parent_interface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="goto_next">
        <callback name="goto_next" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">%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">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">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">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">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="navigator" transfer-ownership="none">
              <doc xml:space="preserve">a #GspellNavigator.</doc>
              <type name="Navigator" c:type="GspellNavigator*"/>
            </parameter>
            <parameter name="word" transfer-ownership="none">
              <doc xml:space="preserve">the word to change.</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="change_to" transfer-ownership="none">
              <doc xml:space="preserve">the replacement.</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="change_all">
        <callback name="change_all">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="navigator" transfer-ownership="none">
              <doc xml:space="preserve">a #GspellNavigator.</doc>
              <type name="Navigator" c:type="GspellNavigator*"/>
            </parameter>
            <parameter name="word" transfer-ownership="none">
              <doc xml:space="preserve">the word to change.</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="change_to" transfer-ownership="none">
              <doc xml:space="preserve">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">
      <implements name="Navigator"/>
      <function name="new" c:identifier="gspell_navigator_text_view_new">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">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">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #GtkTextView.</doc>
          <type name="Gtk.TextView" c:type="GtkTextView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="navigator" transfer-ownership="none">
            <doc xml:space="preserve">a #GspellNavigatorTextView.</doc>
            <type name="NavigatorTextView" c:type="GspellNavigatorTextView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="view"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve">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">
      <field name="parent_class">
        <type name="GObject.InitiallyUnownedClass"
              c:type="GInitiallyUnownedClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" 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">
      <function name="get_from_gtk_text_buffer"
                c:identifier="gspell_text_buffer_get_from_gtk_text_buffer">
        <doc xml:space="preserve">Returns the #GspellTextBuffer of @gtk_buffer. The returned object is
guaranteed to be the same for the lifetime of @gtk_buffer.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">a #GtkTextBuffer.</doc>
            <type name="Gtk.TextBuffer" c:type="GtkTextBuffer*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_buffer" c:identifier="gspell_text_buffer_get_buffer">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">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">
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve">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">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">
        <doc xml:space="preserve">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>
        <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">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">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">
        <doc xml:space="preserve">The #GtkTextBuffer.</doc>
        <type name="Gtk.TextBuffer"/>
      </property>
      <property name="spell-checker" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The #GspellChecker.</doc>
        <type name="Checker"/>
      </property>
    </class>
    <record name="TextBufferClass"
            c:type="GspellTextBufferClass"
            glib:is-gtype-struct-for="TextBuffer">
      <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">
      <function name="get_from_gtk_text_view"
                c:identifier="gspell_text_view_get_from_gtk_text_view">
        <doc xml:space="preserve">Returns the #GspellTextView of @gtk_view. The returned object is guaranteed
to be the same for the lifetime of @gtk_view.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">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">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>
        <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">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"
              version="1.2">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">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">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">a #GspellTextView.</doc>
            <type name="TextView" c:type="GspellTextView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_view" c:identifier="gspell_text_view_get_view">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">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">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"
              version="1.2">
        <doc xml:space="preserve">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>
        <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">a #GspellTextView.</doc>
            <type name="TextView" c:type="GspellTextView*"/>
          </instance-parameter>
          <parameter name="enable_language_menu" transfer-ownership="none">
            <doc xml:space="preserve">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">
        <doc xml:space="preserve">Enables or disables the inline spell checking.</doc>
        <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">a #GspellTextView.</doc>
            <type name="TextView" c:type="GspellTextView*"/>
          </instance-parameter>
          <parameter name="enable" transfer-ownership="none">
            <doc xml:space="preserve">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">
        <doc xml:space="preserve">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">
        <doc xml:space="preserve">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">
        <doc xml:space="preserve">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">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" c:type="gpointer" fixed-size="8">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <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>
    <function name="language_get_available"
              c:identifier="gspell_language_get_available"
              moved-to="Language.get_available">
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">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">Finds the best available language based on the current locale.</doc>
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve">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">
      <return-value transfer-ownership="none" nullable="1">
        <doc xml:space="preserve">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">a language code.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
