<?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"/>
  <namespace name="Gdict"
             version="1.0"
             shared-library="libgdict-1.0.so.9.1"
             c:identifier-prefixes="Gdict"
             c:symbol-prefixes="gdict">
    <class name="ClientContext"
           c:symbol-prefix="client_context"
           c:type="GdictClientContext"
           parent="GObject.Object"
           glib:type-name="GdictClientContext"
           glib:get-type="gdict_client_context_get_type"
           glib:type-struct="ClientContextClass">
      <implements name="Context"/>
      <function name="new" c:identifier="gdict_client_context_new">
        <doc xml:space="preserve">Creates a new #GdictClientContext object for @hostname. Use this
object to connect and query the dictionary server using the Dictionary
Protocol as defined by RFC 2229.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the newly created #GdictClientContext object.</doc>
          <type name="Context" c:type="GdictContext*"/>
        </return-value>
        <parameters>
          <parameter name="hostname"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the hostname of a dictionary server,
   or %NULL for the default server</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="port" transfer-ownership="none">
            <doc xml:space="preserve">port to be used when connecting to the dictionary server,
   or -1 for the default port</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="connected">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="ClientContext" c:type="GdictClientContext*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="disconnected">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="ClientContext" c:type="GdictClientContext*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_client" c:identifier="gdict_client_context_get_client">
        <doc xml:space="preserve">Gets the client name used by @context. See gdict_client_context_set_client().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the client name. The returned string is owned by the
  #GdictClientContext object and should never be modified or freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictClientContext</doc>
            <type name="ClientContext" c:type="GdictClientContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_hostname"
              c:identifier="gdict_client_context_get_hostname">
        <doc xml:space="preserve">Gets the hostname of the dictionary server used by @context.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the hostname of a dictionary server. The returned string is
  owned by the #GdictClientContext object and should never be modified or
  freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictClientContext</doc>
            <type name="ClientContext" c:type="GdictClientContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_port" c:identifier="gdict_client_context_get_port">
        <doc xml:space="preserve">Gets the port of the dictionary server used by @context.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the number of the port.</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictClientContext</doc>
            <type name="ClientContext" c:type="GdictClientContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_client" c:identifier="gdict_client_context_set_client">
        <doc xml:space="preserve">Sets @client as the client name to be used when advertising ourselves when
a connection the the dictionary server has been established.
If @client is %NULL, the default client name will be used.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictClientContext</doc>
            <type name="ClientContext" c:type="GdictClientContext*"/>
          </instance-parameter>
          <parameter name="client"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the client name to use, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_hostname"
              c:identifier="gdict_client_context_set_hostname">
        <doc xml:space="preserve">Sets @hostname as the hostname of the dictionary server to be used.
If @hostname is %NULL, the default dictionary server will be used.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictClientContext</doc>
            <type name="ClientContext" c:type="GdictClientContext*"/>
          </instance-parameter>
          <parameter name="hostname"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the hostname of a Dictionary server, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_port" c:identifier="gdict_client_context_set_port">
        <doc xml:space="preserve">Sets the port of the dictionary server to be used when connecting.

If @port is -1, the default port will be used.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictClientContext</doc>
            <type name="ClientContext" c:type="GdictClientContext*"/>
          </instance-parameter>
          <parameter name="port" transfer-ownership="none">
            <doc xml:space="preserve">port of the dictionary server to be used, or -1</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <property name="client-name"
                version="1.0"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The name of the client using this context; it will be advertised when
connecting to the dictionary server.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="hostname"
                version="1.0"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The hostname of the dictionary server to connect to.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="port"
                version="1.0"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The port of the dictionary server to connect to.</doc>
        <type name="guint" c:type="guint"/>
      </property>
      <property name="status" version="1.0" transfer-ownership="none">
        <doc xml:space="preserve">The status code as returned by the dictionary server.</doc>
        <type name="StatusCode"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ClientContextPrivate" c:type="GdictClientContextPrivate*"/>
      </field>
      <glib:signal name="connected" when="last" version="1.0">
        <doc xml:space="preserve">Emitted when a #GdictClientContext has successfully established a
connection with a dictionary server.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="disconnected" when="last" version="1.0">
        <doc xml:space="preserve">Emitted when a #GdictClientContext has disconnected from a dictionary
server.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="ClientContextClass"
            c:type="GdictClientContextClass"
            glib:is-gtype-struct-for="ClientContext">
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="connected">
        <callback name="connected">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="ClientContext" c:type="GdictClientContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="disconnected">
        <callback name="disconnected">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="ClientContext" c:type="GdictClientContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_gdict_client_1" introspectable="0">
        <callback name="_gdict_client_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_client_2" introspectable="0">
        <callback name="_gdict_client_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_client_3" introspectable="0">
        <callback name="_gdict_client_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_client_4" introspectable="0">
        <callback name="_gdict_client_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <enumeration name="ClientContextError"
                 glib:type-name="GdictClientContextError"
                 glib:get-type="gdict_client_context_error_get_type"
                 c:type="GdictClientContextError"
                 glib:error-domain="gdict-client-context-error-quark">
      <doc xml:space="preserve">#GdictClientContext error enumeration</doc>
      <member name="socket"
              value="0"
              c:identifier="GDICT_CLIENT_CONTEXT_ERROR_SOCKET"
              glib:nick="socket">
      </member>
      <member name="lookup"
              value="1"
              c:identifier="GDICT_CLIENT_CONTEXT_ERROR_LOOKUP"
              glib:nick="lookup">
      </member>
      <member name="no_connection"
              value="2"
              c:identifier="GDICT_CLIENT_CONTEXT_ERROR_NO_CONNECTION"
              glib:nick="no-connection">
      </member>
      <member name="server_down"
              value="3"
              c:identifier="GDICT_CLIENT_CONTEXT_ERROR_SERVER_DOWN"
              glib:nick="server-down">
      </member>
      <function name="quark" c:identifier="gdict_client_context_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <record name="ClientContextPrivate"
            c:type="GdictClientContextPrivate"
            disguised="1">
    </record>
    <interface name="Context"
               c:symbol-prefix="context"
               c:type="GdictContext"
               glib:type-name="GdictContext"
               glib:get-type="gdict_context_get_type"
               glib:type-struct="ContextIface">
      <virtual-method name="database_found">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
          <parameter name="database" transfer-ownership="none">
            <type name="Database" c:type="GdictDatabase*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="database_lookup_end">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="database_lookup_start">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="define_word"
                      invoker="define_word"
                      version="1.0"
                      throws="1">
        <doc xml:space="preserve">Query @context for a list of definitions of @word inside @database.  Each
time a new definition is found, the "definition-found" signal is fired.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the query was successfully sent.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictContext</doc>
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
          <parameter name="database"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a database name to search into, or %NULL for the
   default database</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve">the word to search</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="definition_found">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
          <parameter name="definition" transfer-ownership="none">
            <type name="Definition" c:type="GdictDefinition*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="definition_lookup_end">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="definition_lookup_start">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="error">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
          <parameter name="error" transfer-ownership="none">
            <type name="GLib.Error" c:type="const GError*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_databases" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_strategies" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="lookup_end">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="lookup_start">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="match_found">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
          <parameter name="match" transfer-ownership="none">
            <type name="Match" c:type="GdictMatch*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="match_word"
                      invoker="match_word"
                      version="1.0"
                      throws="1">
        <doc xml:space="preserve">Query @context for a list of word matching @word inside @database,
using @strategy as a matching strategy.  Each time a matching word
is found, the "match-found" signal is fired.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the query was successfully started.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictContext</doc>
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
          <parameter name="database"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a database name to search into, or %NULL for the
   default database</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="strategy"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a strategy name to use for matching, or %NULL for
   the default strategy</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve">the word to match</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="strategy_found">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
          <parameter name="strategy" transfer-ownership="none">
            <type name="Strategy" c:type="GdictStrategy*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="define_word"
              c:identifier="gdict_context_define_word"
              version="1.0"
              throws="1">
        <doc xml:space="preserve">Query @context for a list of definitions of @word inside @database.  Each
time a new definition is found, the "definition-found" signal is fired.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the query was successfully sent.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictContext</doc>
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
          <parameter name="database"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a database name to search into, or %NULL for the
   default database</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve">the word to search</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_local_only"
              c:identifier="gdict_context_get_local_only"
              version="1.0">
        <doc xml:space="preserve">Gets whether only local resources will be used when querying.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if only local resources will be used.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictContext</doc>
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="lookup_databases"
              c:identifier="gdict_context_lookup_databases"
              version="1.0"
              throws="1">
        <doc xml:space="preserve">Query @context for the list of databases available.  Each time a
database is found, the "database-found" signal is fired.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the query was successfully started.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictContext</doc>
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="lookup_strategies"
              c:identifier="gdict_context_lookup_strategies"
              version="1.0"
              throws="1">
        <doc xml:space="preserve">Query @context for the list of matching strategies available.  Each
time a new strategy is found, the "strategy-found" signal is fired.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the query was successfully started.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictContext</doc>
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="match_word"
              c:identifier="gdict_context_match_word"
              version="1.0"
              throws="1">
        <doc xml:space="preserve">Query @context for a list of word matching @word inside @database,
using @strategy as a matching strategy.  Each time a matching word
is found, the "match-found" signal is fired.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the query was successfully started.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictContext</doc>
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
          <parameter name="database"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a database name to search into, or %NULL for the
   default database</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="strategy"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a strategy name to use for matching, or %NULL for
   the default strategy</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve">the word to match</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_local_only"
              c:identifier="gdict_context_set_local_only"
              version="1.0">
        <doc xml:space="preserve">Sets whether only local resources will be used when querying for databases,
strategies, matches or definitions.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictContext</doc>
            <type name="Context" c:type="GdictContext*"/>
          </instance-parameter>
          <parameter name="local_only" transfer-ownership="none">
            <doc xml:space="preserve">%TRUE if only local resources will be used</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="local-only"
                version="1.0"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">Whether the context uses only local dictionaries or not.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <glib:signal name="database-found" when="last" version="1.0">
        <doc xml:space="preserve">This signal is emitted when a database request has found a database.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="database" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabase</doc>
            <type name="Database"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="database-lookup-end" when="last" version="1.0">
        <doc xml:space="preserve">This signal is emitted when a database look up operation that has been
issued using a #GdictContext has been completed.  Since every operation
using a context is asynchronous, you can use this signal to know if the
request has been completed or not.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="database-lookup-start" when="last" version="1.0">
        <doc xml:space="preserve">This signal is emitted when a database look up operation has been issued
using a #GdictContext.  Since every operation using a context is
asynchronous, you can use this signal to know if the request has been
issued or not.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="definition-found" when="last" version="1.0">
        <doc xml:space="preserve">This signal is emitted when a definition request has found a definition.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="definition" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefinition</doc>
            <type name="Definition"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="definition-lookup-end" when="last" version="1.0">
        <doc xml:space="preserve">This signal is emitted when a definition look up operation that has been
issued using a #GdictContext has been completed.  Since every operation
using a context is asynchronous, you can use this signal to know if the
request has been completed or not.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="definition-lookup-start" when="last" version="1.0">
        <doc xml:space="preserve">This signal is emitted when a definition look up operation has been
issued using a #GdictContext.  Since every operation using a context
is asynchronous, you can use this signal to know if the request has
been issued or not.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="error" when="last" version="1.0">
        <doc xml:space="preserve">This signal is emitted when an error happened during an asynchronous
