<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Gtk" version="3.0"/>
  <include name="WebKit2" version="4.0"/>
  <package name="libdevhelp-3.0"/>
  <c:include name="devhelp/devhelp.h"/>
  <doc:format name="unknown"/>
  <namespace name="Devhelp"
             version="3.0"
             shared-library="libdevhelp-3.so.6"
             c:identifier-prefixes="Dh"
             c:symbol-prefixes="dh">
    <function-macro name="ASSISTANT_VIEW"
                    c:identifier="DH_ASSISTANT_VIEW"
                    introspectable="0">
      <source-position filename="devhelp/dh-assistant-view.h" line="30"/>
      <parameters>
        <parameter name="i">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ASSISTANT_VIEW_CLASS"
                    c:identifier="DH_ASSISTANT_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-assistant-view.h" line="31"/>
      <parameters>
        <parameter name="c">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ASSISTANT_VIEW_GET_CLASS"
                    c:identifier="DH_ASSISTANT_VIEW_GET_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-assistant-view.h" line="34"/>
      <parameters>
        <parameter name="i">
        </parameter>
      </parameters>
    </function-macro>
    <class name="AssistantView"
           c:symbol-prefix="assistant_view"
           c:type="DhAssistantView"
           parent="WebKit2.WebView"
           glib:type-name="DhAssistantView"
           glib:get-type="dh_assistant_view_get_type"
           glib:type-struct="AssistantViewClass">
      <source-position filename="devhelp/dh-assistant-view.h" line="48"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="dh_assistant_view_new">
        <source-position filename="devhelp/dh-assistant-view.h" line="52"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-assistant-view.c"
               line="169">a new #DhAssistantView widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="search" c:identifier="dh_assistant_view_search">
        <doc xml:space="preserve"
             filename="devhelp/dh-assistant-view.c"
             line="424">Search for @str in the current assistant view.</doc>
        <source-position filename="devhelp/dh-assistant-view.h" line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-assistant-view.c"
               line="431">%TRUE if @str was found, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-assistant-view.c"
                 line="426">a #DhAssistantView.</doc>
            <type name="AssistantView" c:type="DhAssistantView*"/>
          </instance-parameter>
          <parameter name="str" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-assistant-view.c"
                 line="427">the search query.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_link" c:identifier="dh_assistant_view_set_link">
        <doc xml:space="preserve"
             filename="devhelp/dh-assistant-view.c"
             line="201">Open @link in the assistant view, if %NULL the view will be blanked.</doc>
        <source-position filename="devhelp/dh-assistant-view.h" line="54"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-assistant-view.c"
               line="208">%TRUE if the requested link is open, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-assistant-view.c"
                 line="203">a #DhAssistantView.</doc>
            <type name="AssistantView" c:type="DhAssistantView*"/>
          </instance-parameter>
          <parameter name="link"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="devhelp/dh-assistant-view.c"
                 line="204">a #DhLink to set or %NULL.</doc>
            <type name="Link" c:type="DhLink*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="WebKit2.WebView" c:type="WebKitWebView"/>
      </field>
      <glib:signal name="open-uri">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-assistant-view.c"
                 line="150">the uri to open</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="AssistantViewClass"
            c:type="DhAssistantViewClass"
            glib:is-gtype-struct-for="AssistantView">
      <source-position filename="devhelp/dh-assistant-view.h" line="48"/>
      <field name="parent_class">
        <type name="WebKit2.WebViewClass" c:type="WebKitWebViewClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <function-macro name="BOOK" c:identifier="DH_BOOK" introspectable="0">
      <source-position filename="devhelp/dh-book.h" line="37"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BOOK_CLASS"
                    c:identifier="DH_BOOK_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-book.h" line="38"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BOOK_GET_CLASS"
                    c:identifier="DH_BOOK_GET_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-book.h" line="41"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BOOK_LIST"
                    c:identifier="DH_BOOK_LIST"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-list.h" line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BOOK_LIST_BUILDER"
                    c:identifier="DH_BOOK_LIST_BUILDER"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-list-builder.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BOOK_LIST_BUILDER_CLASS"
                    c:identifier="DH_BOOK_LIST_BUILDER_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-list-builder.h" line="32"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BOOK_LIST_BUILDER_GET_CLASS"
                    c:identifier="DH_BOOK_LIST_BUILDER_GET_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-list-builder.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BOOK_LIST_CLASS"
                    c:identifier="DH_BOOK_LIST_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-list.h" line="31"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BOOK_LIST_DIRECTORY"
                    c:identifier="DH_BOOK_LIST_DIRECTORY"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-list-directory.h" line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BOOK_LIST_DIRECTORY_CLASS"
                    c:identifier="DH_BOOK_LIST_DIRECTORY_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-list-directory.h" line="31"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BOOK_LIST_DIRECTORY_GET_CLASS"
                    c:identifier="DH_BOOK_LIST_DIRECTORY_GET_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-list-directory.h" line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BOOK_LIST_GET_CLASS"
                    c:identifier="DH_BOOK_LIST_GET_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-list.h" line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BOOK_MANAGER"
                    c:identifier="DH_BOOK_MANAGER"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-manager.h" line="33"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BOOK_MANAGER_CLASS"
                    c:identifier="DH_BOOK_MANAGER_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-manager.h" line="34"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BOOK_MANAGER_GET_CLASS"
                    c:identifier="DH_BOOK_MANAGER_GET_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-manager.h" line="37"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BOOK_TREE"
                    c:identifier="DH_BOOK_TREE"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-tree.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="BOOK_TREE_CLASS"
                    c:identifier="DH_BOOK_TREE_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-tree.h" line="33"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Book"
           c:symbol-prefix="book"
           c:type="DhBook"
           parent="GObject.Object"
           glib:type-name="DhBook"
           glib:get-type="dh_book_get_type"
           glib:type-struct="BookClass">
      <source-position filename="devhelp/dh-book.h" line="52"/>
      <constructor name="new" c:identifier="dh_book_new">
        <source-position filename="devhelp/dh-book.h" line="56"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="devhelp/dh-book.c"
               line="254">a new #DhBook object, or %NULL if parsing the index file
failed.</doc>
          <type name="Book" c:type="DhBook*"/>
        </return-value>
        <parameters>
          <parameter name="index_file" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book.c"
                 line="252">the index file.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="cmp_by_id" c:identifier="dh_book_cmp_by_id">
        <doc xml:space="preserve"
             filename="devhelp/dh-book.c"
             line="509">Compares the #DhBook's by their IDs, with g_ascii_strcasecmp().</doc>
        <source-position filename="devhelp/dh-book.h" line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-book.c"
               line="516">an integer less than, equal to, or greater than zero, if @a is &lt;, ==
or &gt; than @b.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="a" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book.c"
                 line="511">a #DhBook.</doc>
            <type name="Book" c:type="DhBook*"/>
          </instance-parameter>
          <parameter name="b" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book.c"
                 line="512">a #DhBook.</doc>
            <type name="Book" c:type="DhBook*"/>
          </parameter>
        </parameters>
      </method>
      <method name="cmp_by_title" c:identifier="dh_book_cmp_by_title">
        <doc xml:space="preserve"
             filename="devhelp/dh-book.c"
             line="538">Compares the #DhBook's by their title.</doc>
        <source-position filename="devhelp/dh-book.h" line="75"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-book.c"
               line="545">an integer less than, equal to, or greater than zero, if @a is &lt;, ==
or &gt; than @b.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="a" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book.c"
                 line="540">a #DhBook.</doc>
            <type name="Book" c:type="DhBook*"/>
          </instance-parameter>
          <parameter name="b" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book.c"
                 line="541">a #DhBook.</doc>
            <type name="Book" c:type="DhBook*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_completion"
              c:identifier="dh_book_get_completion"
              version="3.28">
        <source-position filename="devhelp/dh-book.h" line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-book.c"
               line="471">the #DhCompletion of @book.</doc>
          <type name="Completion" c:type="DhCompletion*"/>
        </return-value>
        <parameters>
          <instance-parameter name="book" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book.c"
                 line="469">a #DhBook.</doc>
            <type name="Book" c:type="DhBook*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_id" c:identifier="dh_book_get_id">
        <doc xml:space="preserve"
             filename="devhelp/dh-book.c"
             line="366">Gets the book ID. In the Devhelp index file format version 2, it is actually
the “name”, not the ID, but “book ID” is clearer, “book name” can be confused
with the title.</doc>
        <source-position filename="devhelp/dh-book.h" line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-book.c"
               line="374">the book ID.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="book" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book.c"
                 line="368">a #DhBook.</doc>
            <type name="Book" c:type="DhBook*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_index_file" c:identifier="dh_book_get_index_file">
        <source-position filename="devhelp/dh-book.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-book.c"
               line="352">the index file.</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="book" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book.c"
                 line="350">a #DhBook.</doc>
            <type name="Book" c:type="DhBook*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_language" c:identifier="dh_book_get_language">
        <source-position filename="devhelp/dh-book.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-book.c"
               line="410">the programming language used in @book.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="book" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book.c"
                 line="408">a #DhBook.</doc>
            <type name="Book" c:type="DhBook*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_links" c:identifier="dh_book_get_links">
        <source-position filename="devhelp/dh-book.h" line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-book.c"
               line="428">the list of
&lt;emphasis&gt;all&lt;/emphasis&gt; #DhLink's part of @book.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Link"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="book" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book.c"
                 line="426">a #DhBook.</doc>
            <type name="Book" c:type="DhBook*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title" c:identifier="dh_book_get_title">
        <source-position filename="devhelp/dh-book.h" line="62"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-book.c"
               line="392">the book title.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="book" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book.c"
                 line="390">a #DhBook.</doc>
            <type name="Book" c:type="DhBook*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tree" c:identifier="dh_book_get_tree">
        <doc xml:space="preserve"
             filename="devhelp/dh-book.c"
             line="443">Gets the general structure of the book, as a tree. The tree contains only
#DhLink's of type %DH_LINK_TYPE_BOOK or %DH_LINK_TYPE_PAGE. The other
#DhLink's are not contained in the tree. To have a list of
&lt;emphasis&gt;all&lt;/emphasis&gt; #DhLink's part of the book, you need to call
dh_book_get_links().</doc>
        <source-position filename="devhelp/dh-book.h" line="68"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-book.c"
               line="453">the tree of #DhLink's part of @book.</doc>
          <type name="GLib.Node" c:type="GNode*"/>
        </return-value>
        <parameters>
          <instance-parameter name="book" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book.c"
                 line="445">a #DhBook.</doc>
            <type name="Book" c:type="DhBook*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <glib:signal name="deleted" when="last">
        <doc xml:space="preserve"
             filename="devhelp/dh-book.c"
             line="149">The ::deleted signal is emitted when the index file has been deleted
from the filesystem.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="updated" when="last">
        <doc xml:space="preserve"
             filename="devhelp/dh-book.c"
             line="133">The ::updated signal is emitted when the index file has been
modified (but the file still exists).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="BookClass"
            c:type="DhBookClass"
            glib:is-gtype-struct-for="Book">
      <source-position filename="devhelp/dh-book.h" line="52"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="BookList"
           c:symbol-prefix="book_list"
           c:type="DhBookList"
           parent="GObject.Object"
           glib:type-name="DhBookList"
           glib:get-type="dh_book_list_get_type"
           glib:type-struct="BookListClass">
      <source-position filename="devhelp/dh-book-list.h" line="73"/>
      <constructor name="new" c:identifier="dh_book_list_new" version="3.30">
        <source-position filename="devhelp/dh-book-list.h" line="77"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="devhelp/dh-book-list.c"
               line="186">a new empty #DhBookList object.</doc>
          <type name="BookList" c:type="DhBookList*"/>
        </return-value>
      </constructor>
      <function name="get_default"
                c:identifier="dh_book_list_get_default"
                version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-list.c"
             line="195">Gets the default #DhBookList object. It is created with #DhBookListBuilder,
dh_book_list_builder_add_default_sub_book_lists() is called, and
dh_book_list_builder_read_books_disabled_setting() is called with the default
#DhSettings object as returned by dh_settings_get_default().</doc>
        <source-position filename="devhelp/dh-book-list.h" line="79"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-book-list.c"
               line="203">the default #DhBookList object.</doc>
          <type name="BookList" c:type="DhBookList*"/>
        </return-value>
      </function>
      <virtual-method name="add_book" invoker="add_book" version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-list.c"
             line="256">Emits the #DhBookList::add-book signal.

It is a programmer error to call this function if @book is already inserted
in @book_list.</doc>
        <source-position filename="devhelp/dh-book-list.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="book_list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list.c"
                 line="258">a #DhBookList.</doc>
            <type name="BookList" c:type="DhBookList*"/>
          </instance-parameter>
          <parameter name="book" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list.c"
                 line="259">a #DhBook.</doc>
            <type name="Book" c:type="DhBook*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_books" invoker="get_books" version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-list.c"
             line="237">Gets the list of #DhBook's part of @book_list, in no particular order. Each
book ID in the list is unique (see dh_book_get_id()).</doc>
        <source-position filename="devhelp/dh-book-list.h" line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-book-list.c"
               line="244">the #GList of #DhBook's part
of @book_list.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Book"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="book_list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list.c"
                 line="239">a #DhBookList.</doc>
            <type name="BookList" c:type="DhBookList*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="remove_book" invoker="remove_book" version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-list.c"
             line="281">Emits the #DhBookList::remove-book signal.

It is a programmer error to call this function if @book is not present in
@book_list.</doc>
        <source-position filename="devhelp/dh-book-list.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="book_list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list.c"
                 line="283">a #DhBookList.</doc>
            <type name="BookList" c:type="DhBookList*"/>
          </instance-parameter>
          <parameter name="book" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list.c"
                 line="284">a #DhBook.</doc>
            <type name="Book" c:type="DhBook*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_book"
              c:identifier="dh_book_list_add_book"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-list.c"
             line="256">Emits the #DhBookList::add-book signal.

It is a programmer error to call this function if @book is already inserted
in @book_list.</doc>
        <source-position filename="devhelp/dh-book-list.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="book_list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list.c"
                 line="258">a #DhBookList.</doc>
            <type name="BookList" c:type="DhBookList*"/>
          </instance-parameter>
          <parameter name="book" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list.c"
                 line="259">a #DhBook.</doc>
            <type name="Book" c:type="DhBook*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_books"
              c:identifier="dh_book_list_get_books"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-list.c"
             line="237">Gets the list of #DhBook's part of @book_list, in no particular order. Each
book ID in the list is unique (see dh_book_get_id()).</doc>
        <source-position filename="devhelp/dh-book-list.h" line="84"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-book-list.c"
               line="244">the #GList of #DhBook's part
