<?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="GLib" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <include name="Gtk" version="3.0"/>
  <c:include name="gtkspell/gtkspell.h"/>
  <namespace name="GtkSpell"
             version="3.0"
             shared-library="libgtkspell3-3.so.0"
             c:identifier-prefixes="GtkSpell"
             c:symbol-prefixes="gtk_spell">
    <class name="Checker"
           c:symbol-prefix="checker"
           c:type="GtkSpellChecker"
           parent="GObject.InitiallyUnowned"
           glib:type-name="GtkSpellChecker"
           glib:get-type="gtk_spell_checker_get_type"
           glib:type-struct="CheckerClass">
      <doc xml:space="preserve">The #GtkSpellChecker struct contains only private fields.</doc>
      <constructor name="new" c:identifier="gtk_spell_checker_new">
        <doc xml:space="preserve">Create a new #GtkSpellChecker object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a new #GtkSpellChecker object.</doc>
          <type name="Checker" c:type="GtkSpellChecker*"/>
        </return-value>
      </constructor>
      <function name="decode_language_code"
                c:identifier="gtk_spell_checker_decode_language_code"
                version="3.0.3">
        <doc xml:space="preserve">Translates the language code to a human readable format
(i.e. "en_US" -&gt; "English (United States)").
Note: If the iso-codes package is not available, the unchanged code is
returned.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">The translated language specifier. Use g_free to
free the returned string after use.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="lang" transfer-ownership="none">
            <doc xml:space="preserve">The language locale specifier (i.e. "en_US").</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_from_text_view"
                c:identifier="gtk_spell_checker_get_from_text_view">
        <doc xml:space="preserve">Retrieves the #GtkSpellChecker object attached to a text view.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #GtkSpellChecker object, or %NULL if there is no #GtkSpellChecker
attached to @view.</doc>
          <type name="Checker" c:type="GtkSpellChecker*"/>
        </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>
      <function name="get_language_list"
                c:identifier="gtk_spell_checker_get_language_list"
                version="3.0.3">
        <doc xml:space="preserve">Requests the list of available languages from the enchant broker.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #GList of the available languages.
Use g_list_free_full with g_free to free the list after use.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
      </function>
      <virtual-method name="language_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="spell" transfer-ownership="none">
            <type name="Checker" c:type="GtkSpellChecker*"/>
          </instance-parameter>
          <parameter name="new_lang" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_to_dictionary"
              c:identifier="gtk_spell_checker_add_to_dictionary"
              version="3.0.9">
        <doc xml:space="preserve">Add the specified word to the user dictionary.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="spell" transfer-ownership="none">
            <doc xml:space="preserve">The #GtkSpellChecker object.</doc>
            <type name="Checker" c:type="GtkSpellChecker*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve">The word to add to the user dictionary.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="attach" c:identifier="gtk_spell_checker_attach">
        <doc xml:space="preserve">Attach #GtkSpellChecker object to @view.

Note: Please read the tutorial section of the documentation to make sure
you don't leak references!</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">TRUE on success, FALSE on failure.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="spell" transfer-ownership="none">
            <doc xml:space="preserve">A #GtkSpellChecker.</doc>
            <type name="Checker" c:type="GtkSpellChecker*"/>
          </instance-parameter>
          <parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve">The #GtkTextView to attach to.</doc>
            <type name="Gtk.TextView" c:type="GtkTextView*"/>
          </parameter>
        </parameters>
      </method>
      <method name="check_word"
              c:identifier="gtk_spell_checker_check_word"
              version="3.0.8">
        <doc xml:space="preserve">Check the specified word.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">TRUE if the word is correctly spelled, FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="spell" transfer-ownership="none">
            <doc xml:space="preserve">The #GtkSpellChecker object.</doc>
            <type name="Checker" c:type="GtkSpellChecker*"/>
          </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>
        </parameters>
      </method>
      <method name="detach" c:identifier="gtk_spell_checker_detach">
        <doc xml:space="preserve">Detaches this #GtkSpellChecker from its #GtkTextView.  Use
gtk_spell_checker_get_from_text_view () to retrieve a #GtkSpellChecker from
a #GtkTextView. If the #GtkSpellChecker is not attached to any #GtkTextView,
the function silently exits.