request.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="error"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GError</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="lookup-end" when="last" version="1.0">
        <doc xml:space="preserve">This signal is emitted when a look up operation that has been issued
using a #GdictContext has been completed.  Since every operation using a
context is asynchronous, you can use this signal to know if the request
has been completed or not.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="lookup-start" when="last" version="1.0">
        <doc xml:space="preserve">This signal is emitted when a look up operation has been issued using
a #GdictContext.  Since every operation using a context is
asynchronous, you can use this signal to know if the request has been
issued or not.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="match-found" when="last" version="1.0">
        <doc xml:space="preserve">This signal is emitted when a match request has found a match.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="match" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictMatch</doc>
            <type name="Match"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="strategy-found" when="last" version="1.0">
        <doc xml:space="preserve">This signal is emitted when a strategy request has found a strategy.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="strategy" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictStrategy</doc>
            <type name="Strategy"/>
          </parameter>
        </parameters>
      </glib:signal>
    </interface>
    <enumeration name="ContextError"
                 glib:type-name="GdictContextError"
                 glib:get-type="gdict_context_error_get_type"
                 c:type="GdictContextError"
                 glib:error-domain="gdict-context-error-quark">
      <doc xml:space="preserve">#GdictContext error enumeration.</doc>
      <member name="parse"
              value="0"
              c:identifier="GDICT_CONTEXT_ERROR_PARSE"
              glib:nick="parse">
      </member>
      <member name="not_implemented"
              value="1"
              c:identifier="GDICT_CONTEXT_ERROR_NOT_IMPLEMENTED"
              glib:nick="not-implemented">
      </member>
      <member name="invalid_database"
              value="2"
              c:identifier="GDICT_CONTEXT_ERROR_INVALID_DATABASE"
              glib:nick="invalid-database">
      </member>
      <member name="invalid_strategy"
              value="3"
              c:identifier="GDICT_CONTEXT_ERROR_INVALID_STRATEGY"
              glib:nick="invalid-strategy">
      </member>
      <member name="invalid_command"
              value="4"
              c:identifier="GDICT_CONTEXT_ERROR_INVALID_COMMAND"
              glib:nick="invalid-command">
      </member>
      <member name="no_match"
              value="5"
              c:identifier="GDICT_CONTEXT_ERROR_NO_MATCH"
              glib:nick="no-match">
      </member>
      <member name="no_databases"
              value="6"
              c:identifier="GDICT_CONTEXT_ERROR_NO_DATABASES"
              glib:nick="no-databases">
      </member>
      <member name="no_strategies"
              value="7"
              c:identifier="GDICT_CONTEXT_ERROR_NO_STRATEGIES"
              glib:nick="no-strategies">
      </member>
      <function name="quark" c:identifier="gdict_context_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <record name="ContextIface"
            c:type="GdictContextIface"
            glib:is-gtype-struct-for="Context">
      <doc xml:space="preserve">Interface defintion</doc>
      <field name="base_iface" readable="0" private="1">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="get_databases">
        <callback name="get_databases" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="Context" c:type="GdictContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_strategies">
        <callback name="get_strategies" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="Context" c:type="GdictContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="match_word">
        <callback name="match_word" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">%TRUE if the query was successfully started.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <doc xml:space="preserve">a #GdictContext</doc>
              <type name="Context" c:type="GdictContext*"/>
            </parameter>
            <parameter name="database"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve">a database name to search into, or %NULL for the
   default database</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="strategy"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve">a strategy name to use for matching, or %NULL for
   the default strategy</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="word" transfer-ownership="none">
              <doc xml:space="preserve">the word to match</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="define_word">
        <callback name="define_word" throws="1">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">%TRUE if the query was successfully sent.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <doc xml:space="preserve">a #GdictContext</doc>
              <type name="Context" c:type="GdictContext*"/>
            </parameter>
            <parameter name="database"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve">a database name to search into, or %NULL for the
   default database</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="word" transfer-ownership="none">
              <doc xml:space="preserve">the word to search</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="lookup_start">
        <callback name="lookup_start">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="Context" c:type="GdictContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="lookup_end">
        <callback name="lookup_end">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="Context" c:type="GdictContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="database_lookup_start">
        <callback name="database_lookup_start">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="Context" c:type="GdictContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="database_lookup_end">
        <callback name="database_lookup_end">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="Context" c:type="GdictContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="database_found">
        <callback name="database_found">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="Context" c:type="GdictContext*"/>
            </parameter>
            <parameter name="database" transfer-ownership="none">
              <type name="Database" c:type="GdictDatabase*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="strategy_found">
        <callback name="strategy_found">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="Context" c:type="GdictContext*"/>
            </parameter>
            <parameter name="strategy" transfer-ownership="none">
              <type name="Strategy" c:type="GdictStrategy*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="match_found">
        <callback name="match_found">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="Context" c:type="GdictContext*"/>
            </parameter>
            <parameter name="match" transfer-ownership="none">
              <type name="Match" c:type="GdictMatch*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="definition_lookup_start">
        <callback name="definition_lookup_start">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="Context" c:type="GdictContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="definition_lookup_end">
        <callback name="definition_lookup_end">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="Context" c:type="GdictContext*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="definition_found">
        <callback name="definition_found">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="Context" c:type="GdictContext*"/>
            </parameter>
            <parameter name="definition" transfer-ownership="none">
              <type name="Definition" c:type="GdictDefinition*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="error">
        <callback name="error">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="context" transfer-ownership="none">
              <type name="Context" c:type="GdictContext*"/>
            </parameter>
            <parameter name="error" transfer-ownership="none">
              <type name="GLib.Error" c:type="const GError*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="ContextProp"
                 glib:type-name="GdictContextProp"
                 glib:get-type="gdict_context_prop_get_type"
                 c:type="GdictContextProp">
      <member name="first"
              value="4096"
              c:identifier="GDICT_CONTEXT_PROP_FIRST"
              glib:nick="first">
      </member>
      <member name="local_only"
              value="4096"
              c:identifier="GDICT_CONTEXT_PROP_LOCAL_ONLY"
              glib:nick="local-only">
      </member>
      <member name="last"
              value="4097"
              c:identifier="GDICT_CONTEXT_PROP_LAST"
              glib:nick="last">
      </member>
    </enumeration>
    <constant name="DEFAULT_DATABASE"
              value="*"
              c:type="GDICT_DEFAULT_DATABASE">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DEFAULT_FONT_NAME"
              value="Sans 10"
              c:type="GDICT_DEFAULT_FONT_NAME">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DEFAULT_STRATEGY"
              value="."
              c:type="GDICT_DEFAULT_STRATEGY">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <record name="Database"
            c:type="GdictDatabase"
            glib:type-name="GdictDatabase"
            glib:get-type="gdict_database_get_type"
            c:symbol-prefix="database">
      <doc xml:space="preserve">A #GdictDatabase represents a database inside a dictionary source.

The #GdictDatabase structure is private and should only be accessed
using the available functions.</doc>
      <field name="name" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="full_name" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="ref_count" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <method name="get_full_name"
              c:identifier="gdict_database_get_full_name"
              version="1.0">
        <doc xml:space="preserve">Gets the full name of the database, suitable for display.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the full name of the database.  The string is owned by
  the #GdictDatabase object, and should never be modified or freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="db" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabase</doc>
            <type name="Database" c:type="GdictDatabase*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="gdict_database_get_name"
              version="1.0">
        <doc xml:space="preserve">Gets the short name of the database, to be used with functions like
gdict_context_match_word() or gdict_context_define_word().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the short name of the database.  The string is owned by
  the #GdictDatabase object, and should never be modified or freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="db" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabase</doc>
            <type name="Database" c:type="GdictDatabase*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="gdict_database_ref" version="1.0">
        <doc xml:space="preserve">Increases the reference count of @db by one.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">@db with its reference count increased</doc>
          <type name="Database" c:type="GdictDatabase*"/>
        </return-value>
        <parameters>
          <instance-parameter name="db" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabase</doc>
            <type name="Database" c:type="GdictDatabase*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="gdict_database_unref" version="1.0">
        <doc xml:space="preserve">Decreases the reference count of @db by one.  If the reference count reaches
zero, @db is destroyed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="db" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabase</doc>
            <type name="Database" c:type="GdictDatabase*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <class name="DatabaseChooser"
           c:symbol-prefix="database_chooser"
           c:type="GdictDatabaseChooser"
           parent="Gtk.Box"
           glib:type-name="GdictDatabaseChooser"
           glib:get-type="gdict_database_chooser_get_type"
           glib:type-struct="DatabaseChooserClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new"
                   c:identifier="gdict_database_chooser_new"
                   version="0.10">
        <doc xml:space="preserve">Creates a new #GdictDatabaseChooser widget. A Database chooser widget
can be used to display the list of available databases on a dictionary
source using the #GdictContext representing it. After creation, the
#GdictContext can be set using gdict_database_chooser_set_context().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the newly created #GdictDatabaseChooser widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_context"
                   c:identifier="gdict_database_chooser_new_with_context"
                   version="0.10">
        <doc xml:space="preserve">Creates a new #GdictDatabaseChooser, using @context as the representation
of the dictionary source to query for the list of available databases.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the newly created #GdictDatabaseChooser widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictContext</doc>
            <type name="Context" c:type="GdictContext*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="database_activated">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <type name="DatabaseChooser" c:type="GdictDatabaseChooser*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="selection_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <type name="DatabaseChooser" c:type="GdictDatabaseChooser*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="add_button"
              c:identifier="gdict_database_chooser_add_button"
              version="0.10">
        <doc xml:space="preserve">Adds a #GtkButton with @button_text to the button area on
the bottom of @chooser.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the newly packed button.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabase</doc>
            <type name="DatabaseChooser" c:type="GdictDatabaseChooser*"/>
          </instance-parameter>
          <parameter name="button_text" transfer-ownership="none">
            <doc xml:space="preserve">text of the button</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear"
              c:identifier="gdict_database_chooser_clear"
              version="0.10">
        <doc xml:space="preserve">Clears @chooser.</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 #GdictDatabaseChooser</doc>
            <type name="DatabaseChooser" c:type="GdictDatabaseChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="count_databases"
              c:identifier="gdict_database_chooser_count_databases"
              version="0.10">
        <doc xml:space="preserve">Returns the number of databases found.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the number of databases or -1 if no context is set</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabaseChooser</doc>
            <type name="DatabaseChooser" c:type="GdictDatabaseChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_context"
              c:identifier="gdict_database_chooser_get_context"
              version="0.10">
        <doc xml:space="preserve">Retrieves the #GdictContext used by @chooser.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #GdictContext or %NULL</doc>
          <type name="Context" c:type="GdictContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabaseChooser</doc>
            <type name="DatabaseChooser" c:type="GdictDatabaseChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_current_database"
              c:identifier="gdict_database_chooser_get_current_database"
              version="0.10">
        <doc xml:space="preserve">Retrieves the name of the currently selected database inside @chooser</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the name of the selected database. Use g_free() on the
  returned string when done using it</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabaseChooser</doc>
            <type name="DatabaseChooser" c:type="GdictDatabaseChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_databases"
              c:identifier="gdict_database_chooser_get_databases"
              version="0.10">
        <doc xml:space="preserve">Gets the list of available database names.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a newly allocated, %NULL terminated string vector
  containing database names. Use g_strfreev() to deallocate it.</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabaseChooser</doc>
            <type name="DatabaseChooser" c:type="GdictDatabaseChooser*"/>
          </instance-parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:space="preserve">return location for the length of the returned vector</doc>
            <type name="gsize" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_database"
              c:identifier="gdict_database_chooser_has_database"
              version="0.10">
        <doc xml:space="preserve">Checks whether the @chooser displays @database</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the search database name is present</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabaseChooser</doc>
            <type name="DatabaseChooser" c:type="GdictDatabaseChooser*"/>
          </instance-parameter>
          <parameter name="database" transfer-ownership="none">
            <doc xml:space="preserve">the name of a database</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="refresh"
              c:identifier="gdict_database_chooser_refresh"
              version="0.10">
        <doc xml:space="preserve">Reloads the list of available databases.</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 #GdictDatabaseChooser</doc>
            <type name="DatabaseChooser" c:type="GdictDatabaseChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="select_database"
              c:identifier="gdict_database_chooser_select_database"
              version="0.10">
        <doc xml:space="preserve">Selects the database with @db_name inside the @chooser widget.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the database was found and selected</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabaseChooser</doc>
            <type name="DatabaseChooser" c:type="GdictDatabaseChooser*"/>
          </instance-parameter>
          <parameter name="db_name" transfer-ownership="none">
            <doc xml:space="preserve">name of the database to select</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_context"
              c:identifier="gdict_database_chooser_set_context"
              version="0.10">
        <doc xml:space="preserve">Sets the #GdictContext to be used to query a dictionary source