of @book_list.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Book"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="book_list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list.c"
                 line="239">a #DhBookList.</doc>
            <type name="BookList" c:type="DhBookList*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_book"
              c:identifier="dh_book_list_remove_book"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-list.c"
             line="281">Emits the #DhBookList::remove-book signal.

It is a programmer error to call this function if @book is not present in
@book_list.</doc>
        <source-position filename="devhelp/dh-book-list.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="book_list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list.c"
                 line="283">a #DhBookList.</doc>
            <type name="BookList" c:type="DhBookList*"/>
          </instance-parameter>
          <parameter name="book" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list.c"
                 line="284">a #DhBook.</doc>
            <type name="Book" c:type="DhBook*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="BookListPrivate" c:type="DhBookListPrivate*"/>
      </field>
      <glib:signal name="add-book" when="last" version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-list.c"
             line="130">The ::add-book signal is emitted when a #DhBook is added to a
#DhBookList.

The default object method handler adds @book to the internal #GList
of @book_list after verifying that @book is not already present in
the list.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="book" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list.c"
                 line="133">the #DhBook being added.</doc>
            <type name="Book"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="remove-book" when="last" version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-list.c"
             line="153">The ::remove-book signal is emitted when a #DhBook is removed from a
#DhBookList.

The default object method handler removes @book from the internal
#GList of @book_list, and verifies that @book was present in the list
and that @book was not inserted several times.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="book" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list.c"
                 line="156">the #DhBook being removed.</doc>
            <type name="Book"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <class name="BookListBuilder"
           c:symbol-prefix="book_list_builder"
           c:type="DhBookListBuilder"
           parent="GObject.Object"
           glib:type-name="DhBookListBuilder"
           glib:get-type="dh_book_list_builder_get_type"
           glib:type-struct="BookListBuilderClass">
      <source-position filename="devhelp/dh-book-list-builder.h" line="52"/>
      <constructor name="new"
                   c:identifier="dh_book_list_builder_new"
                   version="3.30">
        <source-position filename="devhelp/dh-book-list-builder.h" line="57"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="devhelp/dh-book-list-builder.c"
               line="80">a new #DhBookListBuilder.</doc>
          <type name="BookListBuilder" c:type="DhBookListBuilder*"/>
        </return-value>
      </constructor>
      <method name="add_default_sub_book_lists"
              c:identifier="dh_book_list_builder_add_default_sub_book_lists"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-list-builder.c"
             line="148">Creates the default #DhBookListDirectory's and adds them to @builder with
dh_book_list_builder_add_sub_book_list().

It creates and adds a #DhBookListDirectory for the following directories (in
that order):
- `$XDG_DATA_HOME/gtk-doc/html/`
- `$XDG_DATA_HOME/devhelp/books/`
- For each directory in `$XDG_DATA_DIRS`:
  - `$xdg_data_dir/gtk-doc/html/`
  - `$xdg_data_dir/devhelp/books/`

See g_get_user_data_dir() and g_get_system_data_dirs().

Additionally, if the libdevhelp has been compiled with the `flatpak_build`
option, it creates and adds a #DhBookListDirectory for the following
directories (in that order, after the above ones):
- `/run/host/usr/share/gtk-doc/html/`
- `/run/host/usr/share/devhelp/books/`

The exact list of directories is subject to change, it is not part of the
API.</doc>
        <source-position filename="devhelp/dh-book-list-builder.h" line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="builder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list-builder.c"
                 line="150">a #DhBookListBuilder.</doc>
            <type name="BookListBuilder" c:type="DhBookListBuilder*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="add_sub_book_list"
              c:identifier="dh_book_list_builder_add_sub_book_list"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-list-builder.c"
             line="89">Adds @sub_book_list.

The #DhBookList object that will be created with
dh_book_list_builder_create_object() will contain all the sub-#DhBookList's
added with this function (and it will listen to their signals). The
sub-#DhBookList's must be added in order of decreasing priority (the first
sub-#DhBookList added has the highest priority). The priority is used in case
of book ID conflicts (see dh_book_get_id()).</doc>
        <source-position filename="devhelp/dh-book-list-builder.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="builder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list-builder.c"
                 line="91">a #DhBookListBuilder.</doc>
            <type name="BookListBuilder" c:type="DhBookListBuilder*"/>
          </instance-parameter>
          <parameter name="sub_book_list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list-builder.c"
                 line="92">a #DhBookList.</doc>
            <type name="BookList" c:type="DhBookList*"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_object"
              c:identifier="dh_book_list_builder_create_object"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-list-builder.c"
             line="242">Creates the #DhBookList. It actually creates a subclass of #DhBookList, but
the subclass is not exposed to the public API.</doc>
        <source-position filename="devhelp/dh-book-list-builder.h" line="67"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="devhelp/dh-book-list-builder.c"
               line="249">the newly created #DhBookList object.</doc>
          <type name="BookList" c:type="DhBookList*"/>
        </return-value>
        <parameters>
          <instance-parameter name="builder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list-builder.c"
                 line="244">a #DhBookListBuilder.</doc>
            <type name="BookListBuilder" c:type="DhBookListBuilder*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="read_books_disabled_setting"
              c:identifier="dh_book_list_builder_read_books_disabled_setting"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-list-builder.c"
             line="214">Sets the #DhSettings object from which to read the "books-disabled"
#GSettings key. If @settings is %NULL or if this function isn't called, then
the #DhBookList object that will be created with
dh_book_list_builder_create_object() will not read a "books-disabled"
setting.

With #DhBookListBuilder it is not possible to read the "books-disabled"
settings from several #DhSettings objects and combine them. Only the last
call to this function is taken into account when creating the #DhBookList
with dh_book_list_builder_create_object().</doc>
        <source-position filename="devhelp/dh-book-list-builder.h" line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="builder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list-builder.c"
                 line="216">a #DhBookListBuilder.</doc>
            <type name="BookListBuilder" c:type="DhBookListBuilder*"/>
          </instance-parameter>
          <parameter name="settings"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list-builder.c"
                 line="217">a #DhSettings, or %NULL.</doc>
            <type name="Settings" c:type="DhSettings*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="BookListBuilderPrivate"
              c:type="DhBookListBuilderPrivate*"/>
      </field>
    </class>
    <record name="BookListBuilderClass"
            c:type="DhBookListBuilderClass"
            glib:is-gtype-struct-for="BookListBuilder">
      <source-position filename="devhelp/dh-book-list-builder.h" line="52"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="BookListBuilderPrivate"
            c:type="DhBookListBuilderPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="devhelp/dh-book-list-builder.h" line="39"/>
    </record>
    <record name="BookListClass"
            c:type="DhBookListClass"
            glib:is-gtype-struct-for="BookList">
      <source-position filename="devhelp/dh-book-list.h" line="73"/>
      <field name="parent_class">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-list.h"
             line="48">The parent class.</doc>
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="add_book">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-list.h"
             line="49">Virtual function pointer for the #DhBookList::add-book signal.</doc>
        <callback name="add_book">
          <source-position filename="devhelp/dh-book-list.h" line="60"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="book_list" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="devhelp/dh-book-list.c"
                   line="258">a #DhBookList.</doc>
              <type name="BookList" c:type="DhBookList*"/>
            </parameter>
            <parameter name="book" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="devhelp/dh-book-list.c"
                   line="259">a #DhBook.</doc>
              <type name="Book" c:type="DhBook*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="remove_book">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-list.h"
             line="50">Virtual function pointer for the #DhBookList::remove-book
  signal.</doc>
        <callback name="remove_book">
          <source-position filename="devhelp/dh-book-list.h" line="63"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="book_list" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="devhelp/dh-book-list.c"
                   line="283">a #DhBookList.</doc>
              <type name="BookList" c:type="DhBookList*"/>
            </parameter>
            <parameter name="book" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="devhelp/dh-book-list.c"
                   line="284">a #DhBook.</doc>
              <type name="Book" c:type="DhBook*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_books">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-list.h"
             line="52">Virtual function pointer for dh_book_list_get_books(). Returns
  the #DhBookList internal #GList by default. If you override this vfunc
  ensure that each book ID is unique in the returned list.</doc>
        <callback name="get_books">
          <source-position filename="devhelp/dh-book-list.h" line="67"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list.c"
                 line="244">the #GList of #DhBook's part
of @book_list.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Book"/>
            </type>
          </return-value>
          <parameters>
            <parameter name="book_list" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="devhelp/dh-book-list.c"
                   line="239">a #DhBookList.</doc>
              <type name="BookList" c:type="DhBookList*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="padding" readable="0" private="1">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="BookListDirectory"
           c:symbol-prefix="book_list_directory"
           c:type="DhBookListDirectory"
           parent="BookList"
           glib:type-name="DhBookListDirectory"
           glib:get-type="dh_book_list_directory_get_type"
           glib:type-struct="BookListDirectoryClass">
      <source-position filename="devhelp/dh-book-list-directory.h" line="51"/>
      <constructor name="new"
                   c:identifier="dh_book_list_directory_new"
                   version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-list-directory.c"
             line="470">Returns a #DhBookListDirectory for @directory.