Note: if the #GtkSpellChecker is owned by the #GtkTextView, you must
take a reference to it to prevent it from being automatically destroyed.
Please read the tutorial section of the documentation!</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="spell" transfer-ownership="none">
            <doc xml:space="preserve">A #GtkSpellChecker.</doc>
            <type name="Checker" c:type="GtkSpellChecker*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_language"
              c:identifier="gtk_spell_checker_get_language">
        <doc xml:space="preserve">Fetches the current language.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the current language. This string is
owned by the spell object and must not be modified or freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="spell" transfer-ownership="none">
            <doc xml:space="preserve">a #GtkSpellChecker</doc>
            <type name="Checker" c:type="GtkSpellChecker*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_suggestions"
              c:identifier="gtk_spell_checker_get_suggestions"
              version="3.0.8">
        <doc xml:space="preserve">Retreives a list of spelling suggestions for the specified word.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the list of spelling
suggestions for the specified word, or NULL if there are no suggestions.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="utf8"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="spell" transfer-ownership="none">
            <doc xml:space="preserve">A #GtkSpellChecker.</doc>
            <type name="Checker" c:type="GtkSpellChecker*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve">The word for which to fetch suggestions</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_suggestions_menu"
              c:identifier="gtk_spell_checker_get_suggestions_menu">
        <doc xml:space="preserve">Retrieves a submenu of replacement spellings, or NULL if the word at @iter is
not misspelt.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the #GtkMenu widget, or %NULL if there is no need for a menu</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="spell" transfer-ownership="none">
            <doc xml:space="preserve">A #GtkSpellChecker.</doc>
            <type name="Checker" c:type="GtkSpellChecker*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <doc xml:space="preserve">Textiter of position in buffer to be corrected if necessary.</doc>
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="ignore_word"
              c:identifier="gtk_spell_checker_ignore_word"
              version="3.0.9">
        <doc xml:space="preserve">Add the specified word to the user ignore list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="spell" transfer-ownership="none">
            <doc xml:space="preserve">The #GtkSpellChecker object.</doc>
            <type name="Checker" c:type="GtkSpellChecker*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve">The word to add to the user ignore list.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="recheck_all" c:identifier="gtk_spell_checker_recheck_all">
        <doc xml:space="preserve">Recheck the spelling in the entire buffer.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="spell" transfer-ownership="none">
            <doc xml:space="preserve">The #GtkSpellChecker object.</doc>
            <type name="Checker" c:type="GtkSpellChecker*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_language"
              c:identifier="gtk_spell_checker_set_language"
              throws="1">
        <doc xml:space="preserve">Set the language on @spell to @lang, possibily returning an error in
@error.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">FALSE if there was an error.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="spell" transfer-ownership="none">
            <doc xml:space="preserve">The #GtkSpellChecker object.</doc>
            <type name="Checker" c:type="GtkSpellChecker*"/>
          </instance-parameter>
          <parameter name="lang"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">The language to use, as a locale specifier (i.e. "en_US").
If #NULL, attempt to use the default system locale (LANG).</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="decode-language-codes"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="CheckerPrivate" c:type="GtkSpellCheckerPrivate*"/>
      </field>
      <glib:signal name="language-changed" when="last">
        <doc xml:space="preserve">The ::language-changed signal is emitted when the user selects
a new spelling language from the context menu.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="lang" transfer-ownership="none">
            <doc xml:space="preserve">the new language which was selected.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="CheckerClass"
            c:type="GtkSpellCheckerClass"
            glib:is-gtype-struct-for="Checker">
      <field name="parent_class">
        <type name="GObject.InitiallyUnownedClass"
              c:type="GInitiallyUnownedClass"/>
      </field>
      <field name="language_changed">
        <callback name="language_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="spell" transfer-ownership="none">
              <type name="Checker" c:type="GtkSpellChecker*"/>
            </parameter>
            <parameter name="new_lang" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="CheckerPrivate"
            c:type="GtkSpellCheckerPrivate"
            disguised="1">
    </record>
    <enumeration name="Error"
                 glib:type-name="GtkSpellError"
                 glib:get-type="gtk_spell_error_get_type"
                 c:type="GtkSpellError"
                 glib:error-domain="gtkspell-error-quark">
      <doc xml:space="preserve">Error codes used for GtkSpell errors.</doc>
      <member name="backend"
              value="0"
              c:identifier="GTK_SPELL_ERROR_BACKEND"
              glib:nick="backend">
        <doc xml:space="preserve">Error code for backend errors</doc>
      </member>
      <function name="quark" c:identifier="gtk_spell_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <function name="error_quark"
              c:identifier="gtk_spell_error_quark"
              moved-to="Error.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
  </namespace>
</repository>