for the list of available databases.</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 #GdictDatabaseChooser</doc>
            <type name="DatabaseChooser" c:type="GdictDatabaseChooser*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictContext</doc>
            <type name="Context" c:type="GdictContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_current_database"
              c:identifier="gdict_database_chooser_set_current_database"
              version="0.10">
        <doc xml:space="preserve">Sets @db_name as the current database. This function will select
and activate the corresponding row, if the database is found.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the database was found and set</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabaseChooser</doc>
            <type name="DatabaseChooser" c:type="GdictDatabaseChooser*"/>
          </instance-parameter>
          <parameter name="db_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the database</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unselect_database"
              c:identifier="gdict_database_chooser_unselect_database"
              version="0.10">
        <doc xml:space="preserve">Unselects the database @db_name inside the @chooser widget</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the database was found and unselected</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabaseChooser</doc>
            <type name="DatabaseChooser" c:type="GdictDatabaseChooser*"/>
          </instance-parameter>
          <parameter name="db_name" transfer-ownership="none">
            <doc xml:space="preserve">name of the database to unselect</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="context"
                version="0.10"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The #GdictContext used to retrieve the list of available databases.</doc>
        <type name="Context"/>
      </property>
      <property name="count" version="0.12" transfer-ownership="none">
        <doc xml:space="preserve">The number of displayed databases or, if no #GdictContext is set, -1.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="DatabaseChooserPrivate"
              c:type="GdictDatabaseChooserPrivate*"/>
      </field>
      <glib:signal name="database-activated" when="last" version="0.10">
        <doc xml:space="preserve">The ::database-activated signal is emitted each time the user
activated a row in the database chooser widget, either by double
clicking on it or by a keyboard event.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the activated database</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve">the description of the activated database</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="selection-changed" when="last" version="0.12">
        <doc xml:space="preserve">The ::selection-changed signal is emitted each time the selection
inside the database chooser has been changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <class name="DatabaseChooserButton"
           c:symbol-prefix="database_chooser_button"
           c:type="GdictDatabaseChooserButton"
           parent="Gtk.MenuButton"
           glib:type-name="GdictDatabaseChooserButton"
           glib:get-type="gdict_database_chooser_button_get_type"
           glib:type-struct="DatabaseChooserButtonClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Actionable"/>
      <implements name="Gtk.Activatable"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new"
                   c:identifier="gdict_database_chooser_button_new"
                   version="0.10">
        <doc xml:space="preserve">Creates a new #GdictDatabaseChooserButton widget. A Database chooser button
widget can be used to display the list of available databases on a dictionary
source using the #GdictContext representing it. After creation, the
#GdictContext can be set using gdict_database_chooser_button_set_context().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the newly created #GdictDatabaseChooserButton widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_context"
                   c:identifier="gdict_database_chooser_button_new_with_context"
                   version="0.10">
        <doc xml:space="preserve">Creates a new #GdictDatabaseChooserButton, using @context as the representation
of the dictionary source to query for the list of available databases.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the newly created #GdictDatabaseChooserButton widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictContext</doc>
            <type name="Context" c:type="GdictContext*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="database_activated">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser_button" transfer-ownership="none">
            <type name="DatabaseChooserButton"
                  c:type="GdictDatabaseChooserButton*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="selection_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <type name="DatabaseChooserButton"
                  c:type="GdictDatabaseChooserButton*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="clear"
              c:identifier="gdict_database_chooser_button_clear"
              version="0.10">
        <doc xml:space="preserve">Clears @chooser.</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 #GdictDatabaseChooserButton</doc>
            <type name="DatabaseChooserButton"
                  c:type="GdictDatabaseChooserButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="count_databases"
              c:identifier="gdict_database_chooser_button_count_databases"
              version="0.10">
        <doc xml:space="preserve">Returns the number of databases found.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the number of databases or -1 if no context is set</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabaseChooserButton</doc>
            <type name="DatabaseChooserButton"
                  c:type="GdictDatabaseChooserButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_context"
              c:identifier="gdict_database_chooser_button_get_context"
              version="0.10">
        <doc xml:space="preserve">Retrieves the #GdictContext used by @chooser.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #GdictContext or %NULL</doc>
          <type name="Context" c:type="GdictContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabaseChooserButton</doc>
            <type name="DatabaseChooserButton"
                  c:type="GdictDatabaseChooserButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_current_database"
              c:identifier="gdict_database_chooser_button_get_current_database"
              version="0.10">
        <doc xml:space="preserve">Retrieves the name of the currently selected database inside @chooser</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the name of the selected database. Use g_free() on the
  returned string when done using it</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabaseChooserButton</doc>
            <type name="DatabaseChooserButton"
                  c:type="GdictDatabaseChooserButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_databases"
              c:identifier="gdict_database_chooser_button_get_databases"
              version="0.10">
        <doc xml:space="preserve">Gets the list of available database names.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a newly allocated, %NULL terminated string vector
  containing database names. Use g_strfreev() to deallocate it.</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabaseChooserButton</doc>
            <type name="DatabaseChooserButton"
                  c:type="GdictDatabaseChooserButton*"/>
          </instance-parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:space="preserve">return location for the length of the returned vector</doc>
            <type name="gsize" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_database"
              c:identifier="gdict_database_chooser_button_has_database"
              version="0.10">
        <doc xml:space="preserve">Checks whether the @chooser displays @database</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the search database name is present</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabaseChooserButton</doc>
            <type name="DatabaseChooserButton"
                  c:type="GdictDatabaseChooserButton*"/>
          </instance-parameter>
          <parameter name="database" transfer-ownership="none">
            <doc xml:space="preserve">the name of a database</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="select_database"
              c:identifier="gdict_database_chooser_button_select_database"
              version="0.10">
        <doc xml:space="preserve">Selects the database with @db_name inside the @chooser widget.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the database was found and selected</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabaseChooserButton</doc>
            <type name="DatabaseChooserButton"
                  c:type="GdictDatabaseChooserButton*"/>
          </instance-parameter>
          <parameter name="db_name" transfer-ownership="none">
            <doc xml:space="preserve">name of the database to select</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_context"
              c:identifier="gdict_database_chooser_button_set_context"
              version="0.10">
        <doc xml:space="preserve">Sets the #GdictContext to be used to query a dictionary source
for the list of available databases.</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 #GdictDatabaseChooserButton</doc>
            <type name="DatabaseChooserButton"
                  c:type="GdictDatabaseChooserButton*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictContext</doc>
            <type name="Context" c:type="GdictContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_current_database"
              c:identifier="gdict_database_chooser_button_set_current_database"
              version="0.10">
        <doc xml:space="preserve">Sets @db_name as the current database. This function will select
and activate the corresponding row, if the database is found.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the database was found and set</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabaseChooserButton</doc>
            <type name="DatabaseChooserButton"
                  c:type="GdictDatabaseChooserButton*"/>
          </instance-parameter>
          <parameter name="db_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the database</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unselect_database"
              c:identifier="gdict_database_chooser_button_unselect_database"
              version="0.10">
        <doc xml:space="preserve">Unselects the database @db_name inside the @chooser widget</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the database was found and unselected</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDatabaseChooserButton</doc>
            <type name="DatabaseChooserButton"
                  c:type="GdictDatabaseChooserButton*"/>
          </instance-parameter>
          <parameter name="db_name" transfer-ownership="none">
            <doc xml:space="preserve">name of the database to unselect</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="context"
                version="0.10"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The #GdictContext used to retrieve the list of available databases.</doc>
        <type name="Context"/>
      </property>
      <property name="count" version="0.12" transfer-ownership="none">
        <doc xml:space="preserve">The number of displayed databases or, if no #GdictContext is set, -1.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="Gtk.MenuButton" c:type="GtkMenuButton"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="DatabaseChooserButtonPrivate"
              c:type="GdictDatabaseChooserButtonPrivate*"/>
      </field>
      <glib:signal name="database-activated" when="last" version="0.10">
        <doc xml:space="preserve">The ::database-activated signal is emitted each time the user
activated a row in the database chooser widget, either by double
clicking on it or by a keyboard event.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the activated database</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve">the description of the activated database</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="selection-changed" when="last" version="0.12">
        <doc xml:space="preserve">The ::selection-changed signal is emitted each time the selection
inside the database chooser has been changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="DatabaseChooserButtonClass"
            c:type="GdictDatabaseChooserButtonClass"
            glib:is-gtype-struct-for="DatabaseChooserButton">
      <field name="parent_class" readable="0" private="1">
        <type name="Gtk.MenuButtonClass" c:type="GtkMenuButtonClass"/>
      </field>
      <field name="database_activated">
        <callback name="database_activated">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="chooser_button" transfer-ownership="none">
              <type name="DatabaseChooserButton"
                    c:type="GdictDatabaseChooserButton*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="description" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="selection_changed">
        <callback name="selection_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="chooser" transfer-ownership="none">
              <type name="DatabaseChooserButton"
                    c:type="GdictDatabaseChooserButton*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_gdict_padding2" introspectable="0">
        <callback name="_gdict_padding2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_padding3" introspectable="0">
        <callback name="_gdict_padding3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_padding4" introspectable="0">
        <callback name="_gdict_padding4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_padding5" introspectable="0">
        <callback name="_gdict_padding5">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_padding6" introspectable="0">
        <callback name="_gdict_padding6">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="DatabaseChooserButtonPrivate"
            c:type="GdictDatabaseChooserButtonPrivate"
            disguised="1">
    </record>
    <record name="DatabaseChooserClass"
            c:type="GdictDatabaseChooserClass"
            glib:is-gtype-struct-for="DatabaseChooser">
      <field name="parent_class" readable="0" private="1">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
      <field name="database_activated">
        <callback name="database_activated">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="chooser" transfer-ownership="none">
              <type name="DatabaseChooser" c:type="GdictDatabaseChooser*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="description" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="selection_changed">
        <callback name="selection_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="chooser" transfer-ownership="none">
              <type name="DatabaseChooser" c:type="GdictDatabaseChooser*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_gdict_padding2" introspectable="0">
        <callback name="_gdict_padding2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_padding3" introspectable="0">
        <callback name="_gdict_padding3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_padding4" introspectable="0">
        <callback name="_gdict_padding4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_padding5" introspectable="0">
        <callback name="_gdict_padding5">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_padding6" introspectable="0">
        <callback name="_gdict_padding6">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="DatabaseChooserPrivate"
            c:type="GdictDatabaseChooserPrivate"
            disguised="1">
    </record>
    <bitfield name="DebugFlags" c:type="GdictDebugFlags">
      <member name="misc" value="1" c:identifier="GDICT_DEBUG_MISC">
      </member>
      <member name="context" value="2" c:identifier="GDICT_DEBUG_CONTEXT">
      </member>
      <member name="dict" value="4" c:identifier="GDICT_DEBUG_DICT">
      </member>
      <member name="source" value="8" c:identifier="GDICT_DEBUG_SOURCE">
      </member>
      <member name="loader" value="16" c:identifier="GDICT_DEBUG_LOADER">
      </member>
      <member name="chooser" value="32" c:identifier="GDICT_DEBUG_CHOOSER">
      </member>
      <member name="defbox" value="64" c:identifier="GDICT_DEBUG_DEFBOX">
      </member>
      <member name="speller" value="128" c:identifier="GDICT_DEBUG_SPELLER">
      </member>
    </bitfield>
    <class name="Defbox"
           c:symbol-prefix="defbox"
           c:type="GdictDefbox"
           parent="Gtk.Box"
           glib:type-name="GdictDefbox"
           glib:get-type="gdict_defbox_get_type"
           glib:type-struct="DefboxClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="gdict_defbox_new" version="0.1">
        <doc xml:space="preserve">Creates a new #GdictDefbox widget.  Use this widget to search for