If a #DhBookListDirectory instance is still alive for @directory (according
to g_file_equal()), the same instance is returned with the reference count
increased by one, to avoid data duplication. If no #DhBookListDirectory
instance already exists for @directory, this function returns a new instance
with a reference count of one (so it's the responsibility of the caller to
keep the object alive if wanted, to avoid destroying and re-creating the same
#DhBookListDirectory repeatedly).</doc>
        <source-position filename="devhelp/dh-book-list-directory.h"
                         line="55"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="devhelp/dh-book-list-directory.c"
               line="484">a #DhBookListDirectory for @directory.</doc>
          <type name="BookListDirectory" c:type="DhBookListDirectory*"/>
        </return-value>
        <parameters>
          <parameter name="directory" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list-directory.c"
                 line="472">the #DhBookListDirectory:directory.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_directory"
              c:identifier="dh_book_list_directory_get_directory"
              glib:get-property="directory"
              version="3.30">
        <source-position filename="devhelp/dh-book-list-directory.h"
                         line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-book-list-directory.c"
               line="511">the #DhBookListDirectory:directory.</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="list_directory" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-list-directory.c"
                 line="509">a #DhBookListDirectory.</doc>
            <type name="BookListDirectory" c:type="DhBookListDirectory*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="directory"
                version="3.30"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_directory">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-list-directory.c"
             line="443">The directory, as a #GFile, containing a set of Devhelp books.</doc>
        <type name="Gio.File"/>
      </property>
      <field name="parent">
        <type name="BookList" c:type="DhBookList"/>
      </field>
      <field name="priv">
        <type name="BookListDirectoryPrivate"
              c:type="DhBookListDirectoryPrivate*"/>
      </field>
    </class>
    <record name="BookListDirectoryClass"
            c:type="DhBookListDirectoryClass"
            glib:is-gtype-struct-for="BookListDirectory">
      <source-position filename="devhelp/dh-book-list-directory.h" line="51"/>
      <field name="parent_class">
        <type name="BookListClass" c:type="DhBookListClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="BookListDirectoryPrivate"
            c:type="DhBookListDirectoryPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="devhelp/dh-book-list-directory.h" line="38"/>
    </record>
    <record name="BookListPrivate"
            c:type="DhBookListPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="devhelp/dh-book-list.h" line="38"/>
    </record>
    <class name="BookManager"
           c:symbol-prefix="book_manager"
           c:type="DhBookManager"
           parent="GObject.Object"
           glib:type-name="DhBookManager"
           glib:get-type="dh_book_manager_get_type"
           glib:type-struct="BookManagerClass">
      <source-position filename="devhelp/dh-book-manager.h" line="48"/>
      <constructor name="new"
                   c:identifier="dh_book_manager_new"
                   deprecated="1"
                   deprecated-version="3.26">
        <doc-deprecated xml:space="preserve">the #DhBookManager class is deprecated.</doc-deprecated>
        <source-position filename="devhelp/dh-book-manager.h" line="53"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="devhelp/dh-book-manager.c"
               line="57">a new #DhBookManager object.</doc>
          <type name="BookManager" c:type="DhBookManager*"/>
        </return-value>
      </constructor>
      <method name="populate"
              c:identifier="dh_book_manager_populate"
              deprecated="1"
              deprecated-version="3.26">
        <doc-deprecated xml:space="preserve">the #DhBookManager class is deprecated.</doc-deprecated>
        <source-position filename="devhelp/dh-book-manager.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="book_manager" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-manager.c"
                 line="68">a #DhBookManager.</doc>
            <type name="BookManager" c:type="DhBookManager*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="BookManagerClass"
            c:type="DhBookManagerClass"
            glib:is-gtype-struct-for="BookManager">
      <source-position filename="devhelp/dh-book-manager.h" line="48"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="BookTree"
           c:symbol-prefix="book_tree"
           c:type="DhBookTree"
           parent="Gtk.TreeView"
           glib:type-name="DhBookTree"
           glib:get-type="dh_book_tree_get_type"
           glib:type-struct="BookTreeClass">
      <source-position filename="devhelp/dh-book-tree.h" line="49"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="dh_book_tree_new">
        <source-position filename="devhelp/dh-book-tree.h" line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-book-tree.c"
               line="909">a new #DhBookTree widget.</doc>
          <type name="BookTree" c:type="DhBookTree*"/>
        </return-value>
        <parameters>
          <parameter name="profile"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-tree.c"
                 line="907">a #DhProfile, or %NULL for the default profile.</doc>
            <type name="Profile" c:type="DhProfile*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_profile"
              c:identifier="dh_book_tree_get_profile"
              glib:get-property="profile"
              version="3.30">
        <source-position filename="devhelp/dh-book-tree.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-book-tree.c"
               line="925">the #DhProfile of @tree.</doc>
          <type name="Profile" c:type="DhProfile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="tree" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-tree.c"
                 line="923">a #DhBookTree.</doc>
            <type name="BookTree" c:type="DhBookTree*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_selected_link"
              c:identifier="dh_book_tree_get_selected_link"
              version="3.30">
        <source-position filename="devhelp/dh-book-tree.h" line="57"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="devhelp/dh-book-tree.c"
               line="943">the currently selected #DhLink in @tree,
or %NULL if the selection is empty or if a language group row is selected.
Unref with dh_link_unref() when no longer needed.</doc>
          <type name="Link" c:type="DhLink*"/>
        </return-value>
        <parameters>
          <instance-parameter name="tree" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-tree.c"
                 line="941">a #DhBookTree.</doc>
            <type name="BookTree" c:type="DhBookTree*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="select_uri" c:identifier="dh_book_tree_select_uri">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-tree.c"
             line="1001">Selects the row corresponding to @uri. It searches in the tree a #DhLink
being at @uri (if it's an exact match), or containing @uri (if @uri contains
an anchor).</doc>
        <source-position filename="devhelp/dh-book-tree.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tree" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-tree.c"
                 line="1003">a #DhBookTree.</doc>
            <type name="BookTree" c:type="DhBookTree*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-tree.c"
                 line="1004">the URI to select.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="profile"
                version="3.30"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_profile">
        <doc xml:space="preserve"
             filename="devhelp/dh-book-tree.c"
             line="842">The #DhProfile. If set to %NULL, the default profile as returned by
dh_profile_get_default() is used.</doc>
        <type name="Profile"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.TreeView" c:type="GtkTreeView"/>
      </field>
      <glib:signal name="link-selected" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="link" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-book-tree.c"
                 line="831">the selected #DhLink.</doc>
            <type name="Link"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="BookTreeClass"
            c:type="DhBookTreeClass"
            glib:is-gtype-struct-for="BookTree">
      <source-position filename="devhelp/dh-book-tree.h" line="49"/>
      <field name="parent_class">
        <type name="Gtk.TreeViewClass" c:type="GtkTreeViewClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <function-macro name="COMPLETION"
                    c:identifier="DH_COMPLETION"
                    introspectable="0">
      <source-position filename="devhelp/dh-completion.h" line="29"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_CLASS"
                    c:identifier="DH_COMPLETION_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-completion.h" line="30"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="COMPLETION_GET_CLASS"
                    c:identifier="DH_COMPLETION_GET_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-completion.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Completion"
           c:symbol-prefix="completion"
           c:type="DhCompletion"
           parent="GObject.Object"
           glib:type-name="DhCompletion"
           glib:get-type="dh_completion_get_type"
           glib:type-struct="CompletionClass">
      <source-position filename="devhelp/dh-completion.h" line="50"/>
      <constructor name="new" c:identifier="dh_completion_new" version="3.28">
        <source-position filename="devhelp/dh-completion.h" line="54"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="devhelp/dh-completion.c"
               line="114">a new #DhCompletion object.</doc>
          <type name="Completion" c:type="DhCompletion*"/>
        </return-value>
      </constructor>
      <function name="aggregate_complete"
                c:identifier="dh_completion_aggregate_complete"
                version="3.28">
        <doc xml:space="preserve"
             filename="devhelp/dh-completion.c"
             line="340">The same as dh_completion_complete(), but aggregated for several
#DhCompletion objects.</doc>
        <source-position filename="devhelp/dh-completion.h" line="64"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="devhelp/dh-completion.c"
               line="349">the completed prefix, or %NULL if a
longer prefix has not been found. Free with g_free() when no longer needed.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="completion_objects"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="devhelp/dh-completion.c"
                 line="342">a #GList of
  #DhCompletion objects.</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Completion"/>
            </type>
          </parameter>
          <parameter name="prefix" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-completion.c"
                 line="344">the string to complete.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <method name="add_string"
              c:identifier="dh_completion_add_string"
              version="3.28">
        <doc xml:space="preserve"
             filename="devhelp/dh-completion.c"
             line="123">Adds a string to the @completion object.

After adding all the strings you need to call dh_completion_sort().</doc>
        <source-position filename="devhelp/dh-completion.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-completion.c"
                 line="125">a #DhCompletion.</doc>
            <type name="Completion" c:type="DhCompletion*"/>
          </instance-parameter>
          <parameter name="str" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-completion.c"
                 line="126">a string.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="complete"
              c:identifier="dh_completion_complete"
              version="3.28">
        <doc xml:space="preserve"
             filename="devhelp/dh-completion.c"
             line="314">This function does the equivalent of:
1. Searches the data structure of @completion to find all strings that have
   @prefix as prefix.
2. From the list found at step 1, find the longest prefix that still matches
   all the strings in the list.

This function assumes that @prefix and the strings contained in @completion
are in UTF-8. If all the strings are valid UTF-8, then the return value will
also be valid UTF-8 (it won't return a partial multi-byte character).</doc>
        <source-position filename="devhelp/dh-completion.h" line="61"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="devhelp/dh-completion.c"
               line="329">the completed prefix, or %NULL if a
longer prefix has not been found. Free with g_free() when no longer needed.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-completion.c"
                 line="316">a #DhCompletion.</doc>
            <type name="Completion" c:type="DhCompletion*"/>
          </instance-parameter>
          <parameter name="prefix" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-completion.c"
                 line="317">the string to complete.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="sort" c:identifier="dh_completion_sort" version="3.28">
        <doc xml:space="preserve"
             filename="devhelp/dh-completion.c"
             line="144">Sorts all the strings. It is required to call this function after adding
strings with dh_completion_add_string().</doc>
        <source-position filename="devhelp/dh-completion.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="completion" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-completion.c"
                 line="146">a #DhCompletion.</doc>
            <type name="Completion" c:type="DhCompletion*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="CompletionPrivate" c:type="DhCompletionPrivate*"/>
      </field>
    </class>
    <record name="CompletionClass"
            c:type="DhCompletionClass"
            glib:is-gtype-struct-for="Completion">
      <source-position filename="devhelp/dh-completion.h" line="50"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="CompletionPrivate"
            c:type="DhCompletionPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="devhelp/dh-completion.h" line="37"/>
    </record>
    <function-macro name="IS_ASSISTANT_VIEW"
                    c:identifier="DH_IS_ASSISTANT_VIEW"
                    introspectable="0">
      <source-position filename="devhelp/dh-assistant-view.h" line="32"/>
      <parameters>
        <parameter name="i">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ASSISTANT_VIEW_CLASS"
                    c:identifier="DH_IS_ASSISTANT_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-assistant-view.h" line="33"/>
      <parameters>
        <parameter name="c">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BOOK"
                    c:identifier="DH_IS_BOOK"
                    introspectable="0">
      <source-position filename="devhelp/dh-book.h" line="39"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BOOK_CLASS"
                    c:identifier="DH_IS_BOOK_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-book.h" line="40"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BOOK_LIST"
                    c:identifier="DH_IS_BOOK_LIST"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-list.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BOOK_LIST_BUILDER"
                    c:identifier="DH_IS_BOOK_LIST_BUILDER"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-list-builder.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BOOK_LIST_BUILDER_CLASS"
                    c:identifier="DH_IS_BOOK_LIST_BUILDER_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-list-builder.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BOOK_LIST_CLASS"
                    c:identifier="DH_IS_BOOK_LIST_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-list.h" line="33"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BOOK_LIST_DIRECTORY"
                    c:identifier="DH_IS_BOOK_LIST_DIRECTORY"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-list-directory.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BOOK_LIST_DIRECTORY_CLASS"
                    c:identifier="DH_IS_BOOK_LIST_DIRECTORY_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-list-directory.h" line="33"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BOOK_MANAGER"
                    c:identifier="DH_IS_BOOK_MANAGER"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-manager.h" line="35"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BOOK_MANAGER_CLASS"
                    c:identifier="DH_IS_BOOK_MANAGER_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-manager.h" line="36"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BOOK_TREE"
                    c:identifier="DH_IS_BOOK_TREE"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-tree.h" line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_BOOK_TREE_CLASS"
                    c:identifier="DH_IS_BOOK_TREE_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-book-tree.h" line="35"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COMPLETION"
                    c:identifier="DH_IS_COMPLETION"
                    introspectable="0">
      <source-position filename="devhelp/dh-completion.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_COMPLETION_CLASS"
                    c:identifier="DH_IS_COMPLETION_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-completion.h" line="32"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_KEYWORD_MODEL"
                    c:identifier="DH_IS_KEYWORD_MODEL"
                    introspectable="0">
      <source-position filename="devhelp/dh-keyword-model.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_KEYWORD_MODEL_CLASS"
                    c:identifier="DH_IS_KEYWORD_MODEL_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-keyword-model.h" line="36"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_NOTEBOOK"
                    c:identifier="DH_IS_NOTEBOOK"
                    introspectable="0">
      <source-position filename="devhelp/dh-notebook.h" line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_NOTEBOOK_CLASS"
                    c:identifier="DH_IS_NOTEBOOK_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-notebook.h" line="35"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PROFILE"
                    c:identifier="DH_IS_PROFILE"
                    introspectable="0">
      <source-position filename="devhelp/dh-profile.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PROFILE_BUILDER"
                    c:identifier="DH_IS_PROFILE_BUILDER"
                    introspectable="0">
      <source-position filename="devhelp/dh-profile-builder.h" line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PROFILE_BUILDER_CLASS"
                    c:identifier="DH_IS_PROFILE_BUILDER_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-profile-builder.h" line="35"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PROFILE_CLASS"
                    c:identifier="DH_IS_PROFILE_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-profile.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SEARCH_BAR"
                    c:identifier="DH_IS_SEARCH_BAR"
                    introspectable="0">
      <source-position filename="devhelp/dh-search-bar.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SEARCH_BAR_CLASS"
                    c:identifier="DH_IS_SEARCH_BAR_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-search-bar.h" line="33"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SETTINGS"
                    c:identifier="DH_IS_SETTINGS"
                    introspectable="0">
      <source-position filename="devhelp/dh-settings.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SETTINGS_BUILDER"
                    c:identifier="DH_IS_SETTINGS_BUILDER"
                    introspectable="0">
      <source-position filename="devhelp/dh-settings-builder.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SETTINGS_BUILDER_CLASS"
                    c:identifier="DH_IS_SETTINGS_BUILDER_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-settings-builder.h" line="33"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SETTINGS_CLASS"
                    c:identifier="DH_IS_SETTINGS_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-settings.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SIDEBAR"
                    c:identifier="DH_IS_SIDEBAR"
                    introspectable="0">
      <source-position filename="devhelp/dh-sidebar.h" line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_SIDEBAR_CLASS"
                    c:identifier="DH_IS_SIDEBAR_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-sidebar.h" line="38"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_TAB" c:identifier="DH_IS_TAB" introspectable="0">
      <source-position filename="devhelp/dh-tab.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_TAB_CLASS"
                    c:identifier="DH_IS_TAB_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-tab.h" line="33"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_TAB_LABEL"
                    c:identifier="DH_IS_TAB_LABEL"
                    introspectable="0">
      <source-position filename="devhelp/dh-tab-label.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_TAB_LABEL_CLASS"
                    c:identifier="DH_IS_TAB_LABEL_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-tab-label.h" line="33"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WEB_VIEW"
                    c:identifier="DH_IS_WEB_VIEW"
                    introspectable="0">
      <source-position filename="devhelp/dh-web-view.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WEB_VIEW_CLASS"
                    c:identifier="DH_IS_WEB_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-web-view.h" line="33"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="KEYWORD_MODEL"
                    c:identifier="DH_KEYWORD_MODEL"
                    introspectable="0">
      <source-position filename="devhelp/dh-keyword-model.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="KEYWORD_MODEL_CLASS"
                    c:identifier="DH_KEYWORD_MODEL_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-keyword-model.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="KEYWORD_MODEL_GET_CLASS"
                    c:identifier="DH_KEYWORD_MODEL_GET_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-keyword-model.h" line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="KeywordModel"
           c:symbol-prefix="keyword_model"
           c:type="DhKeywordModel"
           parent="GObject.Object"
           glib:type-name="DhKeywordModel"
           glib:get-type="dh_keyword_model_get_type"
           glib:type-struct="KeywordModelClass">
      <source-position filename="devhelp/dh-keyword-model.h" line="51"/>
      <implements name="Gtk.TreeModel"/>
      <constructor name="new" c:identifier="dh_keyword_model_new">
        <source-position filename="devhelp/dh-keyword-model.h" line="62"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="devhelp/dh-keyword-model.c"
               line="400">a new #DhKeywordModel object.</doc>
          <type name="KeywordModel" c:type="DhKeywordModel*"/>
        </return-value>
      </constructor>
      <method name="filter" c:identifier="dh_keyword_model_filter">
        <doc xml:space="preserve"
             filename="devhelp/dh-keyword-model.c"
             line="668">Searches in the #DhBookList of @profile the list of #DhLink's that correspond
to @search_string, and fills the @model with that list (erasing the previous
content).

Attention, when calling this function the @model needs to be disconnected
from the #GtkTreeView, because the #GtkTreeModel signals are not emitted, to
improve the performances (sending a lot of signals is slow) and have a
simpler implementation. The previous row selection is anyway no longer
relevant.

Note that there is a maximum number of matches (configured internally). When
the maximum is reached the search is stopped, to avoid blocking the GUI
(since this function runs synchronously) if the @search_string contains for
example only one character. (And it is anyway not very useful to show to the
user tens of thousands search results).</doc>
        <source-position filename="devhelp/dh-keyword-model.h" line="64"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="devhelp/dh-keyword-model.c"
               line="691">the #DhLink that matches exactly
@search_string, or %NULL if no such #DhLink was found within the maximum
number of matches.</doc>
          <type name="Link" c:type="DhLink*"/>
        </return-value>
        <parameters>
          <instance-parameter name="model" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-keyword-model.c"
                 line="670">a #DhKeywordModel.</doc>
            <type name="KeywordModel" c:type="DhKeywordModel*"/>
          </instance-parameter>
          <parameter name="search_string" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-keyword-model.c"
                 line="671">a search query.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="current_book_id"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="devhelp/dh-keyword-model.c"
                 line="672">the ID of the book currently shown, or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="profile"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="devhelp/dh-keyword-model.c"
                 line="673">a #DhProfile, or %NULL for the default profile.</doc>
            <type name="Profile" c:type="DhProfile*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="KeywordModelClass"
            c:type="DhKeywordModelClass"
            glib:is-gtype-struct-for="KeywordModel">
      <source-position filename="devhelp/dh-keyword-model.h" line="51"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="Link"
            c:type="DhLink"
            opaque="1"
            glib:type-name="DhLink"
            glib:get-type="dh_link_get_type"
            c:symbol-prefix="link">
      <source-position filename="devhelp/dh-link.h" line="68"/>
      <constructor name="new" c:identifier="dh_link_new">
        <source-position filename="devhelp/dh-link.h" line="79"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="devhelp/dh-link.c"
               line="178">a new #DhLink.</doc>
          <type name="Link" c:type="DhLink*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="172">the #DhLinkType. Must be different than %DH_LINK_TYPE_BOOK.</doc>
            <type name="LinkType" c:type="DhLinkType"/>
          </parameter>
          <parameter name="book_link" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="173">the #DhLink of type %DH_LINK_TYPE_BOOK for the book that the link
  is contained in.</doc>
            <type name="Link" c:type="DhLink*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="175">the name of the link.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="relative_url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="176">the URL relative to the book base path. Can contain an anchor.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_book"
                   c:identifier="dh_link_new_book"
                   version="3.28">
        <source-position filename="devhelp/dh-link.h" line="74"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="devhelp/dh-link.c"
               line="147">a new #DhLink of type %DH_LINK_TYPE_BOOK.</doc>
          <type name="Link" c:type="DhLink*"/>
        </return-value>
        <parameters>
          <parameter name="base_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="141">the base path for the book.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="book_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="142">the book ID.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="book_title" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="143">the name of the link.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="relative_url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="144">the URL relative to the book @base_path. Can contain an
anchor. Usually the index.html page.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="belongs_to_page"
              c:identifier="dh_link_belongs_to_page"
              version="3.28">
        <doc xml:space="preserve"
             filename="devhelp/dh-link.c"
             line="338">This function permits to know if @link belongs to a certain page.

@page_id is usually the HTML filename without the `.html` extension. More
generally, @page_id must be a relative URL (relative to the book base path),
without the anchor nor the file extension.

For example if @link has the relative URL `"DhLink.html#dh-link-ref"`, then
this function will return %TRUE if the @page_id is `"DhLink"`.</doc>
        <source-position filename="devhelp/dh-link.h" line="100"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-link.c"
               line="352">whether @link belongs to @page_id.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="link" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="340">a #DhLink.</doc>
            <type name="Link" c:type="DhLink*"/>
          </instance-parameter>
          <parameter name="page_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="341">a page ID, i.e. the filename without its extension.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="compare" c:identifier="dh_link_compare">
        <doc xml:space="preserve"
             filename="devhelp/dh-link.c"
             line="493">Compares the links @a and @b. This function is used to determine in which
order the links should be displayed.</doc>
        <source-position filename="devhelp/dh-link.h" line="109"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-link.c"
               line="501">an integer less than zero if @a should appear before @b; zero if
there are no preferences; an integer greater than zero if @b should appear
before @a.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="a" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="495">a #DhLink.</doc>
            <type name="Link" c:type="gconstpointer"/>
          </instance-parameter>
          <parameter name="b" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="496">a #DhLink.</doc>
            <type name="Link" c:type="gconstpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_book_id" c:identifier="dh_link_get_book_id">
        <source-position filename="devhelp/dh-link.h" line="107"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-link.c"
               line="453">the ID of the book that the @link is contained in.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="link" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="451">a #DhLink.</doc>
            <type name="Link" c:type="DhLink*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_book_title" c:identifier="dh_link_get_book_title">
        <source-position filename="devhelp/dh-link.h" line="105"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-link.c"
               line="433">the title of the book that the @link is contained in.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="link" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="431">a #DhLink.</doc>
            <type name="Link" c:type="DhLink*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_flags" c:identifier="dh_link_get_flags">
        <source-position filename="devhelp/dh-link.h" line="90"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-link.c"
               line="258">the #DhLinkFlags of @link.</doc>
          <type name="LinkFlags" c:type="DhLinkFlags"/>
        </return-value>
        <parameters>
          <instance-parameter name="link" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="256">a #DhLink.</doc>
            <type name="Link" c:type="DhLink*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_link_type" c:identifier="dh_link_get_link_type">
        <source-position filename="devhelp/dh-link.h" line="88"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-link.c"
               line="244">the #DhLinkType of @link.</doc>
          <type name="LinkType" c:type="DhLinkType"/>
        </return-value>
        <parameters>
          <instance-parameter name="link" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="242">a #DhLink.</doc>
            <type name="Link" c:type="DhLink*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="dh_link_get_name">
        <source-position filename="devhelp/dh-link.h" line="95"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-link.c"
               line="288">the name of the @link. For a link of type %DH_LINK_TYPE_BOOK,
returns the book title.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="link" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="286">a #DhLink.</doc>
            <type name="Link" c:type="DhLink*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uri" c:identifier="dh_link_get_uri">
        <doc xml:space="preserve"
             filename="devhelp/dh-link.c"
             line="377">Gets the @link URI, by concateneting the book base path with the @link
relative URL.</doc>
        <source-position filename="devhelp/dh-link.h" line="103"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="devhelp/dh-link.c"
               line="384">the @link URI, or %NULL if getting the URI failed. Free
with g_free() when no longer needed.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="link" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="379">a #DhLink.</doc>
            <type name="Link" c:type="DhLink*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="match_relative_url"
              c:identifier="dh_link_match_relative_url"
              version="3.28">
        <source-position filename="devhelp/dh-link.h" line="97"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-link.c"
               line="304">whether the relative URL of @link matches with @relative_url. There
is a special case for the index.html page, it can also match the empty
string.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="link" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="301">a #DhLink.</doc>
            <type name="Link" c:type="DhLink*"/>
          </instance-parameter>
          <parameter name="relative_url" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="302">an URL relative to the book base path. Can contain an anchor.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="dh_link_ref">
        <doc xml:space="preserve"
             filename="devhelp/dh-link.c"
             line="201">Increases the reference count of @link.

Not thread-safe.</doc>
        <source-position filename="devhelp/dh-link.h" line="84"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="devhelp/dh-link.c"
               line="209">the @link.</doc>
          <type name="Link" c:type="DhLink*"/>
        </return-value>
        <parameters>
          <instance-parameter name="link" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="203">a #DhLink.</doc>
            <type name="Link" c:type="DhLink*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_flags" c:identifier="dh_link_set_flags">
        <doc xml:space="preserve"
             filename="devhelp/dh-link.c"
             line="268">Sets the flags of the link.</doc>
        <source-position filename="devhelp/dh-link.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="link" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="270">a #DhLink.</doc>
            <type name="Link" c:type="DhLink*"/>
          </instance-parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="271">the new flags of the link.</doc>
            <type name="LinkFlags" c:type="DhLinkFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="dh_link_unref">
        <doc xml:space="preserve"
             filename="devhelp/dh-link.c"
             line="221">Decreases the reference count of @link.

Not thread-safe.</doc>
        <source-position filename="devhelp/dh-link.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="link" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="223">a #DhLink.</doc>
            <type name="Link" c:type="DhLink*"/>
          </instance-parameter>
        </parameters>
      </method>
    </record>
    <bitfield name="LinkFlags"
              glib:type-name="DhLinkFlags"
              glib:get-type="dh_link_flags_get_type"
              c:type="DhLinkFlags">
      <member name="none"
              value="0"
              c:identifier="DH_LINK_FLAGS_NONE"
              glib:nick="none"
              glib:name="DH_LINK_FLAGS_NONE">
        <doc xml:space="preserve"
             filename="devhelp/dh-link.h"
             line="60">No flags set.</doc>
      </member>
      <member name="deprecated"
              value="1"
              c:identifier="DH_LINK_FLAGS_DEPRECATED"
              glib:nick="deprecated"
              glib:name="DH_LINK_FLAGS_DEPRECATED">
        <doc xml:space="preserve"
             filename="devhelp/dh-link.h"
             line="61">The symbol that the link points to is deprecated.</doc>
      </member>
    </bitfield>
    <enumeration name="LinkType"
                 glib:type-name="DhLinkType"
                 glib:get-type="dh_link_type_get_type"
                 c:type="DhLinkType">
      <doc xml:space="preserve"
           filename="devhelp/dh-link.h"
           line="30">The type of the content the link points to.</doc>
      <member name="book"
              value="0"
              c:identifier="DH_LINK_TYPE_BOOK"
              glib:nick="book"
              glib:name="DH_LINK_TYPE_BOOK">
        <doc xml:space="preserve"
             filename="devhelp/dh-link.h"
             line="32">The top-level page of a #DhBook.</doc>
      </member>
      <member name="page"
              value="1"
              c:identifier="DH_LINK_TYPE_PAGE"
              glib:nick="page"
              glib:name="DH_LINK_TYPE_PAGE">
        <doc xml:space="preserve"
             filename="devhelp/dh-link.h"
             line="33">A page.</doc>
      </member>
      <member name="keyword"
              value="2"
              c:identifier="DH_LINK_TYPE_KEYWORD"
              glib:nick="keyword"
              glib:name="DH_LINK_TYPE_KEYWORD">
        <doc xml:space="preserve"
             filename="devhelp/dh-link.h"
             line="34">Another kind of keyword.</doc>
      </member>
      <member name="function"
              value="3"
              c:identifier="DH_LINK_TYPE_FUNCTION"
              glib:nick="function"
              glib:name="DH_LINK_TYPE_FUNCTION">
        <doc xml:space="preserve"
             filename="devhelp/dh-link.h"
             line="35">A function keyword.</doc>
      </member>
      <member name="struct"
              value="4"
              c:identifier="DH_LINK_TYPE_STRUCT"
              glib:nick="struct"
              glib:name="DH_LINK_TYPE_STRUCT">
        <doc xml:space="preserve"
             filename="devhelp/dh-link.h"
             line="36">A struct keyword.</doc>
      </member>
      <member name="macro"
              value="5"
              c:identifier="DH_LINK_TYPE_MACRO"
              glib:nick="macro"
              glib:name="DH_LINK_TYPE_MACRO">
        <doc xml:space="preserve"
             filename="devhelp/dh-link.h"
             line="37">A macro keyword.</doc>
      </member>
      <member name="enum"
              value="6"
              c:identifier="DH_LINK_TYPE_ENUM"
              glib:nick="enum"
              glib:name="DH_LINK_TYPE_ENUM">
        <doc xml:space="preserve"
             filename="devhelp/dh-link.h"
             line="38">An enum keyword.</doc>
      </member>
      <member name="typedef"
              value="7"
              c:identifier="DH_LINK_TYPE_TYPEDEF"
              glib:nick="typedef"
              glib:name="DH_LINK_TYPE_TYPEDEF">
        <doc xml:space="preserve"
             filename="devhelp/dh-link.h"
             line="39">A typedef keyword.</doc>
      </member>
      <member name="property"
              value="8"
              c:identifier="DH_LINK_TYPE_PROPERTY"
              glib:nick="property"
              glib:name="DH_LINK_TYPE_PROPERTY">
        <doc xml:space="preserve"
             filename="devhelp/dh-link.h"
             line="40">A property keyword.</doc>
      </member>
      <member name="signal"
              value="9"
              c:identifier="DH_LINK_TYPE_SIGNAL"
              glib:nick="signal"
              glib:name="DH_LINK_TYPE_SIGNAL">
        <doc xml:space="preserve"
             filename="devhelp/dh-link.h"
             line="41">A signal keyword.</doc>
      </member>
      <function name="to_string" c:identifier="dh_link_type_to_string">
        <source-position filename="devhelp/dh-link.h" line="112"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-link.c"
               line="542">a string representation of the #DhLinkType, translated in the
current language.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <parameter name="link_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-link.c"
                 line="540">a #DhLinkType.</doc>
            <type name="LinkType" c:type="DhLinkType"/>
          </parameter>
        </parameters>
      </function>
    </enumeration>
    <function-macro name="NOTEBOOK"
                    c:identifier="DH_NOTEBOOK"
                    introspectable="0">
      <source-position filename="devhelp/dh-notebook.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="NOTEBOOK_CLASS"
                    c:identifier="DH_NOTEBOOK_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-notebook.h" line="33"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="NOTEBOOK_GET_CLASS"
                    c:identifier="DH_NOTEBOOK_GET_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-notebook.h" line="36"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Notebook"
           c:symbol-prefix="notebook"
           c:type="DhNotebook"
           parent="Gtk.Notebook"
           glib:type-name="DhNotebook"
           glib:get-type="dh_notebook_get_type"
           glib:type-struct="NotebookClass">
      <source-position filename="devhelp/dh-notebook.h" line="53"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="dh_notebook_new" version="3.30">
        <source-position filename="devhelp/dh-notebook.h" line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-notebook.c"
               line="200">a new #DhNotebook.</doc>
          <type name="Notebook" c:type="DhNotebook*"/>
        </return-value>
        <parameters>
          <parameter name="profile"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="devhelp/dh-notebook.c"
                 line="198">a #DhProfile, or %NULL for the default profile.</doc>
            <type name="Profile" c:type="DhProfile*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_active_tab"
              c:identifier="dh_notebook_get_active_tab"
              version="3.30">
        <source-position filename="devhelp/dh-notebook.h" line="65"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="devhelp/dh-notebook.c"
               line="298">the #DhTab currently shown in @notebook.</doc>
          <type name="Tab" c:type="DhTab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="notebook" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-notebook.c"
                 line="296">a #DhNotebook.</doc>
            <type name="Notebook" c:type="DhNotebook*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_active_web_view"
              c:identifier="dh_notebook_get_active_web_view"
              version="3.30">
        <source-position filename="devhelp/dh-notebook.h" line="67"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="devhelp/dh-notebook.c"
               line="319">the #DhWebView of the active tab.</doc>
          <type name="WebView" c:type="DhWebView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="notebook" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-notebook.c"
                 line="317">a #DhNotebook.</doc>
            <type name="Notebook" c:type="DhNotebook*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_all_web_views"
              c:identifier="dh_notebook_get_all_web_views"
              version="3.30">
        <source-position filename="devhelp/dh-notebook.h" line="69"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="devhelp/dh-notebook.c"
               line="337">a #GList of all
  #DhWebView's contained in @notebook.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="WebView"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="notebook" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-notebook.c"
                 line="335">a #DhNotebook.</doc>
            <type name="Notebook" c:type="DhNotebook*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_profile"
              c:identifier="dh_notebook_get_profile"
              glib:get-property="profile"
              version="3.30">
        <source-position filename="devhelp/dh-notebook.h" line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-notebook.c"
               line="217">the #DhNotebook:profile.</doc>
          <type name="Profile" c:type="DhProfile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="notebook" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-notebook.c"
                 line="215">a #DhNotebook.</doc>
            <type name="Notebook" c:type="DhNotebook*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="open_new_tab"
              c:identifier="dh_notebook_open_new_tab"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-notebook.c"
             line="236">Creates a new #DhTab and #DhTabLabel and appends them to the #GtkNotebook.

The #DhWebView will have the same #DhProfile as @notebook.</doc>
        <source-position filename="devhelp/dh-notebook.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="notebook" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-notebook.c"
                 line="238">a #DhNotebook.</doc>
            <type name="Notebook" c:type="DhNotebook*"/>
          </instance-parameter>
          <parameter name="uri"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="devhelp/dh-notebook.c"
                 line="239">the URI to open, or %NULL for a blank page.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="switch_focus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-notebook.c"
                 line="240">whether to call gtk_notebook_set_current_page() on the new
  tab.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="profile"
                version="3.30"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_profile">
        <doc xml:space="preserve"
             filename="devhelp/dh-notebook.c"
             line="168">The #DhProfile. If set to %NULL, the default profile as returned by
dh_profile_get_default() is used.</doc>
        <type name="Profile"/>
      </property>
      <field name="parent">
        <type name="Gtk.Notebook" c:type="GtkNotebook"/>
      </field>
      <field name="priv">
        <type name="NotebookPrivate" c:type="DhNotebookPrivate*"/>
      </field>
    </class>
    <record name="NotebookClass"
            c:type="DhNotebookClass"
            glib:is-gtype-struct-for="Notebook">
      <source-position filename="devhelp/dh-notebook.h" line="53"/>
      <field name="parent_class">
        <type name="Gtk.NotebookClass" c:type="GtkNotebookClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="NotebookPrivate"
            c:type="DhNotebookPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="devhelp/dh-notebook.h" line="40"/>
    </record>
    <function-macro name="PROFILE"
                    c:identifier="DH_PROFILE"
                    introspectable="0">
      <source-position filename="devhelp/dh-profile.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PROFILE_BUILDER"
                    c:identifier="DH_PROFILE_BUILDER"
                    introspectable="0">
      <source-position filename="devhelp/dh-profile-builder.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PROFILE_BUILDER_CLASS"
                    c:identifier="DH_PROFILE_BUILDER_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-profile-builder.h" line="33"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PROFILE_BUILDER_GET_CLASS"
                    c:identifier="DH_PROFILE_BUILDER_GET_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-profile-builder.h" line="36"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PROFILE_CLASS"
                    c:identifier="DH_PROFILE_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-profile.h" line="32"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PROFILE_GET_CLASS"
                    c:identifier="DH_PROFILE_GET_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-profile.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Profile"
           c:symbol-prefix="profile"
           c:type="DhProfile"
           parent="GObject.Object"
           glib:type-name="DhProfile"
           glib:get-type="dh_profile_get_type"
           glib:type-struct="ProfileClass">
      <source-position filename="devhelp/dh-profile.h" line="52"/>
      <function name="get_default"
                c:identifier="dh_profile_get_default"
                version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-profile.c"
             line="111">Gets the default #DhProfile object. It has the default #DhSettings object as
returned by dh_settings_get_default(), and the default #DhBookList object as
returned by dh_book_list_get_default().</doc>
        <source-position filename="devhelp/dh-profile.h" line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-profile.c"
               line="118">the default #DhProfile object.</doc>
          <type name="Profile" c:type="DhProfile*"/>
        </return-value>
      </function>
      <method name="get_book_list"
              c:identifier="dh_profile_get_book_list"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-profile.c"
             line="165">Gets the #DhBookList object of @profile. The returned object is guaranteed to
be the same for the lifetime of @profile.</doc>
        <source-position filename="devhelp/dh-profile.h" line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-profile.c"
               line="172">the #DhBookList of @profile.</doc>
          <type name="BookList" c:type="DhBookList*"/>
        </return-value>
        <parameters>
          <instance-parameter name="profile" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-profile.c"
                 line="167">a #DhProfile.</doc>
            <type name="Profile" c:type="DhProfile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_settings"
              c:identifier="dh_profile_get_settings"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-profile.c"
             line="147">Gets the #DhSettings object of @profile. The returned object is guaranteed to
be the same for the lifetime of @profile.</doc>
        <source-position filename="devhelp/dh-profile.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-profile.c"
               line="154">the #DhSettings of @profile.</doc>
          <type name="Settings" c:type="DhSettings*"/>
        </return-value>
        <parameters>
          <instance-parameter name="profile" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-profile.c"
                 line="149">a #DhProfile.</doc>
            <type name="Profile" c:type="DhProfile*"/>
          </instance-parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ProfilePrivate" c:type="DhProfilePrivate*"/>
      </field>
    </class>
    <class name="ProfileBuilder"
           c:symbol-prefix="profile_builder"
           c:type="DhProfileBuilder"
           parent="GObject.Object"
           glib:type-name="DhProfileBuilder"
           glib:get-type="dh_profile_builder_get_type"
           glib:type-struct="ProfileBuilderClass">
      <source-position filename="devhelp/dh-profile-builder.h" line="53"/>
      <constructor name="new"
                   c:identifier="dh_profile_builder_new"
                   version="3.30">
        <source-position filename="devhelp/dh-profile-builder.h" line="57"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="devhelp/dh-profile-builder.c"
               line="73">a new #DhProfileBuilder.</doc>
          <type name="ProfileBuilder" c:type="DhProfileBuilder*"/>
        </return-value>
      </constructor>
      <method name="create_object"
              c:identifier="dh_profile_builder_create_object"
              version="3.30">
        <source-position filename="devhelp/dh-profile-builder.h" line="65"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="devhelp/dh-profile-builder.c"
               line="130">the newly created #DhProfile object.</doc>
          <type name="Profile" c:type="DhProfile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="builder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-profile-builder.c"
                 line="128">a #DhProfileBuilder.</doc>
            <type name="ProfileBuilder" c:type="DhProfileBuilder*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_book_list"
              c:identifier="dh_profile_builder_set_book_list"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-profile-builder.c"
             line="104">Sets the #DhBookList object.

If you don't call this function, the default #DhBookList object as returned
by dh_book_list_get_default() will be used.</doc>
        <source-position filename="devhelp/dh-profile-builder.h" line="62"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="builder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-profile-builder.c"
                 line="106">a #DhProfileBuilder.</doc>
            <type name="ProfileBuilder" c:type="DhProfileBuilder*"/>
          </instance-parameter>
          <parameter name="book_list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-profile-builder.c"
                 line="107">a #DhBookList.</doc>
            <type name="BookList" c:type="DhBookList*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_settings"
              c:identifier="dh_profile_builder_set_settings"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-profile-builder.c"
             line="82">Sets the #DhSettings object.

If you don't call this function, the default #DhSettings object as returned
by dh_settings_get_default() will be used.</doc>
        <source-position filename="devhelp/dh-profile-builder.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="builder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-profile-builder.c"
                 line="84">a #DhProfileBuilder.</doc>
            <type name="ProfileBuilder" c:type="DhProfileBuilder*"/>
          </instance-parameter>
          <parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-profile-builder.c"
                 line="85">a #DhSettings.</doc>
            <type name="Settings" c:type="DhSettings*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="ProfileBuilderPrivate" c:type="DhProfileBuilderPrivate*"/>
      </field>
    </class>
    <record name="ProfileBuilderClass"
            c:type="DhProfileBuilderClass"
            glib:is-gtype-struct-for="ProfileBuilder">
      <source-position filename="devhelp/dh-profile-builder.h" line="53"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="ProfileBuilderPrivate"
            c:type="DhProfileBuilderPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="devhelp/dh-profile-builder.h" line="40"/>
    </record>
    <record name="ProfileClass"
            c:type="DhProfileClass"
            glib:is-gtype-struct-for="Profile">
      <source-position filename="devhelp/dh-profile.h" line="52"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="ProfilePrivate"
            c:type="DhProfilePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="devhelp/dh-profile.h" line="39"/>
    </record>
    <function-macro name="SEARCH_BAR"
                    c:identifier="DH_SEARCH_BAR"
                    introspectable="0">
      <source-position filename="devhelp/dh-search-bar.h" line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SEARCH_BAR_CLASS"
                    c:identifier="DH_SEARCH_BAR_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-search-bar.h" line="31"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SEARCH_BAR_GET_CLASS"
                    c:identifier="DH_SEARCH_BAR_GET_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-search-bar.h" line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SETTINGS"
                    c:identifier="DH_SETTINGS"
                    introspectable="0">
      <source-position filename="devhelp/dh-settings.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SETTINGS_BUILDER"
                    c:identifier="DH_SETTINGS_BUILDER"
                    introspectable="0">
      <source-position filename="devhelp/dh-settings-builder.h" line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SETTINGS_BUILDER_CLASS"
                    c:identifier="DH_SETTINGS_BUILDER_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-settings-builder.h" line="31"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SETTINGS_BUILDER_GET_CLASS"
                    c:identifier="DH_SETTINGS_BUILDER_GET_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-settings-builder.h" line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SETTINGS_CLASS"
                    c:identifier="DH_SETTINGS_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-settings.h" line="33"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SETTINGS_GET_CLASS"
                    c:identifier="DH_SETTINGS_GET_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-settings.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SIDEBAR"
                    c:identifier="DH_SIDEBAR"
                    introspectable="0">
      <source-position filename="devhelp/dh-sidebar.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SIDEBAR_CLASS"
                    c:identifier="DH_SIDEBAR_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-sidebar.h" line="36"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <class name="SearchBar"
           c:symbol-prefix="search_bar"
           c:type="DhSearchBar"
           parent="Gtk.SearchBar"
           glib:type-name="DhSearchBar"
           glib:get-type="dh_search_bar_get_type"
           glib:type-struct="SearchBarClass">
      <source-position filename="devhelp/dh-search-bar.h" line="51"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="dh_search_bar_new" version="3.30">
        <source-position filename="devhelp/dh-search-bar.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-search-bar.c"
               line="340">a new #DhSearchBar.</doc>
          <type name="SearchBar" c:type="DhSearchBar*"/>
        </return-value>
        <parameters>
          <parameter name="notebook" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-search-bar.c"
                 line="338">a #DhNotebook.</doc>
            <type name="Notebook" c:type="DhNotebook*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_notebook"
              c:identifier="dh_search_bar_get_notebook"
              glib:get-property="notebook"
              version="3.30">
        <source-position filename="devhelp/dh-search-bar.h" line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-search-bar.c"
               line="357">the #DhSearchBar:notebook.</doc>
          <type name="Notebook" c:type="DhNotebook*"/>
        </return-value>
        <parameters>
          <instance-parameter name="search_bar" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-search-bar.c"
                 line="355">a #DhSearchBar.</doc>
            <type name="SearchBar" c:type="DhSearchBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="notebook"
                version="3.30"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_notebook">
        <doc xml:space="preserve"
             filename="devhelp/dh-search-bar.c"
             line="310">The associated #DhNotebook. #DhSearchBar has a strong reference to
the #DhNotebook.</doc>
        <type name="Notebook"/>
      </property>
      <field name="parent">
        <type name="Gtk.SearchBar" c:type="GtkSearchBar"/>
      </field>
      <field name="priv">
        <type name="SearchBarPrivate" c:type="DhSearchBarPrivate*"/>
      </field>
    </class>
    <record name="SearchBarClass"
            c:type="DhSearchBarClass"
            glib:is-gtype-struct-for="SearchBar">
      <source-position filename="devhelp/dh-search-bar.h" line="51"/>
      <field name="parent_class">
        <type name="Gtk.SearchBarClass" c:type="GtkSearchBarClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="SearchBarPrivate"
            c:type="DhSearchBarPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="devhelp/dh-search-bar.h" line="38"/>
    </record>
    <class name="Settings"
           c:symbol-prefix="settings"
           c:type="DhSettings"
           parent="GObject.Object"
           glib:type-name="DhSettings"
           glib:get-type="dh_settings_get_type"
           glib:type-struct="SettingsClass">
      <source-position filename="devhelp/dh-settings.h" line="55"/>
      <function name="get_default"
                c:identifier="dh_settings_get_default"
                version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="576">Gets the default #DhSettings object. It has the default #GSettings paths (see
#DhSettingsBuilder) and dh_settings_bind_all() has been called.</doc>
        <source-position filename="devhelp/dh-settings.h" line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-settings.c"
               line="582">the default #DhSettings object.</doc>
          <type name="Settings" c:type="DhSettings*"/>
        </return-value>
      </function>
      <virtual-method name="books_disabled_changed">
        <source-position filename="devhelp/dh-settings.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <type name="Settings" c:type="DhSettings*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="fonts_changed">
        <source-position filename="devhelp/dh-settings.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <type name="Settings" c:type="DhSettings*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="bind_all"
              c:identifier="dh_settings_bind_all"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="612">Binds all the #DhSettings properties to their corresponding #GSettings keys.</doc>
        <source-position filename="devhelp/dh-settings.h" line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="614">a #DhSettings.</doc>
            <type name="Settings" c:type="DhSettings*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="bind_fonts"
              c:identifier="dh_settings_bind_fonts"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="956">Binds the #DhSettings:use-system-fonts, #DhSettings:variable-font and
#DhSettings:fixed-font properties to their corresponding #GSettings keys.</doc>
        <source-position filename="devhelp/dh-settings.h" line="107"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="958">a #DhSettings.</doc>
            <type name="Settings" c:type="DhSettings*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="bind_group_books_by_language"
              c:identifier="dh_settings_bind_group_books_by_language"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="667">Binds the #DhSettings:group-books-by-language property to the corresponding
#GSettings key.</doc>
        <source-position filename="devhelp/dh-settings.h" line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="669">a #DhSettings.</doc>
            <type name="Settings" c:type="DhSettings*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="freeze_books_disabled_changed"
              c:identifier="dh_settings_freeze_books_disabled_changed"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="741">Tells @settings to not emit the #DhSettings::books-disabled-changed signal
until dh_settings_thaw_books_disabled_changed() is called.

A bit like g_object_freeze_notify(), except that there is no freeze count.

This function is useful if you call dh_settings_set_book_enabled() several
times in a row.</doc>
        <source-position filename="devhelp/dh-settings.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="743">a #DhSettings.</doc>
            <type name="Settings" c:type="DhSettings*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_fixed_font"
              c:identifier="dh_settings_get_fixed_font"
              glib:get-property="fixed-font"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="911">Warning: you probably want to use the dh_settings_get_selected_fonts()
function instead, to take into account the #DhSettings:use-system-fonts
property.</doc>
        <source-position filename="devhelp/dh-settings.h" line="102"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-settings.c"
               line="919">the value of the #DhSettings:fixed-font property.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="913">a #DhSettings.</doc>
            <type name="Settings" c:type="DhSettings*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_group_books_by_language"
              c:identifier="dh_settings_get_group_books_by_language"
              glib:get-property="group-books-by-language"
              version="3.30">
        <source-position filename="devhelp/dh-settings.h" line="70"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-settings.c"
               line="633">the value of the #DhSettings:group-books-by-language property.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="631">a #DhSettings.</doc>
            <type name="Settings" c:type="DhSettings*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_selected_fonts"
              c:identifier="dh_settings_get_selected_fonts"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="792">If #DhSettings:use-system-fonts is %TRUE, returns the system fonts. Otherwise
returns the values of the #DhSettings:variable-font and
#DhSettings:fixed-font properties.</doc>
        <source-position filename="devhelp/dh-settings.h" line="88"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="794">a #DhSettings.</doc>
            <type name="Settings" c:type="DhSettings*"/>
          </instance-parameter>
          <parameter name="variable_font"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="795">location to store the font name for text with variable
  width. Free with g_free().</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
          <parameter name="fixed_font"
                     direction="out"
                     caller-allocates="0"
                     transfer-ownership="full">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="797">location to store the font name for text with fixed
  width. Free with g_free().</doc>
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_use_system_fonts"
              c:identifier="dh_settings_get_use_system_fonts"
              glib:get-property="use-system-fonts"
              version="3.30">
        <source-position filename="devhelp/dh-settings.h" line="92"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-settings.c"
               line="830">the value of the #DhSettings:use-system-fonts property.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="828">a #DhSettings.</doc>
            <type name="Settings" c:type="DhSettings*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_variable_font"
              c:identifier="dh_settings_get_variable_font"
              glib:get-property="variable-font"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="866">Warning: you probably want to use the dh_settings_get_selected_fonts()
function instead, to take into account the #DhSettings:use-system-fonts
property.</doc>
        <source-position filename="devhelp/dh-settings.h" line="97"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-settings.c"
               line="874">the value of the #DhSettings:variable-font property.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="868">a #DhSettings.</doc>
            <type name="Settings" c:type="DhSettings*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_book_enabled"
              c:identifier="dh_settings_is_book_enabled"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="687">Returns whether @book is enabled according to the "books-disabled" #GSettings
key. If the @book ID is present in "books-disabled", this function returns
%FALSE, otherwise %TRUE is returned.</doc>
        <source-position filename="devhelp/dh-settings.h" line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-settings.c"
               line="696">whether @book is enabled.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="689">a #DhSettings.</doc>
            <type name="Settings" c:type="DhSettings*"/>
          </instance-parameter>
          <parameter name="book" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="690">a #DhBook.</doc>
            <type name="Book" c:type="DhBook*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_book_enabled"
              c:identifier="dh_settings_set_book_enabled"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="712">Modifies the "books-disabled" #GSettings key. It adds or removes the @book ID
from "books-disabled".</doc>
        <source-position filename="devhelp/dh-settings.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="714">a #DhSettings.</doc>
            <type name="Settings" c:type="DhSettings*"/>
          </instance-parameter>
          <parameter name="book" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="715">a #DhBook.</doc>
            <type name="Book" c:type="DhBook*"/>
          </parameter>
          <parameter name="enabled" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="716">the new value.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_fixed_font"
              c:identifier="dh_settings_set_fixed_font"
              glib:set-property="fixed-font"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="930">Sets the #DhSettings:fixed-font property.</doc>
        <source-position filename="devhelp/dh-settings.h" line="104"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="932">a #DhSettings.</doc>
            <type name="Settings" c:type="DhSettings*"/>
          </instance-parameter>
          <parameter name="fixed_font" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="933">the new value.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_group_books_by_language"
              c:identifier="dh_settings_set_group_books_by_language"
              glib:set-property="group-books-by-language"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="644">Sets the #DhSettings:group-books-by-language property.</doc>
        <source-position filename="devhelp/dh-settings.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="646">a #DhSettings.</doc>
            <type name="Settings" c:type="DhSettings*"/>
          </instance-parameter>
          <parameter name="group_books_by_language" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="647">the new value.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_use_system_fonts"
              c:identifier="dh_settings_set_use_system_fonts"
              glib:set-property="use-system-fonts"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="841">Sets the #DhSettings:use-system-fonts property.</doc>
        <source-position filename="devhelp/dh-settings.h" line="94"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="843">a #DhSettings.</doc>
            <type name="Settings" c:type="DhSettings*"/>
          </instance-parameter>
          <parameter name="use_system_fonts" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="844">the new value.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_variable_font"
              c:identifier="dh_settings_set_variable_font"
              glib:set-property="variable-font"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="885">Sets the #DhSettings:variable-font property.</doc>
        <source-position filename="devhelp/dh-settings.h" line="99"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="887">a #DhSettings.</doc>
            <type name="Settings" c:type="DhSettings*"/>
          </instance-parameter>
          <parameter name="variable_font" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="888">the new value.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="thaw_books_disabled_changed"
              c:identifier="dh_settings_thaw_books_disabled_changed"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="765">Stops the effect of dh_settings_freeze_books_disabled_changed(), and emits
the #DhSettings::books-disabled-changed signal.

A bit like g_object_thaw_notify(), except that there is no freeze count.</doc>
        <source-position filename="devhelp/dh-settings.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="settings" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings.c"
                 line="767">a #DhSettings.</doc>
            <type name="Settings" c:type="DhSettings*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="fixed-font"
                version="3.30"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_fixed_font"
                getter="get_fixed_font"
                default-value="Monospace 12">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="466">Font for text with fixed width, such as code examples.

This property is independent of #DhSettings:use-system-fonts.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="group-books-by-language"
                version="3.30"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_group_books_by_language"
                getter="get_group_books_by_language"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="416">Whether books should be grouped by programming language in the UI.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="use-system-fonts"
                version="3.30"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_use_system_fonts"
                getter="get_use_system_fonts"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="432">Whether to use the system default fonts.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="variable-font"
                version="3.30"
                writable="1"
                construct="1"
                transfer-ownership="none"
                setter="set_variable_font"
                getter="get_variable_font"
                default-value="Sans 12">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="448">Font for text with variable width.

This property is independent of #DhSettings:use-system-fonts.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="SettingsPrivate" c:type="DhSettingsPrivate*"/>
      </field>
      <glib:signal name="books-disabled-changed" when="first" version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="486">The ::books-disabled-changed signal is emitted when the
"books-disabled" #GSettings key changes.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="fonts-changed" when="first" version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings.c"
             line="503">The ::fonts-changed signal is emitted when the return values of
dh_settings_get_selected_fonts() have potentially changed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <class name="SettingsBuilder"
           c:symbol-prefix="settings_builder"
           c:type="DhSettingsBuilder"
           parent="GObject.Object"
           glib:type-name="DhSettingsBuilder"
           glib:get-type="dh_settings_builder_get_type"
           glib:type-struct="SettingsBuilderClass">
      <source-position filename="devhelp/dh-settings-builder.h" line="51"/>
      <constructor name="new"
                   c:identifier="dh_settings_builder_new"
                   version="3.30">
        <source-position filename="devhelp/dh-settings-builder.h" line="56"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="devhelp/dh-settings-builder.c"
               line="89">a new #DhSettingsBuilder.</doc>
          <type name="SettingsBuilder" c:type="DhSettingsBuilder*"/>
        </return-value>
      </constructor>
      <method name="create_object"
              c:identifier="dh_settings_builder_create_object"
              version="3.30">
        <source-position filename="devhelp/dh-settings-builder.h" line="64"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="devhelp/dh-settings-builder.c"
               line="148">the newly created #DhSettings object.</doc>
          <type name="Settings" c:type="DhSettings*"/>
        </return-value>
        <parameters>
          <instance-parameter name="builder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings-builder.c"
                 line="146">a #DhSettingsBuilder.</doc>
            <type name="SettingsBuilder" c:type="DhSettingsBuilder*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_contents_path"
              c:identifier="dh_settings_builder_set_contents_path"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings-builder.c"
             line="98">Sets the path for the "contents" schema.

If you don't call this function, the default path for this schema will be
used.</doc>
        <source-position filename="devhelp/dh-settings-builder.h" line="58"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="builder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings-builder.c"
                 line="100">a #DhSettingsBuilder.</doc>
            <type name="SettingsBuilder" c:type="DhSettingsBuilder*"/>
          </instance-parameter>
          <parameter name="contents_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings-builder.c"
                 line="101">the path for the "contents" schema.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_fonts_path"
              c:identifier="dh_settings_builder_set_fonts_path"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-settings-builder.c"
             line="121">Sets the path for the "fonts" schema.

If you don't call this function, the default path for this schema will be
used.</doc>
        <source-position filename="devhelp/dh-settings-builder.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="builder" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings-builder.c"
                 line="123">a #DhSettingsBuilder.</doc>
            <type name="SettingsBuilder" c:type="DhSettingsBuilder*"/>
          </instance-parameter>
          <parameter name="fonts_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-settings-builder.c"
                 line="124">the path for the "fonts" schema.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="SettingsBuilderPrivate"
              c:type="DhSettingsBuilderPrivate*"/>
      </field>
    </class>
    <record name="SettingsBuilderClass"
            c:type="DhSettingsBuilderClass"
            glib:is-gtype-struct-for="SettingsBuilder">
      <source-position filename="devhelp/dh-settings-builder.h" line="51"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="SettingsBuilderPrivate"
            c:type="DhSettingsBuilderPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="devhelp/dh-settings-builder.h" line="38"/>
    </record>
    <record name="SettingsClass"
            c:type="DhSettingsClass"
            glib:is-gtype-struct-for="Settings">
      <source-position filename="devhelp/dh-settings.h" line="55"/>
      <field name="parent">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="books_disabled_changed">
        <callback name="books_disabled_changed">
          <source-position filename="devhelp/dh-settings.h" line="50"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="settings" transfer-ownership="none">
              <type name="Settings" c:type="DhSettings*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="fonts_changed">
        <callback name="fonts_changed">
          <source-position filename="devhelp/dh-settings.h" line="51"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="settings" transfer-ownership="none">
              <type name="Settings" c:type="DhSettings*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="SettingsPrivate"
            c:type="DhSettingsPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="devhelp/dh-settings.h" line="39"/>
    </record>
    <class name="Sidebar"
           c:symbol-prefix="sidebar"
           c:type="DhSidebar"
           parent="Gtk.Grid"
           glib:type-name="DhSidebar"
           glib:get-type="dh_sidebar_get_type"
           glib:type-struct="SidebarClass">
      <source-position filename="devhelp/dh-sidebar.h" line="56"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new"
                   c:identifier="dh_sidebar_new"
                   deprecated="1"
                   deprecated-version="3.30">
        <doc-deprecated xml:space="preserve">Use dh_sidebar_new2() instead.</doc-deprecated>
        <source-position filename="devhelp/dh-sidebar.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-sidebar.c"
               line="669">a new #DhSidebar widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="book_manager"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="devhelp/dh-sidebar.c"
                 line="666">a #DhBookManager. This parameter is deprecated,
you should just pass %NULL.</doc>
            <type name="BookManager" c:type="DhBookManager*"/>
          </parameter>
        </parameters>
      </constructor>
      <function name="new2" c:identifier="dh_sidebar_new2" version="3.30">
        <source-position filename="devhelp/dh-sidebar.h" line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-sidebar.c"
               line="682">a new #DhSidebar widget.</doc>
          <type name="Sidebar" c:type="DhSidebar*"/>
        </return-value>
        <parameters>
          <parameter name="profile"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="devhelp/dh-sidebar.c"
                 line="680">a #DhProfile, or %NULL for the default profile.</doc>
            <type name="Profile" c:type="DhProfile*"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="link_selected">
        <source-position filename="devhelp/dh-sidebar.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="sidebar" transfer-ownership="none">
            <type name="Sidebar" c:type="DhSidebar*"/>
          </instance-parameter>
          <parameter name="link" transfer-ownership="none">
            <type name="Link" c:type="DhLink*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_profile"
              c:identifier="dh_sidebar_get_profile"
              glib:get-property="profile"
              version="3.30">
        <source-position filename="devhelp/dh-sidebar.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-sidebar.c"
               line="699">the #DhProfile of @sidebar.</doc>
          <type name="Profile" c:type="DhProfile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="sidebar" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-sidebar.c"
                 line="697">a #DhSidebar.</doc>
            <type name="Sidebar" c:type="DhSidebar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_selected_link"
              c:identifier="dh_sidebar_get_selected_link"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-sidebar.c"
             line="713">Note: the return value of this function is not necessarily the same as the
last #DhLink emitted by the #DhSidebar::link-selected signal. See the
documentation of #DhSidebar::link-selected.</doc>
        <source-position filename="devhelp/dh-sidebar.h" line="67"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="devhelp/dh-sidebar.c"
               line="721">the currently selected #DhLink in the
visible #GtkTreeView of @sidebar, or %NULL if the selection is empty or if a
language group row is selected. Unref with dh_link_unref() when no longer
needed.</doc>
          <type name="Link" c:type="DhLink*"/>
        </return-value>
        <parameters>
          <instance-parameter name="sidebar" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-sidebar.c"
                 line="715">a #DhSidebar.</doc>
            <type name="Sidebar" c:type="DhSidebar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="select_uri" c:identifier="dh_sidebar_select_uri">
        <doc xml:space="preserve"
             filename="devhelp/dh-sidebar.c"
             line="750">Calls dh_book_tree_select_uri().</doc>
        <source-position filename="devhelp/dh-sidebar.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="sidebar" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-sidebar.c"
                 line="752">a #DhSidebar.</doc>
            <type name="Sidebar" c:type="DhSidebar*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-sidebar.c"
                 line="753">the URI to select.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_search_focus"
              c:identifier="dh_sidebar_set_search_focus">
        <doc xml:space="preserve"
             filename="devhelp/dh-sidebar.c"
             line="803">Gives the focus to the search entry.</doc>
        <source-position filename="devhelp/dh-sidebar.h" line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="sidebar" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-sidebar.c"
                 line="805">a #DhSidebar.</doc>
            <type name="Sidebar" c:type="DhSidebar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_search_string"
              c:identifier="dh_sidebar_set_search_string">
        <source-position filename="devhelp/dh-sidebar.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="sidebar" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-sidebar.c"
                 line="773">a #DhSidebar.</doc>
            <type name="Sidebar" c:type="DhSidebar*"/>
          </instance-parameter>
          <parameter name="str" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-sidebar.c"
                 line="774">the string to search.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="profile"
                version="3.30"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_profile">
        <doc xml:space="preserve"
             filename="devhelp/dh-sidebar.c"
             line="634">The #DhProfile. If set to %NULL, the default profile as returned by
dh_profile_get_default() is used.</doc>
        <type name="Profile"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Grid" c:type="GtkGrid"/>
      </field>
      <glib:signal name="link-selected" when="last">
        <doc xml:space="preserve"
             filename="devhelp/dh-sidebar.c"
             line="609">The ::link-selected signal is emitted when:
1. One row in one of the #GtkTreeView's is selected and contains a
   #DhLink (i.e. when the row is not a language group);
2. Or if there is an exact match returned by
   dh_keyword_model_filter() when a search occurs.

Note that dh_sidebar_get_selected_link() takes into account only the
former, not the latter. So the last @link emitted with this signal is
not necessarily the same as the current return value of
dh_sidebar_get_selected_link().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="link" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-sidebar.c"
                 line="612">the selected #DhLink.</doc>
            <type name="Link"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="SidebarClass"
            c:type="DhSidebarClass"
            glib:is-gtype-struct-for="Sidebar">
      <source-position filename="devhelp/dh-sidebar.h" line="56"/>
      <field name="parent_class">
        <type name="Gtk.GridClass" c:type="GtkGridClass"/>
      </field>
      <field name="link_selected">
        <callback name="link_selected">
          <source-position filename="devhelp/dh-sidebar.h" line="51"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="sidebar" transfer-ownership="none">
              <type name="Sidebar" c:type="DhSidebar*"/>
            </parameter>
            <parameter name="link" transfer-ownership="none">
              <type name="Link" c:type="DhLink*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <function-macro name="TAB" c:identifier="DH_TAB" introspectable="0">
      <source-position filename="devhelp/dh-tab.h" line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="TAB_CLASS"
                    c:identifier="DH_TAB_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-tab.h" line="31"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="TAB_GET_CLASS"
                    c:identifier="DH_TAB_GET_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-tab.h" line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="TAB_LABEL"
                    c:identifier="DH_TAB_LABEL"
                    introspectable="0">
      <source-position filename="devhelp/dh-tab-label.h" line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="TAB_LABEL_CLASS"
                    c:identifier="DH_TAB_LABEL_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-tab-label.h" line="31"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="TAB_LABEL_GET_CLASS"
                    c:identifier="DH_TAB_LABEL_GET_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-tab-label.h" line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Tab"
           c:symbol-prefix="tab"
           c:type="DhTab"
           parent="Gtk.Grid"
           glib:type-name="DhTab"
           glib:get-type="dh_tab_get_type"
           glib:type-struct="TabClass">
      <source-position filename="devhelp/dh-tab.h" line="51"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="dh_tab_new" version="3.30">
        <source-position filename="devhelp/dh-tab.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-tab.c"
               line="170">a new #DhTab.</doc>
          <type name="Tab" c:type="DhTab*"/>
        </return-value>
        <parameters>
          <parameter name="web_view"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="devhelp/dh-tab.c"
                 line="167">a #DhWebView, or %NULL to create a #DhWebView with the
  default #DhProfile.</doc>
            <type name="WebView" c:type="DhWebView*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_web_view"
              c:identifier="dh_tab_get_web_view"
              glib:get-property="web-view"
              version="3.30">
        <source-position filename="devhelp/dh-tab.h" line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-tab.c"
               line="187">the #DhTab:web-view.</doc>
          <type name="WebView" c:type="DhWebView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-tab.c"
                 line="185">a #DhTab.</doc>
            <type name="Tab" c:type="DhTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="web-view"
                version="3.30"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_web_view">
        <doc xml:space="preserve"
             filename="devhelp/dh-tab.c"
             line="137">The #DhWebView of the tab. If set to %NULL a #DhWebView is created
with the default #DhProfile.</doc>
        <type name="WebView"/>
      </property>
      <field name="parent">
        <type name="Gtk.Grid" c:type="GtkGrid"/>
      </field>
      <field name="priv">
        <type name="TabPrivate" c:type="DhTabPrivate*"/>
      </field>
    </class>
    <record name="TabClass" c:type="DhTabClass" glib:is-gtype-struct-for="Tab">
      <source-position filename="devhelp/dh-tab.h" line="51"/>
      <field name="parent_class">
        <type name="Gtk.GridClass" c:type="GtkGridClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <class name="TabLabel"
           c:symbol-prefix="tab_label"
           c:type="DhTabLabel"
           parent="Gtk.Grid"
           glib:type-name="DhTabLabel"
           glib:get-type="dh_tab_label_get_type"
           glib:type-struct="TabLabelClass">
      <source-position filename="devhelp/dh-tab-label.h" line="51"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="dh_tab_label_new" version="3.30">
        <source-position filename="devhelp/dh-tab-label.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-tab-label.c"
               line="244">a new #DhTabLabel.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-tab-label.c"
                 line="242">the associated #DhTab.</doc>
            <type name="Tab" c:type="DhTab*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_tab"
              c:identifier="dh_tab_label_get_tab"
              glib:get-property="tab"
              version="3.30">
        <source-position filename="devhelp/dh-tab-label.h" line="57"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="devhelp/dh-tab-label.c"
               line="261">the #DhTabLabel:tab.</doc>
          <type name="Tab" c:type="DhTab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab_label" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-tab-label.c"
                 line="259">a #DhTabLabel.</doc>
            <type name="TabLabel" c:type="DhTabLabel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="tab"
                version="3.30"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_tab">
        <doc xml:space="preserve"
             filename="devhelp/dh-tab-label.c"
             line="161">The associated #DhTab. #DhTabLabel has a weak reference to the
#DhTab.</doc>
        <type name="Tab"/>
      </property>
      <field name="parent">
        <type name="Gtk.Grid" c:type="GtkGrid"/>
      </field>
      <field name="priv">
        <type name="TabLabelPrivate" c:type="DhTabLabelPrivate*"/>
      </field>
    </class>
    <record name="TabLabelClass"
            c:type="DhTabLabelClass"
            glib:is-gtype-struct-for="TabLabel">
      <source-position filename="devhelp/dh-tab-label.h" line="51"/>
      <field name="parent_class">
        <type name="Gtk.GridClass" c:type="GtkGridClass"/>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="TabLabelPrivate"
            c:type="DhTabLabelPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="devhelp/dh-tab-label.h" line="38"/>
    </record>
    <record name="TabPrivate" c:type="DhTabPrivate" disguised="1" opaque="1">
      <source-position filename="devhelp/dh-tab.h" line="38"/>
    </record>
    <function-macro name="WEB_VIEW"
                    c:identifier="DH_WEB_VIEW"
                    introspectable="0">
      <source-position filename="devhelp/dh-web-view.h" line="30"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEB_VIEW_CLASS"
                    c:identifier="DH_WEB_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-web-view.h" line="31"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WEB_VIEW_GET_CLASS"
                    c:identifier="DH_WEB_VIEW_GET_CLASS"
                    introspectable="0">
      <source-position filename="devhelp/dh-web-view.h" line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="WebView"
           c:symbol-prefix="web_view"
           c:type="DhWebView"
           parent="WebKit2.WebView"
           glib:type-name="DhWebView"
           glib:get-type="dh_web_view_get_type"
           glib:type-struct="WebViewClass">
      <source-position filename="devhelp/dh-web-view.h" line="55"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="dh_web_view_new" version="3.30">
        <source-position filename="devhelp/dh-web-view.h" line="59"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-web-view.c"
               line="608">a new #DhWebView widget.</doc>
          <type name="WebView" c:type="DhWebView*"/>
        </return-value>
        <parameters>
          <parameter name="profile"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="devhelp/dh-web-view.c"
                 line="606">a #DhProfile, or %NULL for the default profile.</doc>
            <type name="Profile" c:type="DhProfile*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="open_new_tab">
        <source-position filename="devhelp/dh-web-view.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="WebView" c:type="DhWebView*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="can_reset_zoom"
              c:identifier="dh_web_view_can_reset_zoom"
              version="3.30">
        <source-position filename="devhelp/dh-web-view.h" line="76"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-web-view.c"
               line="797">whether calling dh_web_view_reset_zoom() will have an effect.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-web-view.c"
                 line="795">a #DhWebView.</doc>
            <type name="WebView" c:type="DhWebView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_zoom_in"
              c:identifier="dh_web_view_can_zoom_in"
              version="3.30">
        <source-position filename="devhelp/dh-web-view.h" line="72"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-web-view.c"
               line="761">whether calling dh_web_view_zoom_in() will have an effect.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-web-view.c"
                 line="759">a #DhWebView.</doc>
            <type name="WebView" c:type="DhWebView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="can_zoom_out"
              c:identifier="dh_web_view_can_zoom_out"
              version="3.30">
        <source-position filename="devhelp/dh-web-view.h" line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-web-view.c"
               line="779">whether calling dh_web_view_zoom_out() will have an effect.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-web-view.c"
                 line="777">a #DhWebView.</doc>
            <type name="WebView" c:type="DhWebView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_devhelp_title"
              c:identifier="dh_web_view_get_devhelp_title"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-web-view.c"
             line="636">An enhanced getter function for the #WebKitWebView:title property: when that
property is the empty string or %NULL, this function returns “Empty Page”
(translated).</doc>
        <source-position filename="devhelp/dh-web-view.h" line="63"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-web-view.c"
               line="644">the title of @view, suitable for a tab label or window title.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-web-view.c"
                 line="638">a #DhWebView.</doc>
            <type name="WebView" c:type="DhWebView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_profile"
              c:identifier="dh_web_view_get_profile"
              glib:get-property="profile"
              version="3.30">
        <source-position filename="devhelp/dh-web-view.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-web-view.c"
               line="625">the #DhWebView:profile.</doc>
          <type name="Profile" c:type="DhProfile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-web-view.c"
                 line="623">a #DhWebView.</doc>
            <type name="WebView" c:type="DhWebView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="reset_zoom"
              c:identifier="dh_web_view_reset_zoom"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-web-view.c"
             line="843">Reset the text size to the normal size.</doc>
        <source-position filename="devhelp/dh-web-view.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-web-view.c"
                 line="845">a #DhWebView.</doc>
            <type name="WebView" c:type="DhWebView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="search_next"
              c:identifier="dh_web_view_search_next"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-web-view.c"
             line="711">Like webkit_find_controller_search_next(), but takes into account whether
dh_web_view_set_search_text() has been called.</doc>
        <source-position filename="devhelp/dh-web-view.h" line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-web-view.c"
                 line="713">a #DhWebView.</doc>
            <type name="WebView" c:type="DhWebView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="search_previous"
              c:identifier="dh_web_view_search_previous"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-web-view.c"
             line="734">Like webkit_find_controller_search_previous(), but takes into account whether
dh_web_view_set_search_text() has been called.</doc>
        <source-position filename="devhelp/dh-web-view.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-web-view.c"
                 line="736">a #DhWebView.</doc>
            <type name="WebView" c:type="DhWebView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_search_text"
              c:identifier="dh_web_view_set_search_text"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-web-view.c"
             line="662">A more convenient API (for Devhelp needs) than #WebKitFindController. If
@search_text is not empty, it calls webkit_find_controller_search() if not
already done. If @search_text is empty or %NULL, it calls
webkit_find_controller_search_finish().</doc>
        <source-position filename="devhelp/dh-web-view.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-web-view.c"
                 line="664">a #DhWebView.</doc>
            <type name="WebView" c:type="DhWebView*"/>
          </instance-parameter>
          <parameter name="search_text"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="devhelp/dh-web-view.c"
                 line="665">the search string, or %NULL.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="zoom_in" c:identifier="dh_web_view_zoom_in" version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-web-view.c"
             line="811">Makes the text larger.</doc>
        <source-position filename="devhelp/dh-web-view.h" line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-web-view.c"
                 line="813">a #DhWebView.</doc>
            <type name="WebView" c:type="DhWebView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="zoom_out"
              c:identifier="dh_web_view_zoom_out"
              version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-web-view.c"
             line="827">Makes the text smaller.</doc>
        <source-position filename="devhelp/dh-web-view.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-web-view.c"
                 line="829">a #DhWebView.</doc>
            <type name="WebView" c:type="DhWebView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="profile"
                version="3.30"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                getter="get_profile">
        <doc xml:space="preserve"
             filename="devhelp/dh-web-view.c"
             line="554">The #DhProfile. If set to %NULL, the default profile as returned by
dh_profile_get_default() is used.</doc>
        <type name="Profile"/>
      </property>
      <field name="parent">
        <type name="WebKit2.WebView" c:type="WebKitWebView"/>
      </field>
      <field name="priv">
        <type name="WebViewPrivate" c:type="DhWebViewPrivate*"/>
      </field>
      <glib:signal name="open-new-tab" when="last" version="3.30">
        <doc xml:space="preserve"
             filename="devhelp/dh-web-view.c"
             line="573">The ::open-new-tab signal is emitted when a URI needs to be opened in
a new #DhWebView. This happens when doing Ctrl+click or middle click
on a link.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="devhelp/dh-web-view.c"
                 line="576">the URI to open.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="WebViewClass"
            c:type="DhWebViewClass"
            glib:is-gtype-struct-for="WebView">
      <source-position filename="devhelp/dh-web-view.h" line="55"/>
      <field name="parent_class">
        <type name="WebKit2.WebViewClass" c:type="WebKitWebViewClass"/>
      </field>
      <field name="open_new_tab">
        <callback name="open_new_tab">
          <source-position filename="devhelp/dh-web-view.h" line="50"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="WebView" c:type="DhWebView*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="padding">
        <array zero-terminated="0" fixed-size="12">
          <type name="gpointer" c:type="gpointer"/>
        </array>
      </field>
    </record>
    <record name="WebViewPrivate"
            c:type="DhWebViewPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="devhelp/dh-web-view.h" line="38"/>
    </record>
    <function name="application_window_bind_sidebar_and_notebook"
              c:identifier="dh_application_window_bind_sidebar_and_notebook"
              version="3.30">
      <doc xml:space="preserve"
           filename="devhelp/dh-application-window.c"
           line="32">Binds @sidebar and @notebook:
- When the #DhSidebar::link-selected signal is emitted, open the URI in the
  active #DhWebView.
- On #GtkNotebook::switch-page or when the user clicks on a link, calls
  dh_sidebar_select_uri() with the new active URI.

You need to call this function when the #DhNotebook is empty, i.e. before
adding the first #DhTab.

Note that this function doesn't take a “self” window parameter, to be more
flexible: it is possible to have several pairs of #DhSidebar/#DhNotebook per
window, to show different #DhProfile's.</doc>
      <source-position filename="devhelp/dh-application-window.h" line="30"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="sidebar" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-application-window.c"
               line="34">a #DhSidebar.</doc>
          <type name="Sidebar" c:type="DhSidebar*"/>
        </parameter>
        <parameter name="notebook" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-application-window.c"
               line="35">an empty #DhNotebook.</doc>
          <type name="Notebook" c:type="DhNotebook*"/>
        </parameter>
      </parameters>
    </function>
    <docsection name="dh-application-window">
      <doc xml:space="preserve"
           filename="devhelp/dh-application-window.c"
           line="24">Functions for the main application window.</doc>
    </docsection>
    <docsection name="dh-assistant-view">
      <doc xml:space="preserve"
           filename="devhelp/dh-assistant-view.c"
           line="30">#DhAssistantView is a subclass of #WebKitWebView for displaying the
documentation of just one symbol.

A possible use-case: in a text editor, pressing a keyboard shortcut could
display this widget for the symbol under the cursor.

With the Devhelp application, an assistant can easily be launched with the
command line option `--search-assistant`.</doc>
    </docsection>
    <docsection name="dh-book">
      <doc xml:space="preserve"
           filename="devhelp/dh-book.c"
           line="32">A #DhBook usually contains the documentation for one library (or
application), for example GLib or GTK+. A #DhBook corresponds to one index
file. An index file is a file with the extension `*.devhelp`, `*.devhelp2`,
`*.devhelp.gz` or `*.devhelp2.gz`.

#DhBook creates a #GFileMonitor on the index file, and emits the
#DhBook::updated or #DhBook::deleted signal in case the index file has
changed on the filesystem. #DhBookListDirectory listens to those #DhBook
signals, and emits in turn the #DhBookList #DhBookList::remove-book and
#DhBookList::add-book signals.</doc>
    </docsection>
    <docsection name="dh-book-list">
      <doc xml:space="preserve"
           filename="devhelp/dh-book-list.c"
           line="25">#DhBookList is a base class for a list of #DhBook's.

The default implementation maintains an internal #GList when books are added
and removed with the #DhBookList::add-book and #DhBookList::remove-book
signals, and returns that #GList in dh_book_list_get_books().

The #DhBookList base class doesn't listen to the #DhBook #DhBook::deleted and
#DhBook::updated signals. It is for example handled by #DhBookListDirectory.</doc>
    </docsection>
    <docsection name="dh-book-list-builder">
      <doc xml:space="preserve"
           filename="devhelp/dh-book-list-builder.c"
           line="26">#DhBookListBuilder permits to build #DhBookList objects.</doc>
    </docsection>
    <docsection name="dh-book-list-directory">
      <doc xml:space="preserve"
           filename="devhelp/dh-book-list-directory.c"
           line="24">#DhBookListDirectory is a subclass of #DhBookList containing the #DhBook's in
#DhBookListDirectory:directory. In that directory, each book must be in a
direct sub-directory, with the Devhelp index file as a direct child of that
sub-directory.

For example if #DhBookListDirectory:directory is "/usr/share/gtk-doc/html/",
and if there is an index file at
"/usr/share/gtk-doc/html/glib/glib.devhelp2", #DhBookListDirectory will
contain a #DhBook for that index file.

Additionally the name of (1) the sub-directory and (2) the index file minus
its extension, must match ("glib" in the example).

See #DhBook for the list of allowed Devhelp index file extensions
("*.devhelp2" in the example).

#DhBookListDirectory listens to the #DhBook #DhBook::deleted and
#DhBook::updated signals, to remove the #DhBook or to re-create it. And
#DhBookListDirectory contains a #GFileMonitor on the
#DhBookListDirectory:directory to add new #DhBook's when they are installed.
But note that those #GFileMonitor's are not guaranteed to work perfectly,
recreating the #DhBookListDirectory (or restarting the application) may be
needed to see all the index files after filesystem changes in
#DhBookListDirectory:directory.</doc>
    </docsection>
    <docsection name="dh-book-manager">
      <doc xml:space="preserve"
           filename="devhelp/dh-book-manager.c"
           line="28">#DhBookManager was a singleton class containing all the #DhBook's. It is now
empty.

&lt;warning&gt;
This class is entirely deprecated, you need to use #DhProfile, #DhSettings
and #DhBookList instead.
&lt;/warning&gt;</doc>
    </docsection>
    <docsection name="dh-book-tree">
      <doc xml:space="preserve"
           filename="devhelp/dh-book-tree.c"
           line="32">#DhBookTree is a #GtkTreeView (showing a tree, not a list) containing the
general tree structure of the #DhBook's contained in a #DhBookList (the
#DhBookList part of the provided #DhProfile).

#DhBookTree calls the dh_book_get_tree() function to get the tree structure
of a #DhBook. As such the tree contains only #DhLink's of type
%DH_LINK_TYPE_BOOK or %DH_LINK_TYPE_PAGE.

When an element is selected, the #DhBookTree::link-selected signal is
emitted. Only one element can be selected at a time.</doc>
    </docsection>
    <docsection name="dh-completion">
      <doc xml:space="preserve"
           filename="devhelp/dh-completion.c"
           line="24">#DhCompletion is a basic replacement for #GCompletion. #GCompletion (part of
GLib) is deprecated.

#GCompletion is implemented with a simple #GList, while #DhCompletion uses a
(sorted) #GSequence instead (or a #GList of #DhCompletion objects with
dh_completion_aggregate_complete()). So #DhCompletion should scale better
with more data, and #DhCompletion should be more appropriate if the same data
is used several times (on the other hand if the data is used only once,
#GCompletion should be faster).

#DhCompletion works only with UTF-8 strings, and copies the strings.

#DhCompletion is add-only, strings cannot be removed. But with
dh_completion_aggregate_complete(), a #DhCompletion object can be removed
from the #GList.</doc>
    </docsection>
    <docsection name="dh-keyword-model">
      <doc xml:space="preserve"
           filename="devhelp/dh-keyword-model.c"
           line="32">#DhKeywordModel is a custom #GtkTreeModel implementation (as a list, not a
tree) for searching #DhLink's.

The dh_keyword_model_filter() function is used to set the search criteria. It
fills the #GtkTreeModel with the list of #DhLink's that match the search
criteria (up to a certain maximum number of matches).

How the search works (for end users) is explained in the user documentation
of the Devhelp application.

# Filter by book and page

As a kind of API for integrating Devhelp with other applications, the search
string supports additional features. Those features are not intended to be
used directly by end users when typing the search string in the GUI, because
it's not really convenient. It is intended to be used with the
`devhelp --search "search-string"` command line, so that another application
can launch Devhelp and set a specific search string.