a word using a #GdictContext, and to show the resulting definition(s).
You must set a #GdictContext for this widget using
gdict_defbox_set_context().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a new #GdictDefbox widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_context"
                   c:identifier="gdict_defbox_new_with_context"
                   version="0.1">
        <doc xml:space="preserve">Creates a new #GdictDefbox widget. Use this widget to search for
a word using @context, and to show the resulting definition.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a new #GdictDefbox widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictContext</doc>
            <type name="Context" c:type="GdictContext*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="find_next" invoker="find_next" version="0.1">
        <doc xml:space="preserve">Emits the "find-next" signal.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="find_previous"
                      invoker="find_previous"
                      version="0.1">
        <doc xml:space="preserve">Emits the "find-previous" signal.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="hide_find">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="link_clicked">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
          <parameter name="link" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="selection_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="show_find">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="clear" c:identifier="gdict_defbox_clear" version="0.1">
        <doc xml:space="preserve">Clears the buffer of @defbox</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a @GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="copy_to_clipboard"
              c:identifier="gdict_defbox_copy_to_clipboard"
              version="0.1">
        <doc xml:space="preserve">Copies the selected text inside @defbox into @clipboard.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
          <parameter name="clipboard" transfer-ownership="none">
            <doc xml:space="preserve">a #GtkClipboard</doc>
            <type name="Gtk.Clipboard" c:type="GtkClipboard*"/>
          </parameter>
        </parameters>
      </method>
      <method name="count_definitions"
              c:identifier="gdict_defbox_count_definitions"
              version="0.1">
        <doc xml:space="preserve">Gets the number of definitions displayed by @defbox</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the number of definitions.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="find_next"
              c:identifier="gdict_defbox_find_next"
              version="0.1">
        <doc xml:space="preserve">Emits the "find-next" signal.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="find_previous"
              c:identifier="gdict_defbox_find_previous"
              version="0.1">
        <doc xml:space="preserve">Emits the "find-previous" signal.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_context"
              c:identifier="gdict_defbox_get_context"
              version="0.1">
        <doc xml:space="preserve">Gets the #GdictContext used by @defbox.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #GdictContext.</doc>
          <type name="Context" c:type="GdictContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_database"
              c:identifier="gdict_defbox_get_database"
              version="0.1">
        <doc xml:space="preserve">Gets the database used by @defbox.  See gdict_defbox_set_database().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the name of a database. The return string is owned by
  the #GdictDefbox widget and should not be modified or freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_font_name"
              c:identifier="gdict_defbox_get_font_name"
              version="0.3">
        <doc xml:space="preserve">Retrieves the font currently used by @defbox.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a font name.  The returned string is owned by @defbox and
  should not be modified or freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_has_selection"
              c:identifier="gdict_defbox_get_has_selection"
              version="0.12">
        <doc xml:space="preserve">Retrieves whether there is text selected in @defbox or not.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">whether text is selected or not.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_selected_word"
              c:identifier="gdict_defbox_get_selected_word"
              version="0.12">
        <doc xml:space="preserve">Retrieves the selected word from the defbox widget</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a newly allocated string containing the selected
  word. Use g_free() when done using it.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_find"
              c:identifier="gdict_defbox_get_show_find"
              version="0.1">
        <doc xml:space="preserve">Gets whether the find pane should be visible or not.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the find pane is visible.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_text"
              c:identifier="gdict_defbox_get_text"
              version="0.1">
        <doc xml:space="preserve">Gets the full contents of @defbox.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a newly allocated string containing the text displayed by
  @defbox.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
          <parameter name="length"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve">return location for the text length or %NULL</doc>
            <type name="gsize" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_word"
              c:identifier="gdict_defbox_get_word"
              version="0.12">
        <doc xml:space="preserve">Retrieves the word being looked up.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the word looked up, or %NULL. The returned string is
  owned by the #GdictDefbox widget and should never be modified or
  freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="jump_to_definition"
              c:identifier="gdict_defbox_jump_to_definition"
              version="0.1">
        <doc xml:space="preserve">Scrolls to the definition identified by @number.  If @number is -1,
jumps to the last definition.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
          <parameter name="number" transfer-ownership="none">
            <doc xml:space="preserve">the definition to jump to</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup" c:identifier="gdict_defbox_lookup" version="0.1">
        <doc xml:space="preserve">Searches @word inside the dictionary sources using the #GdictContext
provided when creating @defbox or set using gdict_defbox_set_context().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve">the word to look up</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="select_all"
              c:identifier="gdict_defbox_select_all"
              version="0.1">
        <doc xml:space="preserve">Selects all the text displayed by @defbox</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_context"
              c:identifier="gdict_defbox_set_context"
              version="0.1">
        <doc xml:space="preserve">Sets @context as the #GdictContext to be used by @defbox in order
to retrieve the definitions of a word.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictContext</doc>
            <type name="Context" c:type="GdictContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_database"
              c:identifier="gdict_defbox_set_database"
              version="0.1">
        <doc xml:space="preserve">Sets @database as the database used by the #GdictContext bound to @defbox
to query for word definitions.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
          <parameter name="database" transfer-ownership="none">
            <doc xml:space="preserve">a database</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_font_name"
              c:identifier="gdict_defbox_set_font_name"
              version="0.3.0">
        <doc xml:space="preserve">Sets @font_name as the font for @defbox. It calls internally
pango_font_description_from_string() and gtk_widget_modify_font().

Passing %NULL for @font_name will reset any previously set font.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
          <parameter name="font_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a font description, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_find"
              c:identifier="gdict_defbox_set_show_find"
              version="0.1">
        <doc xml:space="preserve">Whether @defbox should show the find pane.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="defbox" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefbox</doc>
            <type name="Defbox" c:type="GdictDefbox*"/>
          </instance-parameter>
          <parameter name="show_find" transfer-ownership="none">
            <doc xml:space="preserve">%TRUE to show the find pane</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="context"
                version="0.1"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The #GdictContext object used to get the word definition.</doc>
        <type name="Context"/>
      </property>
      <property name="database"
                version="0.1"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The database used by the #GdictDefbox bound to this object to get the word
definition.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="font-name"
                version="0.3"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The name of the font used by the #GdictDefbox to display the definitions.
use the same string you use for pango_font_description_from_string().</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="word"
                version="0.10"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The word to look up.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="DefboxPrivate" c:type="GdictDefboxPrivate*"/>
      </field>
      <glib:signal name="find-next" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="find-previous" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="hide-find" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="link-clicked" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="selection-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="show-find" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="DefboxClass"
            c:type="GdictDefboxClass"
            glib:is-gtype-struct-for="Defbox">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
      <field name="show_find">
        <callback name="show_find">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="defbox" transfer-ownership="none">
              <type name="Defbox" c:type="GdictDefbox*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="hide_find">
        <callback name="hide_find">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="defbox" transfer-ownership="none">
              <type name="Defbox" c:type="GdictDefbox*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="find_previous">
        <callback name="find_previous">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="defbox" transfer-ownership="none">
              <doc xml:space="preserve">a #GdictDefbox</doc>
              <type name="Defbox" c:type="GdictDefbox*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="find_next">
        <callback name="find_next">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="defbox" transfer-ownership="none">
              <doc xml:space="preserve">a #GdictDefbox</doc>
              <type name="Defbox" c:type="GdictDefbox*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="link_clicked">
        <callback name="link_clicked">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="defbox" transfer-ownership="none">
              <type name="Defbox" c:type="GdictDefbox*"/>
            </parameter>
            <parameter name="link" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="selection_changed">
        <callback name="selection_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="defbox" transfer-ownership="none">
              <type name="Defbox" c:type="GdictDefbox*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_gdict_defbox_1" introspectable="0">
        <callback name="_gdict_defbox_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_defbox_2" introspectable="0">
        <callback name="_gdict_defbox_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_defbox_3" introspectable="0">
        <callback name="_gdict_defbox_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_defbox_4" introspectable="0">
        <callback name="_gdict_defbox_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="DefboxPrivate" c:type="GdictDefboxPrivate" disguised="1">
    </record>
    <record name="Definition"
            c:type="GdictDefinition"
            glib:type-name="GdictDefinition"
            glib:get-type="gdict_definition_get_type"
            c:symbol-prefix="definition">
      <doc xml:space="preserve">A #GdictDefinition represents a single definition for the searched
word.

The #GdictDefinition structure is private and should only be
accessed using the available functions.</doc>
      <field name="total" writable="1">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="word" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="database_name" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="database_full" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="definition" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="ref_count" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <method name="get_database"
              c:identifier="gdict_definition_get_database"
              version="1.0">
        <doc xml:space="preserve">Retrieves the full name of the dictionary database where the
definition is stored.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the full name of a database.  The returned string
  is owned by the #GdictDefinition object and should not be
  modified or freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="def" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefinition</doc>
            <type name="Definition" c:type="GdictDefinition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_text"
              c:identifier="gdict_definition_get_text"
              version="1.0">
        <doc xml:space="preserve">Retrieves the text of the definition.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the text of the definition.  The returned string
  is owned by the #GdictDefinition object, and should not be
  modified or freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="def" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefinition</doc>
            <type name="Definition" c:type="GdictDefinition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_total"
              c:identifier="gdict_definition_get_total"
              version="1.0">
        <doc xml:space="preserve">Retrieves the total number of definitions that were found on a
dictionary.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the number of definitions.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="def" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefinition</doc>
            <type name="Definition" c:type="GdictDefinition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_word"
              c:identifier="gdict_definition_get_word"
              version="1.0">
        <doc xml:space="preserve">Retrieves the word used by the dictionary database to store
the definition.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a word.  The returned string is owned by the
  #GdictDefinition object and should not be modified or freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="def" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefinition</doc>
            <type name="Definition" c:type="GdictDefinition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="gdict_definition_ref" version="1.0">
        <doc xml:space="preserve">Increases the reference count of @def by one.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the #GdictDefinition object with its reference count
  increased.</doc>
          <type name="Definition" c:type="GdictDefinition*"/>
        </return-value>
        <parameters>
          <instance-parameter name="def" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefinition</doc>
            <type name="Definition" c:type="GdictDefinition*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="gdict_definition_unref" version="1.0">
        <doc xml:space="preserve">Decreases the reference count of @def by one.  If the reference count
reaches zero, the #GdictDefinition object is freed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="def" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictDefinition</doc>
            <type name="Definition" c:type="GdictDefinition*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <record name="Match"
            c:type="GdictMatch"
            glib:type-name="GdictMatch"
            glib:get-type="gdict_match_get_type"
            c:symbol-prefix="match">
      <doc xml:space="preserve">A #GdictMatch represents a single match for the searched word.

The #GdictMatch structure is private and should only be accessed
using the available functions.</doc>
      <field name="database" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="word" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="ref_count" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <method name="get_database"
              c:identifier="gdict_match_get_database"
              version="1.0">
        <doc xml:space="preserve">FIXME</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">FIXME</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="match" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictMatch</doc>
            <type name="Match" c:type="GdictMatch*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_word"
              c:identifier="gdict_match_get_word"
              version="1.0">
        <doc xml:space="preserve">FIXME</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">FIXME</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="match" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictMatch</doc>
            <type name="Match" c:type="GdictMatch*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="gdict_match_ref" version="1.0">
        <doc xml:space="preserve">FIXME</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">FIXME</doc>
          <type name="Match" c:type="GdictMatch*"/>
        </return-value>
        <parameters>
          <instance-parameter name="match" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictMatch</doc>
            <type name="Match" c:type="GdictMatch*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="gdict_match_unref" version="1.0">
        <doc xml:space="preserve">FIXME</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="match" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictMatch</doc>
            <type name="Match" c:type="GdictMatch*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <class name="Source"
           c:symbol-prefix="source"
           c:type="GdictSource"
           parent="GObject.Object"
           glib:type-name="GdictSource"
           glib:get-type="gdict_source_get_type"
           glib:type-struct="SourceClass">
      <constructor name="new" c:identifier="gdict_source_new">
        <doc xml:space="preserve">Creates an empty #GdictSource object.  Use gdict_load_from_file() to
read an existing dictionary source definition file.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">an empty #GdictSource</doc>
          <type name="Source" c:type="GdictSource*"/>
        </return-value>
      </constructor>
      <method name="get_context"
              c:identifier="gdict_source_get_context"
              version="1.0">
        <doc xml:space="preserve">Gets the #GdictContext bound to @source.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #GdictContext for @source.
  Use g_object_unref() when you don't need it anymore.</doc>
          <type name="Context" c:type="GdictContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSource</doc>
            <type name="Source" c:type="GdictSource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_database"
              c:identifier="gdict_source_get_database"
              version="1.0">
        <doc xml:space="preserve">Retrieves the default database of @source.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the default strategy of a #GdictSource.  The returned string
  is owned by the #GdictSource object, and should not be modified or freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSource</doc>
            <type name="Source" c:type="GdictSource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_description"
              c:identifier="gdict_source_get_description"
              version="1.0">
        <doc xml:space="preserve">Retrieves the description of @source.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the description of a #GdictSource.  The returned string is
  owned by the #GdictSource object, and should not be modified or freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSource</doc>
            <type name="Source" c:type="GdictSource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="gdict_source_get_name"
              version="1.0">
        <doc xml:space="preserve">Retrieves the name of @source.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the name of a #GdictSource.  The returned string is owned
  by the #GdictSource object, and should not be modified or freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSource</doc>
            <type name="Source" c:type="GdictSource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_strategy"
              c:identifier="gdict_source_get_strategy"
              version="1.0">
        <doc xml:space="preserve">Retrieves the default strategy of @source.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the default strategy of a #GdictSource.  The returned string
  is owned by the #GdictSource object, and should not be modified or freed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSource</doc>
            <type name="Source" c:type="GdictSource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_transport"
              c:identifier="gdict_source_get_transport"
              version="1.0">
        <doc xml:space="preserve">FIXME</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">FIXME</doc>
          <type name="SourceTransport" c:type="GdictSourceTransport"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSource</doc>
            <type name="Source" c:type="GdictSource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_editable"
              c:identifier="gdict_source_is_editable"
              version="1.0">
        <doc xml:space="preserve">Retrieves the is-editable property of @source.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if @source is editable.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSource</doc>
            <type name="Source" c:type="GdictSource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="load_from_data"
              c:identifier="gdict_source_load_from_data"
              version="1.0"
              throws="1">
        <doc xml:space="preserve">Loads a dictionary source definition from @data inside an empty
#GdictSource object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if @filename was loaded successfully.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSource</doc>
            <type name="Source" c:type="GdictSource*"/>
          </instance-parameter>
          <parameter name="data" transfer-ownership="none">
            <doc xml:space="preserve">string containing a dictionary source</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:space="preserve">length of @data</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_from_file"
              c:identifier="gdict_source_load_from_file"
              version="1.0"
              throws="1">
        <doc xml:space="preserve">Loads a dictionary source definition file into an empty #GdictSource
object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if @filename was loaded successfully.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">an empty #GdictSource</doc>
            <type name="Source" c:type="GdictSource*"/>
          </instance-parameter>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:space="preserve">path to a dictionary source file</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="peek_context"
              c:identifier="gdict_source_peek_context"
              version="1.0">
        <doc xml:space="preserve">Gets the #GdictContext bound to @source.  The returned object is a
referenced copy of the context held by @source; if you want a different
instance, use gdict_source_get_context().</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a referenced #GdictContext.</doc>
          <type name="Context" c:type="GdictContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSource</doc>
            <type name="Source" c:type="GdictSource*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_database"
              c:identifier="gdict_source_set_database"
              version="1.0">
        <doc xml:space="preserve">Sets the default database of @source.  If @database is %NULL, unsets the
currently set database.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSource</doc>
            <type name="Source" c:type="GdictSource*"/>
          </instance-parameter>
          <parameter name="database"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a UTF-8 encoded database name or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_description"
              c:identifier="gdict_source_set_description"
              version="1.0">
        <doc xml:space="preserve">Sets the description of @source.  If @description is %NULL, unsets the
currently set description.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSource</doc>
            <type name="Source" c:type="GdictSource*"/>
          </instance-parameter>
          <parameter name="description"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a UTF-8 encoded description or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_name"
              c:identifier="gdict_source_set_name"
              version="1.0">
        <doc xml:space="preserve">Sets @name as the displayable name of the dictionary source.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSource</doc>
            <type name="Source" c:type="GdictSource*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">the UTF8-encoded name of the dictionary source</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_strategy"
              c:identifier="gdict_source_set_strategy"
              version="1.0">
        <doc xml:space="preserve">Sets the description of @source.  If @strategy is %NULL, unsets the
currently set strategy.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSource</doc>
            <type name="Source" c:type="GdictSource*"/>
          </instance-parameter>
          <parameter name="strategy"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a UTF-8 encoded strategy or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_transport"
              c:identifier="gdict_source_set_transport"
              version="1.0"
              introspectable="0">
        <doc xml:space="preserve">Sets @transport as the choosen transport for @source.  The @transport
argument is a method of retrieving dictionary data from a source; it is
used to create the right #GdictContext for this #GdictSource.  After
@transport, property name/value pairs should be listed, with a %NULL
pointer ending the list.  Properties are the same passed to a #GdictContext
implementation instance using g_object_set().

Here's a simple example:

&lt;informalexample&gt;&lt;programlisting&gt;
#include &amp;lt;gdict/gdict.h&amp;gt;
 GdictSource *source = gdict_source_new ();
 
 gdict_source_set_name (source, "My Source");
 gdict_source_set_transport (source, GDICT_SOURCE_TRANSPORT_DICTD,
                             "hostname", "dictionary-server.org",
                             "port", 2628,
                             NULL);
&lt;/programlisting&gt;&lt;/informalexample&gt;</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSource</doc>
            <type name="Source" c:type="GdictSource*"/>
          </instance-parameter>
          <parameter name="transport" transfer-ownership="none">
            <doc xml:space="preserve">a valid transport</doc>
            <type name="SourceTransport" c:type="GdictSourceTransport"/>
          </parameter>
          <parameter name="first_transport_property" transfer-ownership="none">
            <doc xml:space="preserve">property for the context bound to
  the transport, or %NULL</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve">property value for first property name, then additionary
  properties, ending with %NULL</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_transportv"
              c:identifier="gdict_source_set_transportv"
              version="1.0"
              introspectable="0">
        <doc xml:space="preserve">FIXME</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSource</doc>
            <type name="Source" c:type="GdictSource*"/>
          </instance-parameter>
          <parameter name="transport" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSourceTransport</doc>
            <type name="SourceTransport" c:type="GdictSourceTransport"/>
          </parameter>
          <parameter name="first_transport_property" transfer-ownership="none">
            <doc xml:space="preserve">FIXME</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="var_args" transfer-ownership="none">
            <doc xml:space="preserve">FIXME</doc>
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </method>
      <method name="to_data"
              c:identifier="gdict_source_to_data"
              version="1.0"
              throws="1">
        <doc xml:space="preserve">Outputs a dictionary source as a string.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a newly allocated string holding the contents of @source.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSource</doc>
            <type name="Source" c:type="GdictSource*"/>
          </instance-parameter>
          <parameter name="length"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve">return loaction for the length
    of the string, or %NULL</doc>
            <type name="gsize" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <property name="context" version="1.0" transfer-ownership="none">
        <doc xml:space="preserve">The #GdictContext bound to this source.</doc>
        <type name="Context"/>
      </property>
      <property name="database"
                version="1.0"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The default database of this dictionary source.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="description"
                version="1.0"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The description of this dictionary source.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="editable" version="1.0" transfer-ownership="none">
        <doc xml:space="preserve">Whether the dictionary source is editable or not.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="filename" version="1.0" transfer-ownership="none">
        <doc xml:space="preserve">The filename used by this dictionary source.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="name"
                version="1.0"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The display name of this dictionary source.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="strategy"
                version="1.0"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The default strategy of this dictionary source.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="transport"
                version="1.0"
                writable="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The transport mechanism used by this source.</doc>
        <type name="SourceTransport"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="SourcePrivate" c:type="GdictSourcePrivate*"/>
      </field>
    </class>
    <class name="SourceChooser"
           c:symbol-prefix="source_chooser"
           c:type="GdictSourceChooser"
           parent="Gtk.Box"
           glib:type-name="GdictSourceChooser"
           glib:get-type="gdict_source_chooser_get_type"
           glib:type-struct="SourceChooserClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new"
                   c:identifier="gdict_source_chooser_new"
                   version="0.12">
        <doc xml:space="preserve">Creates a new #GdictSourceChooser widget. This widget can be used to
display the list of available dictionary sources.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the newly created #GdictSourceChooser widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_loader"
                   c:identifier="gdict_source_chooser_new_with_loader"
                   version="0.12">
        <doc xml:space="preserve">Creates a new #GdictSourceChooser widget and sets @loader as the
#GdictSourceLoader object to be used to retrieve the list of
available dictionary sources.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the newly created #GdictSourceChooser widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSourceLoader</doc>
            <type name="SourceLoader" c:type="GdictSourceLoader*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="selection_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <type name="SourceChooser" c:type="GdictSourceChooser*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="source_activated">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <type name="SourceChooser" c:type="GdictSourceChooser*"/>
          </instance-parameter>
          <parameter name="source_name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="source" transfer-ownership="none">
            <type name="Source" c:type="GdictSource*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_button"
              c:identifier="gdict_source_chooser_add_button"
              version="0.12">
        <doc xml:space="preserve">Adds a #GtkButton with @button_text to the button area on