It is possible to filter by book by prefixing the search string with
“book:the-book-ID”. For example “book:gtk3”. If there are no other search
terms, it shows the top-level page of that book. If there are other search
terms, it limits the search to the specified book. See also the
dh_book_get_id() function (in the `*.devhelp2` index file format it's called
the book “name”, not ID, but ID is clearer).

Similarly, it is possible to filter by page, by prefixing the search string
with “page:the-page-ID”. For example “page:GtkWindow”. If there are no other
search terms, the top of the page is shown and the search matches all the
symbols part of that page. If there are other search terms, it limits the
search to the specified page. To know what is the “page ID”, see the
dh_link_belongs_to_page() function.

“book:” and “page:” can be combined. Normal search terms must be
&lt;emphasis&gt;after&lt;/emphasis&gt; “book:” and “page:”.

The book and page IDs – even if they contain an uppercase letter – don't
affect the case sensitivity for the other search terms.</doc>
    </docsection>
    <docsection name="dh-link">
      <doc xml:space="preserve"
           filename="devhelp/dh-link.c"
           line="28">A #DhLink represents a link to an HTML page or somewhere inside a page (with
an anchor) that is inside a #DhBook. The link can point to a specific symbol,
or a page, or the top-level page of the #DhBook.

A #DhLink has a type that can be retrieved with dh_link_get_link_type().

There is exactly one #DhLink of type %DH_LINK_TYPE_BOOK per #DhBook object.</doc>
    </docsection>
    <docsection name="dh-notebook">
      <doc xml:space="preserve"
           filename="devhelp/dh-notebook.c"
           line="24">#DhNotebook is a subclass of #GtkNotebook. The content of the tabs are
#DhTab's, and the tab labels are #DhTabLabel's.

#DhNotebook handles the #DhWebView::open-new-tab signal by appending a new
#DhTab.</doc>
    </docsection>
    <docsection name="dh-profile">
      <doc xml:space="preserve"
           filename="devhelp/dh-profile.c"
           line="24">#DhProfile permits to configure other libdevhelp objects. For example
#DhSidebar has the #DhSidebar:profile construct-only property. A #DhProfile
contains a #DhSettings object and a #DhBookList object. As a convention for
other libdevhelp classes that use #DhProfile, if the #DhProfile is not
provided (i.e. it is set to %NULL), then the default profile is used, see
dh_profile_get_default().

There is the possibility to run in parallel multiple profiles in the same
process, for example:
- In an IDE for different projects or different programming languages.
- In different #GtkWindow's of the API browser application.

With #DhSettings it's possible to share some #GSettings keys between
different profiles.

A possible use-case is to have one "generic" profile, which corresponds to
the default profile as returned by dh_profile_get_default(). And another
profile tailored to a specific development platform (for example GNOME),
providing additional features useful for that development platform (for
example to download the latest API documentation, have a start page, etc).</doc>
    </docsection>
    <docsection name="dh-profile-builder">
      <doc xml:space="preserve"
           filename="devhelp/dh-profile-builder.c"
           line="23">#DhProfileBuilder permits to build #DhProfile objects.</doc>
    </docsection>
    <docsection name="dh-search-bar">
      <doc xml:space="preserve"
           filename="devhelp/dh-search-bar.c"
           line="24">#DhSearchBar is a subclass of #GtkSearchBar, meant to be shown above a