the bottom of @chooser.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the newly packed button.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSourceChooser</doc>
            <type name="SourceChooser" c:type="GdictSourceChooser*"/>
          </instance-parameter>
          <parameter name="button_text" transfer-ownership="none">
            <doc xml:space="preserve">text of the button</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="count_sources"
              c:identifier="gdict_source_chooser_count_sources"
              version="0.12">
        <doc xml:space="preserve">Retrieve the number of available dictionary sources.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the number of available sources, or -1 if no
  #GdictSourceLoader has been set</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSourceChooser</doc>
            <type name="SourceChooser" c:type="GdictSourceChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_current_source"
              c:identifier="gdict_source_chooser_get_current_source"
              version="0.12">
        <doc xml:space="preserve">Retrieves the currently selected source.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a newly allocated string containing the name of
  the currently selected source. Use g_free() when done using it</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSourceChooser</doc>
            <type name="SourceChooser" c:type="GdictSourceChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_loader"
              c:identifier="gdict_source_chooser_get_loader"
              version="0.12">
        <doc xml:space="preserve">Retrieves the #GdictSourceLoader used by @chooser.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #GdictSourceLoader or %NULL is none is set</doc>
          <type name="SourceLoader" c:type="GdictSourceLoader*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSourceChooser</doc>
            <type name="SourceChooser" c:type="GdictSourceChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_sources"
              c:identifier="gdict_source_chooser_get_sources"
              version="0.12">
        <doc xml:space="preserve">Retrieves the names of the available dictionary sources.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a newly allocated, %NULL terminated
  string vector containing the names of the available sources.
  Use g_strfreev() when done using it.</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSouceChooser</doc>
            <type name="SourceChooser" c:type="GdictSourceChooser*"/>
          </instance-parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:space="preserve">return location for the length of the returned vector</doc>
            <type name="gsize" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_source"
              c:identifier="gdict_source_chooser_has_source"
              version="0.12">
        <doc xml:space="preserve">Checks whether @chooser has a dictionary source named @source_name.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the dictionary source was found</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSourceChooser</doc>
            <type name="SourceChooser" c:type="GdictSourceChooser*"/>
          </instance-parameter>
          <parameter name="source_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of a dictionary source</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="refresh"
              c:identifier="gdict_source_chooser_refresh"
              version="0.12">
        <doc xml:space="preserve">Forces a refresh on the contents of the source chooser widget</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 #GdictSourceChooser</doc>
            <type name="SourceChooser" c:type="GdictSourceChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="select_source"
              c:identifier="gdict_source_chooser_select_source"
              version="0.12">
        <doc xml:space="preserve">Selects the dictionary source named @source_name inside @chooser.
The selection is moved but the row containing the dictionary source
is not activated.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the source was found and selected</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSourceChooser</doc>
            <type name="SourceChooser" c:type="GdictSourceChooser*"/>
          </instance-parameter>
          <parameter name="source_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of a dictionary source</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_current_source"
              c:identifier="gdict_source_chooser_set_current_source"
              version="0.12">
        <doc xml:space="preserve">Sets the current dictionary source named @source_name. The row
of the source, if found, will be selected and activated.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the source was found</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSourceChooser</doc>
            <type name="SourceChooser" c:type="GdictSourceChooser*"/>
          </instance-parameter>
          <parameter name="source_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of a dictionary source</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_loader"
              c:identifier="gdict_source_chooser_set_loader"
              version="0.12">
        <doc xml:space="preserve">Sets the #GdictSourceLoader to be used by the source chooser
widget.</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 #GdictSourceChooser</doc>
            <type name="SourceChooser" c:type="GdictSourceChooser*"/>
          </instance-parameter>
          <parameter name="loader"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GdictSourceLoader or %NULL to unset it</doc>
            <type name="SourceLoader" c:type="GdictSourceLoader*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unselect_source"
              c:identifier="gdict_source_chooser_unselect_source"
              version="0.12">
        <doc xml:space="preserve">Unselects @source_name inside @chooser.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the source was found and unselected</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSourceChooser</doc>
            <type name="SourceChooser" c:type="GdictSourceChooser*"/>
          </instance-parameter>
          <parameter name="source_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of a dictionary source</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="count" version="0.12" transfer-ownership="none">
        <doc xml:space="preserve">The number of available dictionary sources, or -1 if no
#GdictSourceLoader is set.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="loader"
                version="0.12"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The #GdictSourceLoader used to retrieve the list of available
dictionary sources.</doc>
        <type name="SourceLoader"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="SourceChooserPrivate" c:type="GdictSourceChooserPrivate*"/>
      </field>
      <glib:signal name="selection-changed" when="last" version="0.12">
        <doc xml:space="preserve">The ::selection-changed signal is emitted each time the
selection inside the source chooser widget has been changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="source-activated" when="last" version="0.12">
        <doc xml:space="preserve">The ::source-activated signal is emitted each time the user
activates a row in the source chooser widget, either by double
clicking on it or by a keyboard event.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="source_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the activated source</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">the activated #GdictSource</doc>
            <type name="Source"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="SourceChooserClass"
            c:type="GdictSourceChooserClass"
            glib:is-gtype-struct-for="SourceChooser">
      <field name="parent_class" readable="0" private="1">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
      <field name="source_activated">
        <callback name="source_activated">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="chooser" transfer-ownership="none">
              <type name="SourceChooser" c:type="GdictSourceChooser*"/>
            </parameter>
            <parameter name="source_name" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="source" transfer-ownership="none">
              <type name="Source" c:type="GdictSource*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="selection_changed">
        <callback name="selection_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="chooser" transfer-ownership="none">
              <type name="SourceChooser" c:type="GdictSourceChooser*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_gdict_padding1" introspectable="0">
        <callback name="_gdict_padding1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_padding2" introspectable="0">
        <callback name="_gdict_padding2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_padding3" introspectable="0">
        <callback name="_gdict_padding3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_padding4" introspectable="0">
        <callback name="_gdict_padding4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_padding5" introspectable="0">
        <callback name="_gdict_padding5">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_padding6" introspectable="0">
        <callback name="_gdict_padding6">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="SourceChooserPrivate"
            c:type="GdictSourceChooserPrivate"
            disguised="1">
    </record>
    <record name="SourceClass"
            c:type="GdictSourceClass"
            glib:is-gtype-struct-for="Source">
      <field name="parent_class" readable="0" private="1">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <enumeration name="SourceError"
                 glib:type-name="GdictSourceError"
                 glib:get-type="gdict_source_error_get_type"
                 c:type="GdictSourceError"
                 glib:error-domain="gdict-source-error-quark">
      <member name="parse"
              value="0"
              c:identifier="GDICT_SOURCE_ERROR_PARSE"
              glib:nick="parse">
      </member>
      <member name="invalid_name"
              value="1"
              c:identifier="GDICT_SOURCE_ERROR_INVALID_NAME"
              glib:nick="invalid-name">
      </member>
      <member name="invalid_transport"
              value="2"
              c:identifier="GDICT_SOURCE_ERROR_INVALID_TRANSPORT"
              glib:nick="invalid-transport">
      </member>
      <member name="invalid_bad_parameter"
              value="3"
              c:identifier="GDICT_SOURCE_ERROR_INVALID_BAD_PARAMETER"
              glib:nick="invalid-bad-parameter">
      </member>
      <function name="quark" c:identifier="gdict_source_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
    </enumeration>
    <class name="SourceLoader"
           c:symbol-prefix="source_loader"
           c:type="GdictSourceLoader"
           parent="GObject.Object"
           glib:type-name="GdictSourceLoader"
           glib:get-type="gdict_source_loader_get_type"
           glib:type-struct="SourceLoaderClass">
      <constructor name="new"
                   c:identifier="gdict_source_loader_new"
                   version="1.0">
        <doc xml:space="preserve">Creates a new #GdictSourceLoader object.  This object is used to search
into a list of paths for dictionary source files.  See #GdictSource for
more informations about the format of dictionary source files.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GdictSourceLoader object</doc>
          <type name="SourceLoader" c:type="GdictSourceLoader*"/>
        </return-value>
      </constructor>
      <virtual-method name="source_loaded">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="loader" transfer-ownership="none">
            <type name="SourceLoader" c:type="GdictSourceLoader*"/>
          </instance-parameter>
          <parameter name="source" transfer-ownership="none">
            <type name="Source" c:type="GdictSource*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_search_path"
              c:identifier="gdict_source_loader_add_search_path"
              version="1.0">
        <doc xml:space="preserve">Adds @path to the search paths list of @loader.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSourceLoader</doc>
            <type name="SourceLoader" c:type="GdictSourceLoader*"/>
          </instance-parameter>
          <parameter name="path" transfer-ownership="none">
            <doc xml:space="preserve">a path to be added to the search path list</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_names"
              c:identifier="gdict_source_loader_get_names"
              version="1.0">
        <doc xml:space="preserve">Retrieves the list of dictionary source names available into the
search paths of @loader.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a newly allocated, %NULL terminated
  array of strings.  You should free the returned string array
  with g_strfreev()</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSourceLoader</doc>
            <type name="SourceLoader" c:type="GdictSourceLoader*"/>
          </instance-parameter>
          <parameter name="length"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full"
                     optional="1"
                     allow-none="1">
            <doc xml:space="preserve">return location for the number of
  source names, or %NULL</doc>
            <type name="gsize" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_paths"
              c:identifier="gdict_source_loader_get_paths"
              version="1.0">
        <doc xml:space="preserve">Gets the list of paths used by @loader to search for dictionary source
files.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a list containing the paths.
  The returned list is owned by the #GdictSourceLoader object and should never
  be free or modified.</doc>
          <type name="GLib.SList" c:type="const GSList*">
            <type name="utf8"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSourceLoader</doc>
            <type name="SourceLoader" c:type="GdictSourceLoader*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_source"
              c:identifier="gdict_source_loader_get_source"
              version="1.0">
        <doc xml:space="preserve">Retrieves a dictionary source using @name.  You can use the returned
#GdictSource object to create the right #GdictContext for that
dictionary source.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a referenced #GdictSource object.</doc>
          <type name="Source" c:type="GdictSource*"/>
        </return-value>
        <parameters>
          <instance-parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSourceLoader</doc>
            <type name="SourceLoader" c:type="GdictSourceLoader*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">a name of a dictionary source</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_sources"
              c:identifier="gdict_source_loader_get_sources"
              version="1.0">
        <doc xml:space="preserve">Retrieves the list of dictionary sources available into the search
paths of @loader, in form of #GdictSource objects.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a list of
  #GdictSource objects.  The returned list is owned by the #GdictSourceLoader
  object, and should never be freed or modified.</doc>
          <type name="GLib.SList" c:type="const GSList*">
            <type name="Source"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSourceLoader</doc>
            <type name="SourceLoader" c:type="GdictSourceLoader*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has_source"
              c:identifier="gdict_source_loader_has_source"
              version="0.12">
        <doc xml:space="preserve">Checks whether @loader has a dictionary source with name @source_name.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the dictionary source is known</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSourceLoader</doc>
            <type name="SourceLoader" c:type="GdictSourceLoader*"/>
          </instance-parameter>
          <parameter name="source_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of a dictionary source</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_source"
              c:identifier="gdict_source_loader_remove_source"
              version="1.0">
        <doc xml:space="preserve">Removes the dictionary source @name from @loader.  This function will