#DhNotebook. There is only one #DhSearchBar for the whole #DhNotebook, it
applies the same search text to all the #DhWebView's (lazily, when the tab is
shown).

(A different way to implement the search for the #DhWebView's would be to
have a different #GtkSearchEntry for each #DhWebView, with the
#GtkSearchEntry shown inside the #DhTab; in that case #DhSearchBar won't help
you).</doc>
    </docsection>
    <docsection name="dh-settings">
      <doc xml:space="preserve"
           filename="devhelp/dh-settings.c"
           line="26">#DhSettings represents the libdevhelp settings. The libdevhelp provides a
#GSettings schema, but for some settings the use of #GSettings is optional:
it is instead possible to set the #DhSettings property and do not bind it to
the #GSettings key, to force a certain value and to not provide a user
configuration for it in the application.

To have the documentation about the available #GSettings keys, their types,
the default values, etc, read the `*.gschema.xml` file.

Note that #DhSettings do not expose the #GSettings objects, you should use
the #DhSettings wrapper API instead. So instead of using g_settings_bind(),
you should use g_object_bind_property() with a #DhSettings property as the
source. This has the small drawback that the writability of the #GSettings
keys are not exposed, it is assumed that all keys are writable; if knowing
the writability of the #GSettings keys is really wanted, the #DhSettings API
can be changed to expose publicly the #GSettings objects (for that purpose
only).