also remove the dictionary source definition file bound to it.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the dictionary source was successfully removed</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSourceLoader</doc>
            <type name="SourceLoader" c:type="GdictSourceLoader*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">name of a dictionary source</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="update"
              c:identifier="gdict_source_loader_update"
              version="1.0">
        <doc xml:space="preserve">Queue an update of the sources inside @loader.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="loader" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSourceLoader</doc>
            <type name="SourceLoader" c:type="GdictSourceLoader*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="paths" version="1.0" transfer-ownership="none">
        <doc xml:space="preserve">The search paths used by this object</doc>
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <property name="sources" version="1.0" transfer-ownership="none">
        <doc xml:space="preserve">The #GdictSource objects found by this object</doc>
        <type name="gpointer" c:type="gpointer"/>
      </property>
      <field name="parent_instance" readable="0" private="1">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="SourceLoaderPrivate" c:type="GdictSourceLoaderPrivate*"/>
      </field>
      <glib:signal name="source-loaded" when="last" version="1.0">
        <doc xml:space="preserve">This signal is emitted when a new dictionary source has been added
to the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="source" transfer-ownership="none">
            <doc xml:space="preserve">the new #GdictSource object found</doc>
            <type name="Source"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="SourceLoaderClass"
            c:type="GdictSourceLoaderClass"
            glib:is-gtype-struct-for="SourceLoader">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="source_loaded">
        <callback name="source_loaded">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="loader" transfer-ownership="none">
              <type name="SourceLoader" c:type="GdictSourceLoader*"/>
            </parameter>
            <parameter name="source" transfer-ownership="none">
              <type name="Source" c:type="GdictSource*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_gdict_source_1" introspectable="0">
        <callback name="_gdict_source_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_source_2" introspectable="0">
        <callback name="_gdict_source_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_source_3" introspectable="0">
        <callback name="_gdict_source_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_source_4" introspectable="0">
        <callback name="_gdict_source_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="SourceLoaderPrivate"
            c:type="GdictSourceLoaderPrivate"
            disguised="1">
    </record>
    <record name="SourcePrivate" c:type="GdictSourcePrivate" disguised="1">
    </record>
    <enumeration name="SourceTransport"
                 glib:type-name="GdictSourceTransport"
                 glib:get-type="gdict_source_transport_get_type"
                 c:type="GdictSourceTransport">
      <member name="dictd"
              value="0"
              c:identifier="GDICT_SOURCE_TRANSPORT_DICTD"
              glib:nick="dictd">
      </member>
      <member name="invalid"
              value="1"
              c:identifier="GDICT_SOURCE_TRANSPORT_INVALID"
              glib:nick="invalid">
      </member>
    </enumeration>
    <class name="Speller"
           c:symbol-prefix="speller"
           c:type="GdictSpeller"
           parent="Gtk.Box"
           glib:type-name="GdictSpeller"
           glib:get-type="gdict_speller_get_type"
           glib:type-struct="SpellerClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="gdict_speller_new">
        <doc xml:space="preserve">FIXME</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">FIXME</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_context"
                   c:identifier="gdict_speller_new_with_context">
        <doc xml:space="preserve">FIXME</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">FIXME</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictContext</doc>
            <type name="Context" c:type="GdictContext*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="word_activated">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="speller" transfer-ownership="none">
            <type name="Speller" c:type="GdictSpeller*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="database" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="clear" c:identifier="gdict_speller_clear">
        <doc xml:space="preserve">FIXME</doc>
        <doc-version xml:space="preserve">FIXME</doc-version>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="speller" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSpeller</doc>
            <type name="Speller" c:type="GdictSpeller*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="count_matches" c:identifier="gdict_speller_count_matches">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="speller" transfer-ownership="none">
            <type name="Speller" c:type="GdictSpeller*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_context" c:identifier="gdict_speller_get_context">
        <doc xml:space="preserve">FIXME</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #GdictContext</doc>
          <type name="Context" c:type="GdictContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="speller" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSpeller</doc>
            <type name="Speller" c:type="GdictSpeller*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_database" c:identifier="gdict_speller_get_database">
        <doc xml:space="preserve">FIXME</doc>
        <doc-version xml:space="preserve">FIXME</doc-version>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">FIXME</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="speller" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSpeller</doc>
            <type name="Speller" c:type="GdictSpeller*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_matches" c:identifier="gdict_speller_get_matches">
        <doc xml:space="preserve">FIXME</doc>
        <doc-version xml:space="preserve">FIXME</doc-version>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">FIXME</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="speller" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSpeller</doc>
            <type name="Speller" c:type="GdictSpeller*"/>
          </instance-parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:space="preserve">FIXME</doc>
            <type name="gsize" c:type="gsize"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_strategy" c:identifier="gdict_speller_get_strategy">
        <doc xml:space="preserve">FIXME</doc>
        <doc-version xml:space="preserve">FIXME</doc-version>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">FIXME</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="speller" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSpeller</doc>
            <type name="Speller" c:type="GdictSpeller*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="match" c:identifier="gdict_speller_match">
        <doc xml:space="preserve">FIXME</doc>
        <doc-version xml:space="preserve">FIXME</doc-version>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="speller" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSpeller</doc>
            <type name="Speller" c:type="GdictSpeller*"/>
          </instance-parameter>
          <parameter name="word" transfer-ownership="none">
            <doc xml:space="preserve">FIXME</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_context" c:identifier="gdict_speller_set_context">
        <doc xml:space="preserve">FIXME</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="speller" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSpeller</doc>
            <type name="Speller" c:type="GdictSpeller*"/>
          </instance-parameter>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictContext</doc>
            <type name="Context" c:type="GdictContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_database" c:identifier="gdict_speller_set_database">
        <doc xml:space="preserve">FIXME</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="speller" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSpeller</doc>
            <type name="Speller" c:type="GdictSpeller*"/>
          </instance-parameter>
          <parameter name="database" transfer-ownership="none">
            <doc xml:space="preserve">FIXME</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_strategy" c:identifier="gdict_speller_set_strategy">
        <doc xml:space="preserve">FIXME</doc>
        <doc-version xml:space="preserve">FIXME</doc-version>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="speller" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictSpeller</doc>
            <type name="Speller" c:type="GdictSpeller*"/>
          </instance-parameter>
          <parameter name="strategy" transfer-ownership="none">
            <doc xml:space="preserve">FIXME</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="context"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="Context"/>
      </property>
      <property name="database" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="strategy" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="SpellerPrivate" c:type="GdictSpellerPrivate*"/>
      </field>
      <glib:signal name="word-activated" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="SpellerClass"
            c:type="GdictSpellerClass"
            glib:is-gtype-struct-for="Speller">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
      <field name="word_activated">
        <callback name="word_activated">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="speller" transfer-ownership="none">
              <type name="Speller" c:type="GdictSpeller*"/>
            </parameter>
            <parameter name="word" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="database" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_gdict_speller_1" introspectable="0">
        <callback name="_gdict_speller_1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_speller_2" introspectable="0">
        <callback name="_gdict_speller_2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_speller_3" introspectable="0">
        <callback name="_gdict_speller_3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_speller_4" introspectable="0">
        <callback name="_gdict_speller_4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="SpellerPrivate" c:type="GdictSpellerPrivate" disguised="1">
    </record>
    <enumeration name="StatusCode"
                 glib:type-name="GdictStatusCode"
                 glib:get-type="gdict_status_code_get_type"
                 c:type="GdictStatusCode">
      <member name="invalid"
              value="0"
              c:identifier="GDICT_STATUS_INVALID"
              glib:nick="invalid">
      </member>
      <member name="n_databases_present"
              value="110"
              c:identifier="GDICT_STATUS_N_DATABASES_PRESENT"
              glib:nick="n-databases-present">
      </member>
      <member name="n_strategies_present"
              value="111"
              c:identifier="GDICT_STATUS_N_STRATEGIES_PRESENT"
              glib:nick="n-strategies-present">
      </member>
      <member name="database_info"
              value="112"
              c:identifier="GDICT_STATUS_DATABASE_INFO"
              glib:nick="database-info">
      </member>
      <member name="help_text"
              value="113"
              c:identifier="GDICT_STATUS_HELP_TEXT"
              glib:nick="help-text">
      </member>
      <member name="server_info"
              value="114"
              c:identifier="GDICT_STATUS_SERVER_INFO"
              glib:nick="server-info">
      </member>
      <member name="challenge"
              value="130"
              c:identifier="GDICT_STATUS_CHALLENGE"
              glib:nick="challenge">
      </member>
      <member name="n_definitions_retrieved"
              value="150"
              c:identifier="GDICT_STATUS_N_DEFINITIONS_RETRIEVED"
              glib:nick="n-definitions-retrieved">
      </member>
      <member name="word_db_name"
              value="151"
              c:identifier="GDICT_STATUS_WORD_DB_NAME"
              glib:nick="word-db-name">
      </member>
      <member name="n_matches_found"
              value="152"
              c:identifier="GDICT_STATUS_N_MATCHES_FOUND"
              glib:nick="n-matches-found">
      </member>
      <member name="connect"
              value="220"
              c:identifier="GDICT_STATUS_CONNECT"
              glib:nick="connect">
      </member>
      <member name="quit"
              value="221"
              c:identifier="GDICT_STATUS_QUIT"
              glib:nick="quit">
      </member>
      <member name="auth_ok"
              value="230"
              c:identifier="GDICT_STATUS_AUTH_OK"
              glib:nick="auth-ok">
      </member>
      <member name="ok"
              value="250"
              c:identifier="GDICT_STATUS_OK"
              glib:nick="ok">
      </member>
      <member name="send_response"
              value="330"
              c:identifier="GDICT_STATUS_SEND_RESPONSE"
              glib:nick="send-response">
      </member>
      <member name="server_down"
              value="420"
              c:identifier="GDICT_STATUS_SERVER_DOWN"
              glib:nick="server-down">
      </member>
      <member name="shutdown"
              value="421"
              c:identifier="GDICT_STATUS_SHUTDOWN"
              glib:nick="shutdown">
      </member>
      <member name="bad_command"
              value="500"
              c:identifier="GDICT_STATUS_BAD_COMMAND"
              glib:nick="bad-command">
      </member>
      <member name="bad_parameters"
              value="501"
              c:identifier="GDICT_STATUS_BAD_PARAMETERS"
              glib:nick="bad-parameters">
      </member>
      <member name="command_not_implemented"
              value="502"
              c:identifier="GDICT_STATUS_COMMAND_NOT_IMPLEMENTED"
              glib:nick="command-not-implemented">
      </member>
      <member name="parameter_not_implemented"
              value="503"
              c:identifier="GDICT_STATUS_PARAMETER_NOT_IMPLEMENTED"
              glib:nick="parameter-not-implemented">
      </member>
      <member name="no_access"
              value="530"
              c:identifier="GDICT_STATUS_NO_ACCESS"
              glib:nick="no-access">
      </member>
      <member name="use_show_info"
              value="531"
              c:identifier="GDICT_STATUS_USE_SHOW_INFO"
              glib:nick="use-show-info">
      </member>
      <member name="unknown_mechanism"
              value="532"
              c:identifier="GDICT_STATUS_UNKNOWN_MECHANISM"
              glib:nick="unknown-mechanism">
      </member>
      <member name="bad_database"
              value="550"
              c:identifier="GDICT_STATUS_BAD_DATABASE"
              glib:nick="bad-database">
      </member>
      <member name="bad_strategy"
              value="551"
              c:identifier="GDICT_STATUS_BAD_STRATEGY"
              glib:nick="bad-strategy">
      </member>
      <member name="no_match"
              value="552"
              c:identifier="GDICT_STATUS_NO_MATCH"
              glib:nick="no-match">
      </member>
      <member name="no_databases_present"
              value="554"
              c:identifier="GDICT_STATUS_NO_DATABASES_PRESENT"
              glib:nick="no-databases-present">
      </member>
      <member name="no_strategies_present"
              value="555"
              c:identifier="GDICT_STATUS_NO_STRATEGIES_PRESENT"
              glib:nick="no-strategies-present">
      </member>
    </enumeration>
    <record name="Strategy"
            c:type="GdictStrategy"
            glib:type-name="GdictStrategy"
            glib:get-type="gdict_strategy_get_type"
            c:symbol-prefix="strategy">
      <doc xml:space="preserve">A #GdictStrategy represents a matching strategy implemented by