# Different default value

If you want to save a #DhSettings setting with #GSettings, but with a
different default value than the one provided by the libdevhelp #GSettings
schema, the recommended thing to do is to *not* call the bind function
provided by #DhSettings for that property, provide your own #GSettings schema
with the same key but with a different default value, and call yourself
g_settings_bind().

# GSettings keys without corresponding properties

For the following #GSettings keys, the use of #GSettings is mandatory, there
are no corresponding #DhSettings properties (and thus no bind function).

- `"books-disabled"`: if the use of #GSettings is not wanted, a custom
  #DhBookList can be created instead.</doc>
    </docsection>
    <docsection name="dh-settings-builder">
      <doc xml:space="preserve"
           filename="devhelp/dh-settings-builder.c"
           line="23">#DhSettingsBuilder permits to build #DhSettings objects.

The #GSettings schemas provided by the libdevhelp are relocatable. So the
paths need to be provided. If a path for a certain schema is not provided to
the #DhSettingsBuilder with the set function, the default path for that
schema will be used. The default paths are the paths common with the Devhelp
application.

Why are the schemas relocatable? Because different major versions of
libdevhelp must be parallel-installable, so the schema IDs must necessarily
be different (they must contain the API/major version), but for users to not
lose all their settings when there is a new major version of libdevhelp, the
schemas – if still compatible – can be relocated to an old common path
(common to several major versions of libdevhelp or to an application). If a
schema becomes incompatible, the compatible keys can be migrated individually
with dconf (see the DhDconfMigration utility class in the libdevhelp source
code).</doc>
    </docsection>
    <docsection name="dh-sidebar">
      <doc xml:space="preserve"
           filename="devhelp/dh-sidebar.c"
           line="31">In the Devhelp application, there is one #DhSidebar per main window,
displayed in the left side panel.

A #DhSidebar contains:
- a #GtkSearchEntry at the top;
- a #DhBookTree (a subclass of #GtkTreeView);
- another #GtkTreeView (displaying a list, not a tree) with a #DhKeywordModel
  as its model.

When the #GtkSearchEntry is empty, the #DhBookTree is shown. When the
#GtkSearchEntry is not empty, it shows the search results in the other
#GtkTreeView. The two #GtkTreeView's cannot be both visible at the same time,
it's either one or the other.

#DhSidebar emits the #DhSidebar::link-selected signal. When that happens, the
Devhelp application opens the #DhLink in a #WebKitWebView shown at the right
side of the main window.</doc>
    </docsection>
    <docsection name="dh-tab">
      <doc xml:space="preserve"
           filename="devhelp/dh-tab.c"
           line="23">#DhTab is a subclass of #GtkGrid, it is meant to be the content of one tab in
a #DhNotebook. It contains by default only one element: a #DhWebView. But
applications can add more widgets to the #GtkGrid.</doc>
    </docsection>
    <docsection name="dh-tab-label">
      <doc xml:space="preserve"
           filename="devhelp/dh-tab-label.c"
           line="24">The #DhTabLabel widget is used for the tab labels in #DhNotebook.

It contains the title as returned by dh_web_view_get_devhelp_title(), plus a
close button.</doc>
    </docsection>
    <docsection name="dh-web-view">
      <doc xml:space="preserve"
           filename="devhelp/dh-web-view.c"
           line="27">#DhWebView is a subclass of #WebKitWebView, to have a higher-level API for
some features, and with some customizations for the libdevhelp use-case.

Features:
- Ctrl+scroll to zoom in/zoom out.
- Sending the #DhWebView::open-new-tab signal on middle click or Ctrl+click
  on a link (#DhNotebook handles that signal).
- Calls gtk_show_uri_on_window() when opening a non-local link (for example a
  `http://` URL).

The #DhProfile is used for:
- Applying the #DhSettings fonts.
- When trying to load a remote URL from developer.gnome.org, find in the
  #DhBookList if there is an equivalent local link to load it instead of
  opening the URL with gtk_show_uri_on_window().</doc>
    </docsection>
    <function name="finalize" c:identifier="dh_finalize" version="3.26">
      <doc xml:space="preserve"
           filename="devhelp/dh-init.c"
           line="49">Free the resources allocated by Devhelp. For example it unrefs the singleton
objects.

It is not mandatory to call this function, it's just to be friendlier to
memory debugging tools. This function is meant to be called at the end of
main(). It can be called several times.</doc>
      <source-position filename="devhelp/dh-init.h" line="29"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="init" c:identifier="dh_init">
      <doc xml:space="preserve"
           filename="devhelp/dh-init.c"
           line="29">Initializes the Devhelp library (e.g. for the internationalization).

This function can be called several times, but is meant to be called at the
beginning of main(), before any other Devhelp function call.</doc>
      <source-position filename="devhelp/dh-init.h" line="28"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="link_type_to_string"
              c:identifier="dh_link_type_to_string"
              moved-to="LinkType.to_string">
      <source-position filename="devhelp/dh-link.h" line="112"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="devhelp/dh-link.c"
             line="542">a string representation of the #DhLinkType, translated in the
current language.</doc>
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="link_type" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="devhelp/dh-link.c"
               line="540">a #DhLinkType.</doc>
          <type name="LinkType" c:type="DhLinkType"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