a dictionary source.

The #GdictStrategy structure is private and should only be accessed
using the available functions.</doc>
      <field name="name" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="description" writable="1">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="ref_count" writable="1">
        <type name="guint" c:type="guint"/>
      </field>
      <method name="get_description"
              c:identifier="gdict_strategy_get_description"
              version="1.0">
        <doc xml:space="preserve">FIXME</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">FIXME</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="strat" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictStrategy</doc>
            <type name="Strategy" c:type="GdictStrategy*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name"
              c:identifier="gdict_strategy_get_name"
              version="1.0">
        <doc xml:space="preserve">FIXME</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">FIXME</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="strat" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictStrategy</doc>
            <type name="Strategy" c:type="GdictStrategy*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="gdict_strategy_ref" version="1.0">
        <doc xml:space="preserve">Increases the reference count of @strat by one.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the #GdictStrategy object  with its reference count
  increased</doc>
          <type name="Strategy" c:type="GdictStrategy*"/>
        </return-value>
        <parameters>
          <instance-parameter name="strat" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictStrategy</doc>
            <type name="Strategy" c:type="GdictStrategy*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="gdict_strategy_unref" version="1.0">
        <doc xml:space="preserve">Decreases the reference count of @strat by one.  If the reference count
reaches zero, the #GdictStrategy object is freed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="strat" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictStrategy</doc>
            <type name="Strategy" c:type="GdictStrategy*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <class name="StrategyChooser"
           c:symbol-prefix="strategy_chooser"
           c:type="GdictStrategyChooser"
           parent="Gtk.Box"
           glib:type-name="GdictStrategyChooser"
           glib:get-type="gdict_strategy_chooser_get_type"
           glib:type-struct="StrategyChooserClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new"
                   c:identifier="gdict_strategy_chooser_new"
                   version="0.9">
        <doc xml:space="preserve">Creates a new #GdictStrategyChooser. Use this widget to show a list
of matching strategies available on a dictionary source represented
by a #GdictContext, set with gdict_strategy_chooser_set_context().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the newly created #GdictStrategyChooser widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <constructor name="new_with_context"
                   c:identifier="gdict_strategy_chooser_new_with_context"
                   version="0.9">
        <doc xml:space="preserve">Creates a new #GdictStrategyChooser widget, using @context as the
representation of a dictionary source.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the newly created #GdictStrategyChooser widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="context" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictContext</doc>
            <type name="Context" c:type="GdictContext*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="strategy_activated">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <type name="StrategyChooser" c:type="GdictStrategyChooser*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_button"
              c:identifier="gdict_strategy_chooser_add_button"
              version="0.10">
        <doc xml:space="preserve">Creates a new button and packs it into the #GdictStrategyChooser
"action area".</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the packed #GtkButton</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictStrategyChooser</doc>
            <type name="StrategyChooser" c:type="GdictStrategyChooser*"/>
          </instance-parameter>
          <parameter name="button_text" transfer-ownership="none">
            <doc xml:space="preserve">text of the button</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="clear"
              c:identifier="gdict_strategy_chooser_clear"
              version="0.10">
        <doc xml:space="preserve">Clears @chooser.</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 #GdictStrategyChooser</doc>
            <type name="StrategyChooser" c:type="GdictStrategyChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="count_strategies"
              c:identifier="gdict_strategy_chooser_count_strategies">
        <doc xml:space="preserve">Returns the number of strategies found.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the number of strategies or -1 if case of error</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictStrategyChooser</doc>
            <type name="StrategyChooser" c:type="GdictStrategyChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_context"
              c:identifier="gdict_strategy_chooser_get_context">
        <doc xml:space="preserve">Retrieves the #GdictContext used by @chooser.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #GdictContext</doc>
          <type name="Context" c:type="GdictContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictStrategyChooser</doc>
            <type name="StrategyChooser" c:type="GdictStrategyChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_current_strategy"
              c:identifier="gdict_strategy_chooser_get_current_strategy"
              version="0.10">
        <doc xml:space="preserve">Retrieves the current matching strategy.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a newly allocated string containing the name of
  the current matching strategy</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictStrategyChooser</doc>
            <type name="StrategyChooser" c:type="GdictStrategyChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_strategies"
              c:identifier="gdict_strategy_chooser_get_strategies"
              version="0.9">
        <doc xml:space="preserve">Retrieves the list of matching strategies available.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a string vector containing the names
  of the matching strategies. Use g_strfreev() to deallocate the memory
  when done</doc>
          <array c:type="gchar**">
            <type name="utf8"/>
          </array>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictStrategyChooser</doc>
            <type name="StrategyChooser" c:type="GdictStrategyChooser*"/>
          </instance-parameter>
          <parameter name="length" transfer-ownership="none">
            <doc xml:space="preserve">return location for the length of the returned string list</doc>
            <type name="gsize" c:type="gsize*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_strategy"
              c:identifier="gdict_strategy_chooser_has_strategy"
              version="0.9">
        <doc xml:space="preserve">Checks whether @strategy is available in the list of matching
strategies displayed by @chooser.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the strategy was found, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictStrategyChooser</doc>
            <type name="StrategyChooser" c:type="GdictStrategyChooser*"/>
          </instance-parameter>
          <parameter name="strategy" transfer-ownership="none">
            <doc xml:space="preserve">a strategy name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="refresh"
              c:identifier="gdict_strategy_chooser_refresh"
              version="0.10">
        <doc xml:space="preserve">Reloads the list of available strategies.</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 #GdictStrategyChooser</doc>
            <type name="StrategyChooser" c:type="GdictStrategyChooser*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="select_strategy"
              c:identifier="gdict_strategy_chooser_select_strategy"
              version="0.10">
        <doc xml:space="preserve">Selects @strat_name, if available.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the matching strategy was found and selected</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictStrategyChooser</doc>
            <type name="StrategyChooser" c:type="GdictStrategyChooser*"/>
          </instance-parameter>
          <parameter name="strat_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the strategy to select</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_context"
              c:identifier="gdict_strategy_chooser_set_context"
              version="0.9">
        <doc xml:space="preserve">Sets the #GdictContext to be used by @chooser to retrieve the
list of matching strategies.</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 #GdictStrategyChooser</doc>
            <type name="StrategyChooser" c:type="GdictStrategyChooser*"/>
          </instance-parameter>
          <parameter name="context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GdictContext, or %NULL to unset the context</doc>
            <type name="Context" c:type="GdictContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_current_strategy"
              c:identifier="gdict_strategy_chooser_set_current_strategy"
              version="0.10">
        <doc xml:space="preserve">Sets @strat_name as the current matching strategy.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the matching strategy was found</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictStrategyChooser</doc>
            <type name="StrategyChooser" c:type="GdictStrategyChooser*"/>
          </instance-parameter>
          <parameter name="strat_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the matching strategy</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unselect_strategy"
              c:identifier="gdict_strategy_chooser_unselect_strategy"
              version="0.10">
        <doc xml:space="preserve">Unselects @strat_name from the list.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the matching strategy was found and successfully
  unselected</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="chooser" transfer-ownership="none">
            <doc xml:space="preserve">a #GdictStrategyChooser</doc>
            <type name="StrategyChooser" c:type="GdictStrategyChooser*"/>
          </instance-parameter>
          <parameter name="strat_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the strategy to unselect</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="context"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The #GdictContext object used to retrieve the list of strategies.</doc>
        <type name="Context"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv">
        <type name="StrategyChooserPrivate"
              c:type="GdictStrategyChooserPrivate*"/>
      </field>
      <glib:signal name="strategy-activated" when="last">
        <doc xml:space="preserve">The ::strategy-activated signal is emitted each time the user
activates a strategy in the @chooser, either by double click or
using the keyboard.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the activated strategy</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="description" transfer-ownership="none">
            <doc xml:space="preserve">the description of the activate strategy</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="StrategyChooserClass"
            c:type="GdictStrategyChooserClass"
            glib:is-gtype-struct-for="StrategyChooser">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
      <field name="strategy_activated">
        <callback name="strategy_activated">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="chooser" transfer-ownership="none">
              <type name="StrategyChooser" c:type="GdictStrategyChooser*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="description" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_gdict_padding1" introspectable="0">
        <callback name="_gdict_padding1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_padding2" introspectable="0">
        <callback name="_gdict_padding2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_padding3" introspectable="0">
        <callback name="_gdict_padding3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_padding4" introspectable="0">
        <callback name="_gdict_padding4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_padding5" introspectable="0">
        <callback name="_gdict_padding5">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gdict_padding6" introspectable="0">
        <callback name="_gdict_padding6">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="StrategyChooserPrivate"
            c:type="GdictStrategyChooserPrivate"
            disguised="1">
    </record>
    <function name="client_context_error_quark"
              c:identifier="gdict_client_context_error_quark"
              moved-to="ClientContextError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="context_error_quark"
              c:identifier="gdict_context_error_quark"
              moved-to="ContextError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
    <function name="debug_init" c:identifier="gdict_debug_init" version="0.12">
      <doc xml:space="preserve">FIXME</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="argc" transfer-ownership="none">
          <doc xml:space="preserve">FIXME</doc>
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="argv" transfer-ownership="none">
          <doc xml:space="preserve">FIXME</doc>
          <type name="utf8" c:type="gchar***"/>
        </parameter>
      </parameters>
    </function>
    <function name="get_option_group"
              c:identifier="gdict_get_option_group"
              version="0.12"
              introspectable="0">
      <doc xml:space="preserve">FIXME</doc>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">FIXME</doc>
        <type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
      </return-value>
    </function>
    <function name="init" c:identifier="gdict_init" version="0.12">
      <doc xml:space="preserve">FIXME</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="argc" transfer-ownership="none">
          <doc xml:space="preserve">FIXME</doc>
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="argv" transfer-ownership="none">
          <doc xml:space="preserve">FIXME</doc>
          <type name="utf8" c:type="gchar***"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_VOID__STRING_OBJECT"
              c:identifier="gdict_marshal_VOID__STRING_OBJECT">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="invocation_hint"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_VOID__STRING_STRING"
              c:identifier="gdict_marshal_VOID__STRING_STRING">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="const GValue*"/>
        </parameter>
        <parameter name="invocation_hint"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="source_error_quark"
              c:identifier="gdict_source_error_quark"
              moved-to="SourceError.quark">
      <return-value transfer-ownership="none">
        <type name="GLib.Quark" c:type="GQuark"/>
      </return-value>
    </function>
  </namespace>
</repository>
