<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Gtk" version="3.0"/>
  <include name="GtkSource" version="300"/>
  <include name="Tepl" version="6"/>
  <package name="gedit-48.1"/>
  <namespace name="Gedit"
             version="3.0"
             shared-library="libgedit-48.1.so"
             c:identifier-prefixes="Gedit"
             c:symbol-prefixes="gedit">
    <class name="App"
           c:symbol-prefix="app"
           c:type="GeditApp"
           parent="Gtk.Application"
           glib:type-name="GeditApp"
           glib:get-type="gedit_app_get_type"
           glib:type-struct="AppClass">
      <source-position filename="gedit/gedit-app.h" line="55"/>
      <implements name="Gio.ActionGroup"/>
      <implements name="Gio.ActionMap"/>
      <virtual-method name="create_window" introspectable="0">
        <source-position filename="gedit/gedit-app.h" line="50"/>
        <return-value>
          <type name="Window" c:type="GeditWindow*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_help_uri">
        <source-position filename="gedit/gedit-app.h" line="42"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
          <parameter name="name_of_user_manual" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="link_id_within_user_manual"
                     transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="process_window_event">
        <source-position filename="gedit/gedit-app.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="GeditWindow*"/>
          </parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Gdk.Event" c:type="GdkEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_window_title">
        <source-position filename="gedit/gedit-app.h" line="46"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="GeditWindow*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="show_help" invoker="show_help">
        <doc xml:space="preserve"
             filename="gedit/gedit-app.c"
             line="1418">To show the user manual.

As a useful information to know, the gedit user documentation is currently
written in Mallard. As such, this functionality can easily be tested with
Yelp on Linux:

With @name_of_user_manual and @link_id_within_user_manual both %NULL, it is
equivalent to:

`$ yelp 'help:gedit'`

With @link_id_within_user_manual set to `"gedit-replace"` (a Mallard page
id):

`$ yelp 'help:gedit/gedit-replace'`

With @link_id_within_user_manual set to `"gedit-spellcheck#dict"` (it refers
to a section id within a page id):

`$ yelp 'help:gedit/gedit-spellcheck#dict'`</doc>
        <source-position filename="gedit/gedit-app.h" line="37"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-app.c"
               line="1448">whether the operation was successful.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app.c"
                 line="1420">a #GeditApp.</doc>
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
          <parameter name="parent_window"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app.c"
                 line="1421">the #GtkWindow where the request originates from.</doc>
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="name_of_user_manual"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app.c"
                 line="1422">%NULL for gedit's user manual, otherwise
  the name of another user manual (e.g., one from another application).</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="link_id_within_user_manual"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app.c"
                 line="1424">a link ID within the user manual, or
  %NULL to show its start page.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="create_window" c:identifier="gedit_app_create_window">
        <doc xml:space="preserve"
             filename="gedit/gedit-app.c"
             line="1301">Creates a new #GeditWindow part of @app.</doc>
        <source-position filename="gedit/gedit-app.h" line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-app.c"
               line="1308">the new #GeditWindow.</doc>
          <type name="Window" c:type="GeditWindow*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app.c"
                 line="1303">the #GeditApp.</doc>
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
          <parameter name="screen"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app.c"
                 line="1304">a #GdkScreen, or %NULL.</doc>
            <type name="Gdk.Screen" c:type="GdkScreen*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_documents" c:identifier="gedit_app_get_documents">
        <source-position filename="gedit/gedit-app.h" line="62"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="gedit/gedit-app.c"
               line="1366">a newly allocated
  list of all the #GeditDocument's currently part of @app.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Document"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app.c"
                 line="1364">the #GeditApp.</doc>
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_main_windows"
              c:identifier="gedit_app_get_main_windows">
        <doc xml:space="preserve"
             filename="gedit/gedit-app.c"
             line="1331">Returns all #GeditWindow's currently open in #GeditApp. This differs from
gtk_application_get_windows() since it does not include the preferences
dialog and other auxiliary windows.</doc>
        <source-position filename="gedit/gedit-app.h" line="60"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="gedit/gedit-app.c"
               line="1339">a newly allocated
  list of #GeditWindow objects.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Window"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app.c"
                 line="1333">the #GeditApp.</doc>
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_views" c:identifier="gedit_app_get_views">
        <source-position filename="gedit/gedit-app.h" line="64"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="gedit/gedit-app.c"
               line="1394">a newly allocated
  list of all the #GeditView's currently part of @app.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="View"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app.c"
                 line="1392">the #GeditApp.</doc>
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="show_help" c:identifier="gedit_app_show_help">
        <doc xml:space="preserve"
             filename="gedit/gedit-app.c"
             line="1418">To show the user manual.

As a useful information to know, the gedit user documentation is currently
written in Mallard. As such, this functionality can easily be tested with
Yelp on Linux:

With @name_of_user_manual and @link_id_within_user_manual both %NULL, it is
equivalent to:

`$ yelp 'help:gedit'`

With @link_id_within_user_manual set to `"gedit-replace"` (a Mallard page
id):

`$ yelp 'help:gedit/gedit-replace'`

With @link_id_within_user_manual set to `"gedit-spellcheck#dict"` (it refers
to a section id within a page id):

`$ yelp 'help:gedit/gedit-spellcheck#dict'`</doc>
        <source-position filename="gedit/gedit-app.h" line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-app.c"
               line="1448">whether the operation was successful.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app.c"
                 line="1420">a #GeditApp.</doc>
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
          <parameter name="parent_window"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app.c"
                 line="1421">the #GtkWindow where the request originates from.</doc>
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="name_of_user_manual"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app.c"
                 line="1422">%NULL for gedit's user manual, otherwise
  the name of another user manual (e.g., one from another application).</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="link_id_within_user_manual"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app.c"
                 line="1424">a link ID within the user manual, or
  %NULL to show its start page.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="Gtk.Application" c:type="GtkApplication"/>
      </field>
    </class>
    <interface name="AppActivatable"
               c:symbol-prefix="app_activatable"
               c:type="GeditAppActivatable"
               glib:type-name="GeditAppActivatable"
               glib:get-type="gedit_app_activatable_get_type"
               glib:type-struct="AppActivatableInterface">
      <source-position filename="gedit/gedit-app-activatable.h" line="41"/>
      <virtual-method name="activate" invoker="activate">
        <doc xml:space="preserve"
             filename="gedit/gedit-app-activatable.c"
             line="58">Activates the extension on the application.</doc>
        <source-position filename="gedit/gedit-app-activatable.h" line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app-activatable.c"
                 line="60">A #GeditAppActivatable.</doc>
            <type name="AppActivatable" c:type="GeditAppActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <doc xml:space="preserve"
             filename="gedit/gedit-app-activatable.c"
             line="79">Deactivates the extension from the application.</doc>
        <source-position filename="gedit/gedit-app-activatable.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app-activatable.c"
                 line="81">A #GeditAppActivatable.</doc>
            <type name="AppActivatable" c:type="GeditAppActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="activate" c:identifier="gedit_app_activatable_activate">
        <doc xml:space="preserve"
             filename="gedit/gedit-app-activatable.c"
             line="58">Activates the extension on the application.</doc>
        <source-position filename="gedit/gedit-app-activatable.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app-activatable.c"
                 line="60">A #GeditAppActivatable.</doc>
            <type name="AppActivatable" c:type="GeditAppActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="deactivate"
              c:identifier="gedit_app_activatable_deactivate">
        <doc xml:space="preserve"
             filename="gedit/gedit-app-activatable.c"
             line="79">Deactivates the extension from the application.</doc>
        <source-position filename="gedit/gedit-app-activatable.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app-activatable.c"
                 line="81">A #GeditAppActivatable.</doc>
            <type name="AppActivatable" c:type="GeditAppActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="extend_menu"
              c:identifier="gedit_app_activatable_extend_menu">
        <doc xml:space="preserve"
             filename="gedit/gedit-app-activatable.h"
             line="46">Gets the #GeditMenuExtension for the menu @extension_point. Note that
the extension point could be in different menus (gear menu, app menu, etc)
depending on the platform.</doc>
        <source-position filename="gedit/gedit-app-activatable.h" line="58"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gedit/gedit-app-activatable.h"
               line="55">a #GeditMenuExtension for the specific section
or %NULL if not found.</doc>
          <type name="MenuExtension" c:type="GeditMenuExtension*"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app-activatable.h"
                 line="48">A #GeditAppActivatable.</doc>
            <type name="AppActivatable" c:type="GeditAppActivatable*"/>
          </instance-parameter>
          <parameter name="extension_point" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app-activatable.h"
                 line="49">the extension point section of the menu to get.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="app"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gedit/gedit-app-activatable.c"
             line="42">The app property contains the gedit app for this
#GeditAppActivatable instance.</doc>
        <type name="App"/>
      </property>
    </interface>
    <record name="AppActivatableInterface"
            c:type="GeditAppActivatableInterface"
            glib:is-gtype-struct-for="AppActivatable">
      <source-position filename="gedit/gedit-app-activatable.h" line="41"/>
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <source-position filename="gedit/gedit-app-activatable.h" line="39"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gedit/gedit-app-activatable.c"
                   line="60">A #GeditAppActivatable.</doc>
              <type name="AppActivatable" c:type="GeditAppActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <source-position filename="gedit/gedit-app-activatable.h" line="40"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gedit/gedit-app-activatable.c"
                   line="81">A #GeditAppActivatable.</doc>
              <type name="AppActivatable" c:type="GeditAppActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="AppClass"
            c:type="GeditAppClass"
            glib:is-gtype-struct-for="App">
      <source-position filename="gedit/gedit-app.h" line="55"/>
      <field name="parent_class">
        <type name="Gtk.ApplicationClass" c:type="GtkApplicationClass"/>
      </field>
      <field name="show_help">
        <callback name="show_help">
          <source-position filename="gedit/gedit-app.h" line="37"/>
          <return-value transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app.c"
                 line="1448">whether the operation was successful.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="app" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gedit/gedit-app.c"
                   line="1420">a #GeditApp.</doc>
              <type name="App" c:type="GeditApp*"/>
            </parameter>
            <parameter name="parent_window"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="gedit/gedit-app.c"
                   line="1421">the #GtkWindow where the request originates from.</doc>
              <type name="Gtk.Window" c:type="GtkWindow*"/>
            </parameter>
            <parameter name="name_of_user_manual"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="gedit/gedit-app.c"
                   line="1422">%NULL for gedit's user manual, otherwise
  the name of another user manual (e.g., one from another application).</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="link_id_within_user_manual"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <doc xml:space="preserve"
                   filename="gedit/gedit-app.c"
                   line="1424">a link ID within the user manual, or
  %NULL to show its start page.</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_help_uri">
        <callback name="get_help_uri">
          <source-position filename="gedit/gedit-app.h" line="42"/>
          <return-value transfer-ownership="full">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="app" transfer-ownership="none">
              <type name="App" c:type="GeditApp*"/>
            </parameter>
            <parameter name="name_of_user_manual" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="link_id_within_user_manual"
                       transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_window_title">
        <callback name="set_window_title">
          <source-position filename="gedit/gedit-app.h" line="46"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="app" transfer-ownership="none">
              <type name="App" c:type="GeditApp*"/>
            </parameter>
            <parameter name="window" transfer-ownership="none">
              <type name="Window" c:type="GeditWindow*"/>
            </parameter>
            <parameter name="title" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="create_window" introspectable="0">
        <callback name="create_window" introspectable="0">
          <source-position filename="gedit/gedit-app.h" line="50"/>
          <return-value>
            <type name="Window" c:type="GeditWindow*"/>
          </return-value>
          <parameters>
            <parameter name="app" transfer-ownership="none">
              <type name="App" c:type="GeditApp*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="process_window_event">
        <callback name="process_window_event">
          <source-position filename="gedit/gedit-app.h" line="52"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="app" transfer-ownership="none">
              <type name="App" c:type="GeditApp*"/>
            </parameter>
            <parameter name="window" transfer-ownership="none">
              <type name="Window" c:type="GeditWindow*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Gdk.Event" c:type="GdkEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <bitfield name="DebugSection"
              glib:type-name="GeditDebugSection"
              glib:get-type="gedit_debug_section_get_type"
              c:type="GeditDebugSection">
      <doc xml:space="preserve"
           filename="gedit/gedit-debug.h"
           line="27">Enumeration of debug sections.

Debugging output for a section is enabled by setting an environment variable
of the same name. For example, setting the &lt;code&gt;GEDIT_DEBUG_PLUGINS&lt;/code&gt;
environment variable enables all debugging output for the %GEDIT_DEBUG_PLUGINS
section. Setting the special environment variable &lt;code&gt;GEDIT_DEBUG&lt;/code&gt;
enables output for all sections.</doc>
      <member name="no_debug"
              value="0"
              c:identifier="GEDIT_NO_DEBUG"
              glib:nick="no-debug"
              glib:name="GEDIT_NO_DEBUG">
      </member>
      <member name="debug_prefs"
              value="1"
              c:identifier="GEDIT_DEBUG_PREFS"
              glib:nick="debug-prefs"
              glib:name="GEDIT_DEBUG_PREFS">
      </member>
      <member name="debug_window"
              value="2"
              c:identifier="GEDIT_DEBUG_WINDOW"
              glib:nick="debug-window"
              glib:name="GEDIT_DEBUG_WINDOW">
      </member>
      <member name="debug_panel"
              value="4"
              c:identifier="GEDIT_DEBUG_PANEL"
              glib:nick="debug-panel"
              glib:name="GEDIT_DEBUG_PANEL">
      </member>
      <member name="debug_plugins"
              value="8"
              c:identifier="GEDIT_DEBUG_PLUGINS"
              glib:nick="debug-plugins"
              glib:name="GEDIT_DEBUG_PLUGINS">
      </member>
      <member name="debug_tab"
              value="16"
              c:identifier="GEDIT_DEBUG_TAB"
              glib:nick="debug-tab"
              glib:name="GEDIT_DEBUG_TAB">
      </member>
      <member name="debug_document"
              value="32"
              c:identifier="GEDIT_DEBUG_DOCUMENT"
              glib:nick="debug-document"
              glib:name="GEDIT_DEBUG_DOCUMENT">
      </member>
      <member name="debug_commands"
              value="64"
              c:identifier="GEDIT_DEBUG_COMMANDS"
              glib:nick="debug-commands"
              glib:name="GEDIT_DEBUG_COMMANDS">
      </member>
      <member name="debug_app"
              value="128"
              c:identifier="GEDIT_DEBUG_APP"
              glib:nick="debug-app"
              glib:name="GEDIT_DEBUG_APP">
      </member>
      <member name="debug_utils"
              value="256"
              c:identifier="GEDIT_DEBUG_UTILS"
              glib:nick="debug-utils"
              glib:name="GEDIT_DEBUG_UTILS">
      </member>
    </bitfield>
    <class name="Document"
           c:symbol-prefix="document"
           c:type="GeditDocument"
           parent="Tepl.Buffer"
           glib:type-name="GeditDocument"
           glib:get-type="gedit_document_get_type"
           glib:type-struct="DocumentClass">
      <source-position filename="gedit/gedit-document.h" line="49"/>
      <constructor name="new" c:identifier="gedit_document_new">
        <source-position filename="gedit/gedit-document.h" line="51"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gedit/gedit-document.c"
               line="647">a new #GeditDocument object.</doc>
          <type name="Document" c:type="GeditDocument*"/>
        </return-value>
      </constructor>
      <virtual-method name="load">
        <source-position filename="gedit/gedit-document.h" line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="loaded">
        <source-position filename="gedit/gedit-document.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="save">
        <source-position filename="gedit/gedit-document.h" line="46"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="saved">
        <source-position filename="gedit/gedit-document.h" line="48"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_content_type"
              c:identifier="gedit_document_get_content_type"
              glib:get-property="content-type">
        <source-position filename="gedit/gedit-document.h" line="55"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gedit/gedit-document.c"
               line="767">the value of the #GeditDocument:content-type
  property.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-document.c"
                 line="765">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_file"
              c:identifier="gedit_document_get_file"
              version="3.14">
        <doc xml:space="preserve"
             filename="gedit/gedit-document.c"
             line="1257">Gets the associated #GtkSourceFile. You should use it only for reading
purposes, not for creating a #GtkSourceFileLoader or #GtkSourceFileSaver,
because gedit does some extra work when loading or saving a file and
maintains an internal state. If you use in a plugin a file loader or saver on
the returned #GtkSourceFile, the internal state of gedit won't be updated.

If you want to save the #GeditDocument to a secondary file, you can create a
new #GtkSourceFile and use a #GtkSourceFileSaver.</doc>
        <source-position filename="gedit/gedit-document.h" line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-document.c"
               line="1270">the associated #GtkSourceFile.</doc>
          <type name="GtkSource.File" c:type="GtkSourceFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-document.c"
                 line="1259">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_metadata" c:identifier="gedit_document_get_metadata">
        <source-position filename="gedit/gedit-document.h" line="62"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gedit/gedit-document.c"
               line="1046">the metadata assigned to @key.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-document.c"
                 line="1043">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-document.c"
                 line="1044">the name of the key.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_mime_type"
              c:identifier="gedit_document_get_mime_type"
              glib:get-property="mime-type">
        <source-position filename="gedit/gedit-document.h" line="57"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gedit/gedit-document.c"
               line="786">the value of the
  #GeditDocument:mime-type property.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-document.c"
                 line="784">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_search_context"
              c:identifier="gedit_document_get_search_context">
        <doc xml:space="preserve"
             filename="gedit/gedit-document.c"
             line="1220">Gets the search context. Use this function only if you have used
gedit_document_set_search_context() before. You should not alter other search
contexts, so you have to verify that the returned search context is yours.
One way to verify that is to compare the search settings object, or to mark
the search context with g_object_set_data().</doc>
        <source-position filename="gedit/gedit-document.h" line="73"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gedit/gedit-document.c"
               line="1230">the current search context of the
  document, or NULL if there is no current search context.</doc>
          <type name="GtkSource.SearchContext"
                c:type="GtkSourceSearchContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-document.c"
                 line="1222">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_language" c:identifier="gedit_document_set_language">
        <doc xml:space="preserve"
             filename="gedit/gedit-document.c"
             line="995">Like gtk_source_buffer_set_language(), but this function is preferred.</doc>
        <source-position filename="gedit/gedit-document.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-document.c"
                 line="997">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
          <parameter name="lang"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-document.c"
                 line="998">a #GtkSourceLanguage.</doc>
            <type name="GtkSource.Language" c:type="GtkSourceLanguage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_metadata"
              c:identifier="gedit_document_set_metadata"
              introspectable="0">
        <doc xml:space="preserve"
             filename="gedit/gedit-document.c"
             line="1067">Sets metadata on a document.</doc>
        <source-position filename="gedit/gedit-document.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-document.c"
                 line="1069">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
          <parameter name="first_key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-document.c"
                 line="1070">the name of the first key to set.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-document.c"
                 line="1071">value for the first key, followed optionally by more key/value pairs,
  followed by %NULL.</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_search_context"
              c:identifier="gedit_document_set_search_context">
        <doc xml:space="preserve"
             filename="gedit/gedit-document.c"
             line="1158">Sets the new search context for the document. Use this function only when the
search occurrences are highlighted. So this function should not be used for
background searches. The purpose is to have only one highlighted search
context at a time in the document.

After using this function, you should unref the @search_context. The @doc
should be the only owner of the @search_context, so that the Clear Highlight
action works. If you need the @search_context after calling this function,
use gedit_document_get_search_context().</doc>
        <source-position filename="gedit/gedit-document.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-document.c"
                 line="1160">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
          <parameter name="search_context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-document.c"
                 line="1161">the new #GtkSourceSearchContext.</doc>
            <type name="GtkSource.SearchContext"
                  c:type="GtkSourceSearchContext*"/>
          </parameter>
        </parameters>
      </method>
      <property name="content-type"
                writable="1"
                transfer-ownership="none"
                getter="get_content_type"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gedit/gedit-document.c"
             line="328">The document's content type.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="empty-search"
                transfer-ownership="none"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="gedit/gedit-document.c"
             line="352">&lt;warning&gt;
The property is used internally by gedit. It must not be used in a
gedit plugin. The property can be modified or removed at any time.
&lt;/warning&gt;

Whether the search is empty.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="mime-type"
                transfer-ownership="none"
                getter="get_mime_type"
                default-value="text/plain">
        <doc xml:space="preserve"
             filename="gedit/gedit-document.c"
             line="340">The document's MIME type.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="Tepl.Buffer" c:type="TeplBuffer"/>
      </field>
      <glib:signal name="load" when="last">
        <doc xml:space="preserve"
             filename="gedit/gedit-document.c"
             line="371">The ::load signal is emitted at the beginning of a file loading.

Before gedit 3.14 this signal contained parameters to configure the
file loading (the location, encoding, etc). Plugins should not need
those parameters.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="loaded" when="first">
        <doc xml:space="preserve"
             filename="gedit/gedit-document.c"
             line="389">The ::loaded signal is emitted at the end of a successful file
loading.

Before gedit 3.14 this signal contained a #GError parameter, and the
signal was also emitted if an error occurred. Plugins should not need
the error parameter.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="save" when="last">
        <doc xml:space="preserve"
             filename="gedit/gedit-document.c"
             line="408">The ::save signal is emitted at the beginning of a file saving.

Before gedit 3.14 this signal contained parameters to configure the
file saving (the location, encoding, etc). Plugins should not need
those parameters.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="saved" when="first">
        <doc xml:space="preserve"
             filename="gedit/gedit-document.c"
             line="426">The ::saved signal is emitted at the end of a successful file saving.

Before gedit 3.14 this signal contained a #GError parameter, and the
signal was also emitted if an error occurred. To save a document, a
plugin can use the gedit_commands_save_document_async() function and
get the result of the operation with
gedit_commands_save_document_finish().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="DocumentClass"
            c:type="GeditDocumentClass"
            glib:is-gtype-struct-for="Document">
      <source-position filename="gedit/gedit-document.h" line="49"/>
      <field name="parent_class">
        <type name="Tepl.BufferClass" c:type="TeplBufferClass"/>
      </field>
      <field name="load">
        <callback name="load">
          <source-position filename="gedit/gedit-document.h" line="42"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="GeditDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="loaded">
        <callback name="loaded">
          <source-position filename="gedit/gedit-document.h" line="44"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="GeditDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save">
        <callback name="save">
          <source-position filename="gedit/gedit-document.h" line="46"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="GeditDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="saved">
        <callback name="saved">
          <source-position filename="gedit/gedit-document.h" line="48"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="GeditDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="EncodingsComboBox"
           c:symbol-prefix="encodings_combo_box"
           c:type="GeditEncodingsComboBox"
           parent="Gtk.ComboBox"
           glib:type-name="GeditEncodingsComboBox"
           glib:get-type="gedit_encodings_combo_box_get_type"
           glib:type-struct="EncodingsComboBoxClass">
      <source-position filename="gedit/gedit-encodings-combo-box.h" line="30"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.CellLayout"/>
      <constructor name="new" c:identifier="gedit_encodings_combo_box_new">
        <doc xml:space="preserve"
             filename="gedit/gedit-encodings-combo-box.c"
             line="351">Creates a new encodings combo box object. If @save_mode is %FALSE, it means
that the combo box is used for loading a content (e.g. a file), so the row
"Automatically Detected" is added. For saving a content, the encoding must be
provided.</doc>
        <source-position filename="gedit/gedit-encodings-combo-box.h"
                         line="32"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-encodings-combo-box.c"
               line="360">a new #GeditEncodingsComboBox object.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="save_mode" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-encodings-combo-box.c"
                 line="353">whether the combo box is used for saving a content.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_selected_encoding"
              c:identifier="gedit_encodings_combo_box_get_selected_encoding">
        <source-position filename="gedit/gedit-encodings-combo-box.h"
                         line="34"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-encodings-combo-box.c"
               line="374">the selected #GtkSourceEncoding, or %NULL if the encoding should be
auto-detected (only for loading mode, not for saving).</doc>
          <type name="GtkSource.Encoding" c:type="const GtkSourceEncoding*"/>
        </return-value>
        <parameters>
          <instance-parameter name="menu" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-encodings-combo-box.c"
                 line="372">a #GeditEncodingsComboBox.</doc>
            <type name="EncodingsComboBox" c:type="GeditEncodingsComboBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_selected_encoding"
              c:identifier="gedit_encodings_combo_box_set_selected_encoding">
        <doc xml:space="preserve"
             filename="gedit/gedit-encodings-combo-box.c"
             line="401">Sets the selected encoding.</doc>
        <source-position filename="gedit/gedit-encodings-combo-box.h"
                         line="36"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="menu" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-encodings-combo-box.c"
                 line="403">a #GeditEncodingsComboBox.</doc>
            <type name="EncodingsComboBox" c:type="GeditEncodingsComboBox*"/>
          </instance-parameter>
          <parameter name="encoding" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-encodings-combo-box.c"
                 line="404">the #GtkSourceEncoding.</doc>
            <type name="GtkSource.Encoding" c:type="const GtkSourceEncoding*"/>
          </parameter>
        </parameters>
      </method>
      <property name="save-mode"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="FALSE">
        <doc xml:space="preserve"
             filename="gedit/gedit-encodings-combo-box.c"
             line="143">Whether the combo box should be used for saving a content. If
%FALSE, the combo box is used for loading a content (e.g. a file)
and the row "Automatically Detected" is added.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="EncodingsComboBoxClass"
            c:type="GeditEncodingsComboBoxClass"
            glib:is-gtype-struct-for="EncodingsComboBox">
      <source-position filename="gedit/gedit-encodings-combo-box.h" line="30"/>
      <field name="parent_class">
        <type name="Gtk.ComboBoxClass" c:type="GtkComboBoxClass"/>
      </field>
    </record>
    <function-macro name="IS_MESSAGE"
                    c:identifier="GEDIT_IS_MESSAGE"
                    introspectable="0">
      <source-position filename="gedit/gedit-message.h" line="34"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_MESSAGE_BUS"
                    c:identifier="GEDIT_IS_MESSAGE_BUS"
                    introspectable="0">
      <source-position filename="gedit/gedit-message-bus.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_MESSAGE_BUS_CLASS"
                    c:identifier="GEDIT_IS_MESSAGE_BUS_CLASS"
                    introspectable="0">
      <source-position filename="gedit/gedit-message-bus.h" line="36"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_MESSAGE_CLASS"
                    c:identifier="GEDIT_IS_MESSAGE_CLASS"
                    introspectable="0">
      <source-position filename="gedit/gedit-message.h" line="35"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_VIEW"
                    c:identifier="GEDIT_IS_VIEW"
                    introspectable="0">
      <source-position filename="gedit/gedit-view.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_VIEW_CLASS"
                    c:identifier="GEDIT_IS_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="gedit/gedit-view.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WINDOW"
                    c:identifier="GEDIT_IS_WINDOW"
                    introspectable="0">
      <source-position filename="gedit/gedit-window.h" line="54"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WINDOW_CLASS"
                    c:identifier="GEDIT_IS_WINDOW_CLASS"
                    introspectable="0">
      <source-position filename="gedit/gedit-window.h" line="55"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MESSAGE"
                    c:identifier="GEDIT_MESSAGE"
                    introspectable="0">
      <source-position filename="gedit/gedit-message.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MESSAGE_BUS"
                    c:identifier="GEDIT_MESSAGE_BUS"
                    introspectable="0">
      <source-position filename="gedit/gedit-message-bus.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MESSAGE_BUS_CLASS"
                    c:identifier="GEDIT_MESSAGE_BUS_CLASS"
                    introspectable="0">
      <source-position filename="gedit/gedit-message-bus.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MESSAGE_BUS_CONST"
                    c:identifier="GEDIT_MESSAGE_BUS_CONST"
                    introspectable="0">
      <source-position filename="gedit/gedit-message-bus.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MESSAGE_BUS_GET_CLASS"
                    c:identifier="GEDIT_MESSAGE_BUS_GET_CLASS"
                    introspectable="0">
      <source-position filename="gedit/gedit-message-bus.h" line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MESSAGE_CLASS"
                    c:identifier="GEDIT_MESSAGE_CLASS"
                    introspectable="0">
      <source-position filename="gedit/gedit-message.h" line="33"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MESSAGE_CONST"
                    c:identifier="GEDIT_MESSAGE_CONST"
                    introspectable="0">
      <source-position filename="gedit/gedit-message.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MESSAGE_GET_CLASS"
                    c:identifier="GEDIT_MESSAGE_GET_CLASS"
                    introspectable="0">
      <source-position filename="gedit/gedit-message.h" line="36"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="MenuExtension"
           c:symbol-prefix="menu_extension"
           c:type="GeditMenuExtension"
           parent="GObject.Object"
           glib:type-name="GeditMenuExtension"
           glib:get-type="gedit_menu_extension_get_type"
           glib:type-struct="MenuExtensionClass">
      <source-position filename="gedit/gedit-menu-extension.h" line="31"/>
      <constructor name="new" c:identifier="gedit_menu_extension_new">
        <source-position filename="gedit/gedit-menu-extension.h" line="33"/>
        <return-value transfer-ownership="full">
          <type name="MenuExtension" c:type="GeditMenuExtension*"/>
        </return-value>
        <parameters>
          <parameter name="menu" transfer-ownership="none">
            <type name="Gio.Menu" c:type="GMenu*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="append_menu_item"
              c:identifier="gedit_menu_extension_append_menu_item">
        <source-position filename="gedit/gedit-menu-extension.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="menu" transfer-ownership="none">
            <type name="MenuExtension" c:type="GeditMenuExtension*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gio.MenuItem" c:type="GMenuItem*"/>
          </parameter>
        </parameters>
      </method>
      <method name="prepend_menu_item"
              c:identifier="gedit_menu_extension_prepend_menu_item">
        <source-position filename="gedit/gedit-menu-extension.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="menu" transfer-ownership="none">
            <type name="MenuExtension" c:type="GeditMenuExtension*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gio.MenuItem" c:type="GMenuItem*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_items"
              c:identifier="gedit_menu_extension_remove_items">
        <source-position filename="gedit/gedit-menu-extension.h" line="41"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="menu" transfer-ownership="none">
            <type name="MenuExtension" c:type="GeditMenuExtension*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="menu"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gio.Menu"/>
      </property>
    </class>
    <record name="MenuExtensionClass"
            c:type="GeditMenuExtensionClass"
            glib:is-gtype-struct-for="MenuExtension">
      <source-position filename="gedit/gedit-menu-extension.h" line="31"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="Message"
           c:symbol-prefix="message"
           c:type="GeditMessage"
           parent="GObject.Object"
           glib:type-name="GeditMessage"
           glib:get-type="gedit_message_get_type"
           glib:type-struct="MessageClass">
      <source-position filename="gedit/gedit-message.h" line="52"/>
      <function name="is_valid_object_path"
                c:identifier="gedit_message_is_valid_object_path">
        <doc xml:space="preserve"
             filename="gedit/gedit-message.c"
             line="198">Returns whether @object_path is a valid object path</doc>
        <source-position filename="gedit/gedit-message.h" line="69"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-message.c"
               line="204">%TRUE if @object_path is a valid object path</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object_path"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message.c"
                 line="200">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="type_check" c:identifier="gedit_message_type_check">
        <source-position filename="gedit/gedit-message.h" line="62"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="gtype" transfer-ownership="none">
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="propname" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value_type" transfer-ownership="none">
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </function>
      <function name="type_has" c:identifier="gedit_message_type_has">
        <source-position filename="gedit/gedit-message.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="gtype" transfer-ownership="none">
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="propname" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="type_identifier"
                c:identifier="gedit_message_type_identifier">
        <doc xml:space="preserve"
             filename="gedit/gedit-message.c"
             line="243">Get the string identifier for @method at @object_path.</doc>
        <source-position filename="gedit/gedit-message.h" line="70"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gedit/gedit-message.c"
               line="250">the identifier for @method at @object_path</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="object_path"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message.c"
                 line="245">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message.c"
                 line="246">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_method"
              c:identifier="gedit_message_get_method"
              glib:get-property="method">
        <doc xml:space="preserve"
             filename="gedit/gedit-message.c"
             line="164">Get the message method.</doc>
        <source-position filename="gedit/gedit-message.h" line="57"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-message.c"
               line="170">the message method</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message.c"
                 line="166">the #GeditMessage</doc>
            <type name="Message" c:type="GeditMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_object_path"
              c:identifier="gedit_message_get_object_path"
              glib:get-property="object-path">
        <doc xml:space="preserve"
             filename="gedit/gedit-message.c"
             line="181">Get the message object path.</doc>
        <source-position filename="gedit/gedit-message.h" line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-message.c"
               line="187">the message object path</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message.c"
                 line="183">the #GeditMessage</doc>
            <type name="Message" c:type="GeditMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has" c:identifier="gedit_message_has">
        <doc xml:space="preserve"
             filename="gedit/gedit-message.c"
             line="260">Check if a message has a certain property.</doc>
        <source-position filename="gedit/gedit-message.h" line="66"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-message.c"
               line="267">%TRUE if message has @propname, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message.c"
                 line="262">the #GeditMessage</doc>
            <type name="Message" c:type="GeditMessage*"/>
          </instance-parameter>
          <parameter name="propname" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message.c"
                 line="263">the property name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="method"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_method"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gedit/gedit-message.c"
             line="142">The messages method.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="object-path"
                writable="1"
                construct="1"
                transfer-ownership="none"
                getter="get_object_path"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="MessagePrivate" c:type="GeditMessagePrivate*"/>
      </field>
    </class>
    <class name="MessageBus"
           c:symbol-prefix="message_bus"
           c:type="GeditMessageBus"
           parent="GObject.Object"
           glib:type-name="GeditMessageBus"
           glib:get-type="gedit_message_bus_get_type"
           glib:type-struct="MessageBusClass">
      <source-position filename="gedit/gedit-message-bus.h" line="62"/>
      <constructor name="new" c:identifier="gedit_message_bus_new">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="624">Create a new message bus. Use gedit_message_bus_get_default() to get the
default, application wide, message bus. Creating a new bus is useful for
associating a specific bus with for instance a #GeditWindow.</doc>
        <source-position filename="gedit/gedit-message-bus.h" line="75"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gedit/gedit-message-bus.c"
               line="631">a new #GeditMessageBus</doc>
          <type name="MessageBus" c:type="GeditMessageBus*"/>
        </return-value>
      </constructor>
      <function name="get_default"
                c:identifier="gedit_message_bus_get_default">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="600">Get the default application #GeditMessageBus.</doc>
        <source-position filename="gedit/gedit-message-bus.h" line="74"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-message-bus.c"
               line="605">the default #GeditMessageBus</doc>
          <type name="MessageBus" c:type="GeditMessageBus*"/>
        </return-value>
      </function>
      <virtual-method name="dispatch">
        <source-position filename="gedit/gedit-message-bus.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <type name="Message" c:type="GeditMessage*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="registered">
        <source-position filename="gedit/gedit-message-bus.h" line="56"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="unregistered">
        <source-position filename="gedit/gedit-message-bus.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="block" c:identifier="gedit_message_bus_block">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="983">Blocks evoking the callback specified by @id. Unblock the callback by
using gedit_message_bus_unblock().</doc>
        <source-position filename="gedit/gedit-message-bus.h" line="117"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="985">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="986">the callback id</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="block_by_func"
              c:identifier="gedit_message_bus_block_by_func">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="1001">Blocks evoking the callback that matches provided @callback and @user_data.
Unblock the callback using gedit_message_bus_unblock_by_func().</doc>
        <source-position filename="gedit/gedit-message-bus.h" line="119"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1003">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1004">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1005">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1006">the callback to block</doc>
            <type name="MessageCallback" c:type="GeditMessageCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1007">the user_data with which the callback was connected</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="connect" c:identifier="gedit_message_bus_connect">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="899">Connect a callback handler to be evoked when message @method at @object_path
is sent over the bus.</doc>
        <source-position filename="gedit/gedit-message-bus.h" line="101"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-message-bus.c"
               line="912">the callback identifier</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="901">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="902">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="903">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="notified"
                     closure="3"
                     destroy="4">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="904">function to be called when message @method at @object_path is sent</doc>
            <type name="MessageCallback" c:type="GeditMessageCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="905">user_data to use for the callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="906">function to evoke with @user_data as argument when @user_data
               needs to be freed</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="disconnect" c:identifier="gedit_message_bus_disconnect">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="936">Disconnects a previously connected message callback.</doc>
        <source-position filename="gedit/gedit-message-bus.h" line="108"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="938">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="939">the callback id as returned by gedit_message_bus_connect()</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="disconnect_by_func"
              c:identifier="gedit_message_bus_disconnect_by_func">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="953">Disconnects a previously connected message callback by matching the
provided callback function and user_data. See also
gedit_message_bus_disconnect().</doc>
        <source-position filename="gedit/gedit-message-bus.h" line="111"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="955">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="956">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="957">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="958">the connected callback</doc>
            <type name="MessageCallback" c:type="GeditMessageCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="959">the user_data with which the callback was connected</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="foreach" c:identifier="gedit_message_bus_foreach">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="877">Calls @func for each message type registered on the bus</doc>
        <source-position filename="gedit/gedit-message-bus.h" line="97"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="879">the #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="call"
                     closure="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="880">the callback function</doc>
            <type name="MessageBusForeach" c:type="GeditMessageBusForeach"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="881">the user data to supply to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_registered"
              c:identifier="gedit_message_bus_is_registered">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="829">Check whether a message type @method at @object_path is registered on the
bus.</doc>
        <source-position filename="gedit/gedit-message-bus.h" line="93"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-message-bus.c"
               line="838">%TRUE if the @method at @object_path is a registered message
              type on the bus</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="831">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="832">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="833">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup" c:identifier="gedit_message_bus_lookup">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="640">Get the registered #GeditMessageType for @method at @object_path. The
returned #GeditMessageType is owned by the bus and should not be unreffed.</doc>
        <source-position filename="gedit/gedit-message-bus.h" line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-message-bus.c"
               line="649">the registered #GeditMessageType or %NULL if no message type
              is registered for @method at @object_path</doc>
          <type name="GType" c:type="GType"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="642">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="643">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="644">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="register" c:identifier="gedit_message_bus_register">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="679">Register a message on the bus. A message must be registered on the bus before
it can be send. This function registers the type for @method at
@object_path.

This function emits a #GeditMessageBus::registered signal.</doc>
        <source-position filename="gedit/gedit-message-bus.h" line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="681">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="682">the message type</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="683">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="684">the method to register</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="send"
              c:identifier="gedit_message_bus_send"
              introspectable="0">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="1171">This provides a convenient way to quickly send a message @method at
@object_path asynchronously over the bus. The variable argument list
specifies key (string) value pairs used to construct the message arguments.
To send a message synchronously use gedit_message_bus_send_sync().</doc>
        <source-position filename="gedit/gedit-message-bus.h" line="138"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1173">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1174">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1175">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="first_property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1176">the first property</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1177">NULL terminated list of key/value pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="send_message"
              c:identifier="gedit_message_bus_send_message">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="1091">This sends the provided @message asynchronously over the bus. To send
a message synchronously, use gedit_message_bus_send_message_sync(). The
convenience function gedit_message_bus_send() can be used to easily send
a message without constructing the message object explicitly first.</doc>
        <source-position filename="gedit/gedit-message-bus.h" line="133"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1093">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1094">the message to send</doc>
            <type name="Message" c:type="GeditMessage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_message_sync"
              c:identifier="gedit_message_bus_send_message_sync">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="1112">This sends the provided @message synchronously over the bus. To send
a message asynchronously, use gedit_message_bus_send_message(). The
convenience function gedit_message_bus_send_sync() can be used to easily send
a message without constructing the message object explicitly first.</doc>
        <source-position filename="gedit/gedit-message-bus.h" line="135"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1114">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1115">the message to send</doc>
            <type name="Message" c:type="GeditMessage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_sync"
              c:identifier="gedit_message_bus_send_sync"
              introspectable="0">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="1215">This provides a convenient way to quickly send a message @method at
@object_path synchronously over the bus. The variable argument list
specifies key (string) value pairs used to construct the message
arguments. To send a message asynchronously use gedit_message_bus_send().</doc>
        <source-position filename="gedit/gedit-message-bus.h" line="144"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="gedit/gedit-message-bus.c"
               line="1228">the constructed #GeditMessage.
              The caller owns a reference to the #GeditMessage and should
              call g_object_unref() when it is no longer needed.</doc>
          <type name="Message" c:type="GeditMessage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1217">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1218">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1219">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="first_property" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1220">the first property</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..."
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1221">%NULL terminated list of key/value pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="unblock" c:identifier="gedit_message_bus_unblock">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="1030">Unblocks the callback specified by @id.</doc>
        <source-position filename="gedit/gedit-message-bus.h" line="125"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1032">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1033">the callback id</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="unblock_by_func"
              c:identifier="gedit_message_bus_unblock_by_func">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="1047">Unblocks the callback that matches provided @callback and @user_data.</doc>
        <source-position filename="gedit/gedit-message-bus.h" line="127"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1049">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1050">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1051">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1052">the callback to block</doc>
            <type name="MessageCallback" c:type="GeditMessageCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="1053">the user_data with which the callback was connected</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="unregister" c:identifier="gedit_message_bus_unregister">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="752">Unregisters a previously registered message type. This is especially useful
for plugins which should unregister message types when they are deactivated.

This function emits the #GeditMessageBus::unregistered signal.</doc>
        <source-position filename="gedit/gedit-message-bus.h" line="86"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="754">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="755">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="756">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unregister_all"
              c:identifier="gedit_message_bus_unregister_all">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="803">Unregisters all message types for @object_path. This is especially useful for
plugins which should unregister message types when they are deactivated.

This function emits the #GeditMessageBus::unregistered signal for all
unregistered message types.</doc>
        <source-position filename="gedit/gedit-message-bus.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="805">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="806">the object path</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="MessageBusPrivate" c:type="GeditMessageBusPrivate*"/>
      </field>
      <glib:signal name="dispatch" when="last">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="267">The "dispatch" signal is emitted when a message is to be dispatched.
The message is dispatched in the default handler of this signal.
Primary use of this signal is to customize the dispatch of a message
(for instance to automatically dispatch all messages over DBus).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="270">the #GeditMessage to dispatch</doc>
            <type name="Message"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="registered" when="last">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="288">The "registered" signal is emitted when a message has been registered
on the bus.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="291">the registered object path.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="292">the registered method</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="unregistered" when="last">
        <doc xml:space="preserve"
             filename="gedit/gedit-message-bus.c"
             line="309">The "unregistered" signal is emitted when a message has been
unregistered from the bus.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="312">the unregistered object path.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-message-bus.c"
                 line="313">the unregistered method</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="MessageBusClass"
            c:type="GeditMessageBusClass"
            glib:is-gtype-struct-for="MessageBus">
      <source-position filename="gedit/gedit-message-bus.h" line="62"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="dispatch">
        <callback name="dispatch">
          <source-position filename="gedit/gedit-message-bus.h" line="54"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="bus" transfer-ownership="none">
              <type name="MessageBus" c:type="GeditMessageBus*"/>
            </parameter>
            <parameter name="message" transfer-ownership="none">
              <type name="Message" c:type="GeditMessage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="registered">
        <callback name="registered">
          <source-position filename="gedit/gedit-message-bus.h" line="56"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="bus" transfer-ownership="none">
              <type name="MessageBus" c:type="GeditMessageBus*"/>
            </parameter>
            <parameter name="object_path" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="method" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="unregistered">
        <callback name="unregistered">
          <source-position filename="gedit/gedit-message-bus.h" line="59"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="bus" transfer-ownership="none">
              <type name="MessageBus" c:type="GeditMessageBus*"/>
            </parameter>
            <parameter name="object_path" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="method" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <callback name="MessageBusForeach" c:type="GeditMessageBusForeach">
      <source-position filename="gedit/gedit-message-bus.h" line="68"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="object_path" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="method" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="MessageBusPrivate"
            c:type="GeditMessageBusPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gedit/gedit-message-bus.h" line="41"/>
    </record>
    <callback name="MessageCallback" c:type="GeditMessageCallback">
      <doc xml:space="preserve"
           filename="gedit/gedit-message-bus.c"
           line="29">Callback signature used for connecting callback functions to be called
when a message is received (see gedit_message_bus_connect()).</doc>
      <source-position filename="gedit/gedit-message-bus.h" line="64"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="bus" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-message-bus.c"
               line="31">the #GeditMessageBus on which the message was sent</doc>
          <type name="MessageBus" c:type="GeditMessageBus*"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-message-bus.c"
               line="32">the #GeditMessage which was sent</doc>
          <type name="Message" c:type="GeditMessage*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve"
               filename="gedit/gedit-message-bus.c"
               line="33">the supplied user data when connecting the callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="MessageClass"
            c:type="GeditMessageClass"
            glib:is-gtype-struct-for="Message">
      <source-position filename="gedit/gedit-message.h" line="52"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="MessagePrivate"
            c:type="GeditMessagePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gedit/gedit-message.h" line="40"/>
    </record>
    <class name="Statusbar"
           c:symbol-prefix="statusbar"
           c:type="GeditStatusbar"
           parent="Gtk.Statusbar"
           glib:type-name="GeditStatusbar"
           glib:get-type="gedit_statusbar_get_type"
           glib:type-struct="StatusbarClass">
      <source-position filename="gedit/gedit-statusbar.h" line="31"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <method name="flash_message"
              c:identifier="gedit_statusbar_flash_message"
              introspectable="0">
        <doc xml:space="preserve"
             filename="gedit/gedit-statusbar.c"
             line="206">Flash a temporary message on the statusbar.</doc>
        <source-position filename="gedit/gedit-statusbar.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="statusbar" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-statusbar.c"
                 line="208">a #GeditStatusbar</doc>
            <type name="Statusbar" c:type="GeditStatusbar*"/>
          </instance-parameter>
          <parameter name="context_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-statusbar.c"
                 line="209">message context_id</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-statusbar.c"
                 line="210">message to flash on the statusbar</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-statusbar.c"
                 line="211">the arguments to insert in @format</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="StatusbarClass"
            c:type="GeditStatusbarClass"
            glib:is-gtype-struct-for="Statusbar">
      <source-position filename="gedit/gedit-statusbar.h" line="31"/>
      <field name="parent_class">
        <type name="Gtk.StatusbarClass" c:type="GtkStatusbarClass"/>
      </field>
    </record>
    <class name="Tab"
           c:symbol-prefix="tab"
           c:type="GeditTab"
           parent="Gtk.Box"
           glib:type-name="GeditTab"
           glib:get-type="gedit_tab_get_type"
           glib:type-struct="TabClass">
      <source-position filename="gedit/gedit-tab.h" line="69"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <function name="get_from_document"
                c:identifier="gedit_tab_get_from_document">
        <source-position filename="gedit/gedit-tab.h" line="89"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gedit/gedit-tab.c"
               line="1461">the #GeditTab associated with @doc.</doc>
          <type name="Tab" c:type="GeditTab*"/>
        </return-value>
        <parameters>
          <parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="1459">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_auto_save_enabled"
              c:identifier="gedit_tab_get_auto_save_enabled">
        <source-position filename="gedit/gedit-tab.h" line="93"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-tab.c"
               line="2884">the value of the #GeditTab:autosave property.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="2882">a #GeditTab.</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_auto_save_interval"
              c:identifier="gedit_tab_get_auto_save_interval">
        <source-position filename="gedit/gedit-tab.h" line="98"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-tab.c"
               line="2928">the value of the #GeditTab:autosave-interval property.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="2926">a #GeditTab.</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_document" c:identifier="gedit_tab_get_document">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.c"
             line="1318">Convenience function. It is equivalent to call gedit_tab_get_view() followed
by gtk_text_view_get_buffer().</doc>
        <source-position filename="gedit/gedit-tab.h" line="87"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-tab.c"
               line="1325">the #GeditDocument associated to @tab.</doc>
          <type name="Document" c:type="GeditDocument*"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="1320">a #GeditTab.</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_state"
              c:identifier="gedit_tab_get_state"
              glib:get-property="state">
        <source-position filename="gedit/gedit-tab.h" line="91"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-tab.c"
               line="461">the current #GeditTabState of @tab.</doc>
          <type name="TabState" c:type="GeditTabState"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="459">a #GeditTab.</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_view" c:identifier="gedit_tab_get_view">
        <source-position filename="gedit/gedit-tab.h" line="84"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-tab.c"
               line="1308">the #GeditView of @tab.</doc>
          <type name="View" c:type="GeditView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="1306">a #GeditTab.</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="load_file" c:identifier="gedit_tab_load_file" version="45">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.c"
             line="1954">This function tries to load @location into @tab. It is usually called only on
a newly-created tab.

If @location doesn't exist, the behavior depends on @create:
- If @create is %FALSE, an error is shown.
- If @create is %TRUE, an empty #GeditDocument is created without error (but
  the file is not yet created on disk).

The @tab needs to be in %GEDIT_TAB_STATE_NORMAL. The previous
#GtkTextBuffer's content is lost.</doc>
        <source-position filename="gedit/gedit-tab.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="1956">a #GeditTab.</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
          <parameter name="location" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="1957">the #GFile to load.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="encoding"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="1958">a #GtkSourceEncoding, or %NULL.</doc>
            <type name="GtkSource.Encoding" c:type="const GtkSourceEncoding*"/>
          </parameter>
          <parameter name="line_pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="1959">the line position to visualize.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="column_pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="1960">the column position to visualize.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="create" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="1961">%TRUE to show no errors if @location doesn't exist.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_stream"
              c:identifier="gedit_tab_load_stream"
              version="45">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.c"
             line="2051">Loads @stream into @tab. This function is usually called only on a
newly-created tab.

The @tab needs to be in %GEDIT_TAB_STATE_NORMAL. The previous
#GtkTextBuffer's content is lost.</doc>
        <source-position filename="gedit/gedit-tab.h" line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="2053">a #GeditTab.</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="2054">the #GInputStream to load, e.g. stdin.</doc>
            <type name="Gio.InputStream" c:type="GInputStream*"/>
          </parameter>
          <parameter name="encoding"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="2055">a #GtkSourceEncoding, or %NULL.</doc>
            <type name="GtkSource.Encoding" c:type="const GtkSourceEncoding*"/>
          </parameter>
          <parameter name="line_pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="2056">the line position to visualize.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="column_pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="2057">the column position to visualize.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_auto_save_enabled"
              c:identifier="gedit_tab_set_auto_save_enabled">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.c"
             line="2896">Sets the #GeditTab:autosave property.

It does not install an autosave timeout if the document is new or is
read-only.</doc>
        <source-position filename="gedit/gedit-tab.h" line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="2898">a #GeditTab.</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
          <parameter name="enable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="2899">the new value.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_auto_save_interval"
              c:identifier="gedit_tab_set_auto_save_interval">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.c"
             line="2940">Sets the #GeditTab:autosave-interval property.</doc>
        <source-position filename="gedit/gedit-tab.h" line="100"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="2942">a #GeditTab.</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
          <parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="2943">the new value.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_info_bar" c:identifier="gedit_tab_set_info_bar">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.c"
             line="2964">Sets the #GtkInfoBar of @tab. Note that there can be only one #GtkInfoBar per
#GeditTab. If there was already an infobar set, it is destroyed and replaced
by the new one.

See also #TeplInfoBar, it permits to create a #GtkInfoBar more easily.</doc>
        <source-position filename="gedit/gedit-tab.h" line="103"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="2966">a #GeditTab.</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
          <parameter name="info_bar" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-tab.c"
                 line="2967">a #GtkInfoBar.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="autosave"
                writable="1"
                transfer-ownership="none"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.c"
             line="416">Whether the autosave feature is enabled.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="autosave-interval"
                writable="1"
                transfer-ownership="none"
                default-value="0">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.c"
             line="428">Time in minutes between two autosaves.</doc>
        <type name="gint" c:type="gint"/>
      </property>
      <property name="can-close"
                transfer-ownership="none"
                default-value="TRUE">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.c"
             line="442">Whether the tab can be closed.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="name"
                deprecated="1"
                deprecated-version="47"
                transfer-ownership="none"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.c"
             line="386">The tab's name.</doc>
        <doc-deprecated xml:space="preserve">Use the #TeplBuffer:tepl-short-title property
  instead.</doc-deprecated>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="state"
                transfer-ownership="none"
                getter="get_state"
                default-value="GEDIT_TAB_STATE_NORMAL">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.c"
             line="403">The state of the #GeditTab.</doc>
        <type name="TabState"/>
      </property>
    </class>
    <record name="TabClass"
            c:type="GeditTabClass"
            glib:is-gtype-struct-for="Tab">
      <source-position filename="gedit/gedit-tab.h" line="69"/>
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
    </record>
    <enumeration name="TabState"
                 glib:type-name="GeditTabState"
                 glib:get-type="gedit_tab_state_get_type"
                 c:type="GeditTabState">
      <doc xml:space="preserve"
           filename="gedit/gedit-tab.h"
           line="30">The state of a #GeditTab. Note that the enumerators are not flags, so they
cannot be combined. A #GeditTab is in only one state at a time.</doc>
      <member name="normal"
              value="0"
              c:identifier="GEDIT_TAB_STATE_NORMAL"
              glib:nick="normal"
              glib:name="GEDIT_TAB_STATE_NORMAL">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.h"
             line="32">Normal state.</doc>
      </member>
      <member name="loading"
              value="1"
              c:identifier="GEDIT_TAB_STATE_LOADING"
              glib:nick="loading"
              glib:name="GEDIT_TAB_STATE_LOADING">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.h"
             line="33">Loading.</doc>
      </member>
      <member name="reverting"
              value="2"
              c:identifier="GEDIT_TAB_STATE_REVERTING"
              glib:nick="reverting"
              glib:name="GEDIT_TAB_STATE_REVERTING">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.h"
             line="34">Reverting.</doc>
      </member>
      <member name="saving"
              value="3"
              c:identifier="GEDIT_TAB_STATE_SAVING"
              glib:nick="saving"
              glib:name="GEDIT_TAB_STATE_SAVING">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.h"
             line="35">Saving.</doc>
      </member>
      <member name="printing"
              value="4"
              c:identifier="GEDIT_TAB_STATE_PRINTING"
              glib:nick="printing"
              glib:name="GEDIT_TAB_STATE_PRINTING">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.h"
             line="36">Printing.</doc>
      </member>
      <member name="showing_print_preview"
              value="5"
              c:identifier="GEDIT_TAB_STATE_SHOWING_PRINT_PREVIEW"
              glib:nick="showing-print-preview"
              glib:name="GEDIT_TAB_STATE_SHOWING_PRINT_PREVIEW">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.h"
             line="37">Showing print preview.</doc>
      </member>
      <member name="loading_error"
              value="6"
              c:identifier="GEDIT_TAB_STATE_LOADING_ERROR"
              glib:nick="loading-error"
              glib:name="GEDIT_TAB_STATE_LOADING_ERROR">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.h"
             line="38">There is a loading error.</doc>
      </member>
      <member name="reverting_error"
              value="7"
              c:identifier="GEDIT_TAB_STATE_REVERTING_ERROR"
              glib:nick="reverting-error"
              glib:name="GEDIT_TAB_STATE_REVERTING_ERROR">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.h"
             line="39">There is a reverting error.</doc>
      </member>
      <member name="saving_error"
              value="8"
              c:identifier="GEDIT_TAB_STATE_SAVING_ERROR"
              glib:nick="saving-error"
              glib:name="GEDIT_TAB_STATE_SAVING_ERROR">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.h"
             line="40">There is a saving error.</doc>
      </member>
      <member name="generic_error"
              value="9"
              c:identifier="GEDIT_TAB_STATE_GENERIC_ERROR"
              glib:nick="generic-error"
              glib:name="GEDIT_TAB_STATE_GENERIC_ERROR">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.h"
             line="41">There is another kind of error.</doc>
      </member>
      <member name="closing"
              value="10"
              c:identifier="GEDIT_TAB_STATE_CLOSING"
              glib:nick="closing"
              glib:name="GEDIT_TAB_STATE_CLOSING">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.h"
             line="42">Closing.</doc>
      </member>
      <member name="externally_modified_notification"
              value="11"
              c:identifier="GEDIT_TAB_STATE_EXTERNALLY_MODIFIED_NOTIFICATION"
              glib:nick="externally-modified-notification"
              glib:name="GEDIT_TAB_STATE_EXTERNALLY_MODIFIED_NOTIFICATION">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.h"
             line="43">There is a notification
  about the document being externally modified.</doc>
      </member>
    </enumeration>
    <function-macro name="VIEW" c:identifier="GEDIT_VIEW" introspectable="0">
      <source-position filename="gedit/gedit-view.h" line="31"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="VIEW_CLASS"
                    c:identifier="GEDIT_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="gedit/gedit-view.h" line="32"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="VIEW_GET_CLASS"
                    c:identifier="GEDIT_VIEW_GET_CLASS"
                    introspectable="0">
      <source-position filename="gedit/gedit-view.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="View"
           c:symbol-prefix="view"
           c:type="GeditView"
           parent="Tepl.View"
           glib:type-name="GeditView"
           glib:get-type="gedit_view_get_type"
           glib:type-struct="ViewClass">
      <source-position filename="gedit/gedit-view.h" line="57"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="gedit_view_new">
        <doc xml:space="preserve"
             filename="gedit/gedit-view.c"
             line="609">Creates a new #GeditView object displaying @doc. @doc cannot be %NULL.</doc>
        <source-position filename="gedit/gedit-view.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-view.c"
               line="615">a new #GeditView.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-view.c"
                 line="611">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="drop_uris">
        <source-position filename="gedit/gedit-view.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="GeditView*"/>
          </instance-parameter>
          <parameter name="uri_list" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </virtual-method>
      <field name="view">
        <type name="Tepl.View" c:type="TeplView"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ViewPrivate" c:type="GeditViewPrivate*"/>
      </field>
      <glib:signal name="drop-uris" when="last" action="1">
        <doc xml:space="preserve"
             filename="gedit/gedit-view.c"
             line="507">The #GeditView::drop-uris signal allows plugins to intercept the
default drag-and-drop behaviour of 'text/uri-list'. #GeditView
handles drag-and-drop in the default handlers of
#GtkWidget::drag-drop, #GtkWidget::drag-motion and
#GtkWidget::drag-data-received. The view emits the
#GeditView::drop-uris signal from #GtkWidget::drag-data-received if
valid URIs have been dropped.  Plugins should connect to
#GtkWidget::drag-motion, #GtkWidget::drag-drop and
#GtkWidget::drag-data-received to change this default behaviour. They
should NOT use this signal because this will not prevent gedit from
loading the URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri_list" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-view.c"
                 line="510">a %NULL-terminated list of URIs.</doc>
            <array>
              <type name="utf8"/>
            </array>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <interface name="ViewActivatable"
               c:symbol-prefix="view_activatable"
               c:type="GeditViewActivatable"
               glib:type-name="GeditViewActivatable"
               glib:get-type="gedit_view_activatable_get_type"
               glib:type-struct="ViewActivatableInterface">
      <source-position filename="gedit/gedit-view-activatable.h" line="39"/>
      <virtual-method name="activate" invoker="activate">
        <doc xml:space="preserve"
             filename="gedit/gedit-view-activatable.c"
             line="57">Activates the extension on the window property.</doc>
        <source-position filename="gedit/gedit-view-activatable.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-view-activatable.c"
                 line="59">A #GeditViewActivatable.</doc>
            <type name="ViewActivatable" c:type="GeditViewActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <doc xml:space="preserve"
             filename="gedit/gedit-view-activatable.c"
             line="77">Deactivates the extension on the window property.</doc>
        <source-position filename="gedit/gedit-view-activatable.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-view-activatable.c"
                 line="79">A #GeditViewActivatable.</doc>
            <type name="ViewActivatable" c:type="GeditViewActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="activate" c:identifier="gedit_view_activatable_activate">
        <doc xml:space="preserve"
             filename="gedit/gedit-view-activatable.c"
             line="57">Activates the extension on the window property.</doc>
        <source-position filename="gedit/gedit-view-activatable.h" line="41"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-view-activatable.c"
                 line="59">A #GeditViewActivatable.</doc>
            <type name="ViewActivatable" c:type="GeditViewActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="deactivate"
              c:identifier="gedit_view_activatable_deactivate">
        <doc xml:space="preserve"
             filename="gedit/gedit-view-activatable.c"
             line="77">Deactivates the extension on the window property.</doc>
        <source-position filename="gedit/gedit-view-activatable.h" line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-view-activatable.c"
                 line="79">A #GeditViewActivatable.</doc>
            <type name="ViewActivatable" c:type="GeditViewActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="view"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gedit/gedit-view-activatable.c"
             line="41">The window property contains the gedit window for this
#GeditViewActivatable instance.</doc>
        <type name="View"/>
      </property>
    </interface>
    <record name="ViewActivatableInterface"
            c:type="GeditViewActivatableInterface"
            glib:is-gtype-struct-for="ViewActivatable">
      <source-position filename="gedit/gedit-view-activatable.h" line="39"/>
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <source-position filename="gedit/gedit-view-activatable.h"
                           line="37"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gedit/gedit-view-activatable.c"
                   line="59">A #GeditViewActivatable.</doc>
              <type name="ViewActivatable" c:type="GeditViewActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <source-position filename="gedit/gedit-view-activatable.h"
                           line="38"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gedit/gedit-view-activatable.c"
                   line="79">A #GeditViewActivatable.</doc>
              <type name="ViewActivatable" c:type="GeditViewActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="ViewClass"
            c:type="GeditViewClass"
            glib:is-gtype-struct-for="View">
      <source-position filename="gedit/gedit-view.h" line="57"/>
      <field name="parent_class">
        <type name="Tepl.ViewClass" c:type="TeplViewClass"/>
      </field>
      <field name="drop_uris">
        <callback name="drop_uris">
          <source-position filename="gedit/gedit-view.h" line="53"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="View" c:type="GeditView*"/>
            </parameter>
            <parameter name="uri_list" transfer-ownership="none">
              <type name="utf8" c:type="gchar**"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="padding">
        <type name="gpointer" c:type="gpointer"/>
      </field>
    </record>
    <record name="ViewPrivate"
            c:type="GeditViewPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gedit/gedit-view.h" line="39"/>
    </record>
    <function-macro name="WINDOW"
                    c:identifier="GEDIT_WINDOW"
                    introspectable="0">
      <source-position filename="gedit/gedit-window.h" line="52"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WINDOW_CLASS"
                    c:identifier="GEDIT_WINDOW_CLASS"
                    introspectable="0">
      <source-position filename="gedit/gedit-window.h" line="53"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WINDOW_GET_CLASS"
                    c:identifier="GEDIT_WINDOW_GET_CLASS"
                    introspectable="0">
      <source-position filename="gedit/gedit-window.h" line="56"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Window"
           c:symbol-prefix="window"
           c:type="GeditWindow"
           parent="Gtk.ApplicationWindow"
           glib:type-name="GeditWindow"
           glib:get-type="gedit_window_get_type"
           glib:type-struct="WindowClass">
      <source-position filename="gedit/gedit-window.h" line="80"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gio.ActionGroup"/>
      <implements name="Gio.ActionMap"/>
      <implements name="Gtk.Buildable"/>
      <virtual-method name="tab_added">
        <source-position filename="gedit/gedit-window.h" line="75"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="GeditTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tab_removed">
        <source-position filename="gedit/gedit-window.h" line="78"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="GeditTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="close_all_tabs" c:identifier="gedit_window_close_all_tabs">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="2820">Closes all tabs of @window.</doc>
        <source-position filename="gedit/gedit-window.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="2822">a #GeditWindow.</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="close_tab" c:identifier="gedit_window_close_tab">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="2797">Closes the @tab.</doc>
        <source-position filename="gedit/gedit-window.h" line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="2799">a #GeditWindow.</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="2800">the #GeditTab to close.</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </parameter>
        </parameters>
      </method>
      <method name="close_tabs" c:identifier="gedit_window_close_tabs">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="2839">Closes all tabs specified in @tabs.</doc>
        <source-position filename="gedit/gedit-window.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="2841">a #GeditWindow.</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
          <parameter name="tabs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="2842">a list of #GeditTab's.</doc>
            <type name="GLib.List" c:type="const GList*">
              <type name="Tab"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="create_tab" c:identifier="gedit_window_create_tab">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="2680">Creates a new #GeditTab and adds it to the #GtkNotebook.</doc>
        <source-position filename="gedit/gedit-window.h" line="84"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="2687">the new #GeditTab.</doc>
          <type name="Tab" c:type="GeditTab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="2682">a #GeditWindow.</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
          <parameter name="jump_to" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="2683">if %TRUE, the #GtkNotebook switches to the new #GeditTab.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_active_document"
              c:identifier="gedit_window_get_active_document">
        <source-position filename="gedit/gedit-window.h" line="102"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="2645">the active #GeditDocument of @window.</doc>
          <type name="Document" c:type="GeditDocument*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="2643">a #GeditWindow.</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_active_tab" c:identifier="gedit_window_get_active_tab">
        <source-position filename="gedit/gedit-window.h" line="95"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="2718">the active #GeditTab of @window.</doc>
          <type name="Tab" c:type="GeditTab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="2716">a #GeditWindow.</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_active_view"
              c:identifier="gedit_window_get_active_view">
        <source-position filename="gedit/gedit-window.h" line="100"/>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="2622">the active #GeditView of @window.</doc>
          <type name="View" c:type="GeditView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="2620">a #GeditWindow.</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_bottom_panel"
              c:identifier="gedit_window_get_bottom_panel"
              version="48">
        <source-position filename="gedit/gedit-window.h" line="114"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="2972">the bottom panel of @window.</doc>
          <type name="Tepl.Panel" c:type="TeplPanel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="2970">a #GeditWindow.</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_documents" c:identifier="gedit_window_get_documents">
        <source-position filename="gedit/gedit-window.h" line="104"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="2744">a newly allocated
  list with all the #GeditDocument's currently part of @window.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Document"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="2742">a #GeditWindow.</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_group" c:identifier="gedit_window_get_group">
        <source-position filename="gedit/gedit-window.h" line="110"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="2922">the #GtkWindowGroup in which @window resides.</doc>
          <type name="Gtk.WindowGroup" c:type="GtkWindowGroup*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="2920">a #GeditWindow.</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_message_bus"
              c:identifier="gedit_window_get_message_bus">
        <source-position filename="gedit/gedit-window.h" line="123"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="3202">the #GeditMessageBus associated with @window. The
  returned reference is owned by the window and should not be unreffed.</doc>
          <type name="MessageBus" c:type="GeditMessageBus*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="3200">a #GeditWindow.</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_side_panel"
              c:identifier="gedit_window_get_side_panel"
              version="46">
        <source-position filename="gedit/gedit-window.h" line="112"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="2951">the side panel of @window.</doc>
          <type name="Tepl.Panel" c:type="TeplPanel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="2949">a #GeditWindow.</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_state"
              c:identifier="gedit_window_get_state"
              glib:get-property="state">
        <source-position filename="gedit/gedit-window.h" line="118"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="3000">the current #GeditWindowState of @window.</doc>
          <type name="WindowState" c:type="GeditWindowState"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="2998">a #GeditWindow.</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_statusbar" c:identifier="gedit_window_get_statusbar">
        <source-position filename="gedit/gedit-window.h" line="116"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="2986">the #GeditStatusbar of @window.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="2984">a #GeditWindow.</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tab_from_location"
              c:identifier="gedit_window_get_tab_from_location">
        <source-position filename="gedit/gedit-window.h" line="120"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="3154">the #GeditTab that matches the given @location.</doc>
          <type name="Tab" c:type="GeditTab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="3151">a #GeditWindow.</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
          <parameter name="location" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="3152">a #GFile.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_unsaved_documents"
              c:identifier="gedit_window_get_unsaved_documents">
        <source-position filename="gedit/gedit-window.h" line="106"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="3088">a newly allocated
  list of #GeditDocument's part of @window that currently have unsaved changes.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Document"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="3086">a #GeditWindow.</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_views" c:identifier="gedit_window_get_views">
        <source-position filename="gedit/gedit-window.h" line="108"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="2778">a newly allocated
  list with all the #GeditView's currently part of @window.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="View"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="2776">a #GeditWindow.</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_active_tab" c:identifier="gedit_window_set_active_tab">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="2902">Switches to @tab.</doc>
        <source-position filename="gedit/gedit-window.h" line="97"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="2904">a #GeditWindow.</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="2905">a #GeditTab.</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </parameter>
        </parameters>
      </method>
      <property name="state"
                transfer-ownership="none"
                getter="get_state"
                default-value="GEDIT_WINDOW_STATE_NORMAL">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="365">The state of the #GeditWindow.</doc>
        <type name="WindowState"/>
      </property>
      <field name="window">
        <type name="Gtk.ApplicationWindow" c:type="GtkApplicationWindow"/>
      </field>
      <field name="priv">
        <type name="WindowPrivate" c:type="GeditWindowPrivate*"/>
      </field>
      <glib:signal name="active-tab-changed" when="first" version="47">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="425">The ::active-tab-changed signal is emitted when the active #GeditTab
of @window changes (including when it becomes %NULL). You can get its
value with gedit_window_get_active_tab().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="tab-added" when="first">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="380">The ::tab-added signal is emitted right after a #GeditTab is added to
@window.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="383">the added #GeditTab.</doc>
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tab-removed" when="first">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="398">The ::tab-removed signal is emitted right after a #GeditTab is
removed from @window.

During the signal emission, the @tab's #GeditView and #GeditDocument
objects are absent from the lists returned by
gedit_window_get_views() and gedit_window_get_documents() (@tab is
not part of @window).

During the signal emission, @tab is still a valid object. As such you
can call functions like gedit_tab_get_view() and
gedit_tab_get_document(), for example to disconnect signal handlers.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="401">the removed #GeditTab.</doc>
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <interface name="WindowActivatable"
               c:symbol-prefix="window_activatable"
               c:type="GeditWindowActivatable"
               glib:type-name="GeditWindowActivatable"
               glib:get-type="gedit_window_activatable_get_type"
               glib:type-struct="WindowActivatableInterface">
      <source-position filename="gedit/gedit-window-activatable.h" line="40"/>
      <virtual-method name="activate" invoker="activate">
        <doc xml:space="preserve"
             filename="gedit/gedit-window-activatable.c"
             line="59">Activates the extension on the window property.</doc>
        <source-position filename="gedit/gedit-window-activatable.h"
                         line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window-activatable.c"
                 line="61">A #GeditWindowActivatable.</doc>
            <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <doc xml:space="preserve"
             filename="gedit/gedit-window-activatable.c"
             line="79">Deactivates the extension on the window property.</doc>
        <source-position filename="gedit/gedit-window-activatable.h"
                         line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window-activatable.c"
                 line="81">A #GeditWindowActivatable.</doc>
            <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="update_state" invoker="update_state">
        <doc xml:space="preserve"
             filename="gedit/gedit-window-activatable.c"
             line="99">Triggers an update of the extension internal state to take into account
state changes in the window, due to some event or user action.</doc>
        <source-position filename="gedit/gedit-window-activatable.h"
                         line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window-activatable.c"
                 line="101">A #GeditWindowActivatable.</doc>
            <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="activate" c:identifier="gedit_window_activatable_activate">
        <doc xml:space="preserve"
             filename="gedit/gedit-window-activatable.c"
             line="59">Activates the extension on the window property.</doc>
        <source-position filename="gedit/gedit-window-activatable.h"
                         line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window-activatable.c"
                 line="61">A #GeditWindowActivatable.</doc>
            <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="deactivate"
              c:identifier="gedit_window_activatable_deactivate">
        <doc xml:space="preserve"
             filename="gedit/gedit-window-activatable.c"
             line="79">Deactivates the extension on the window property.</doc>
        <source-position filename="gedit/gedit-window-activatable.h"
                         line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window-activatable.c"
                 line="81">A #GeditWindowActivatable.</doc>
            <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="update_state"
              c:identifier="gedit_window_activatable_update_state">
        <doc xml:space="preserve"
             filename="gedit/gedit-window-activatable.c"
             line="99">Triggers an update of the extension internal state to take into account
state changes in the window, due to some event or user action.</doc>
        <source-position filename="gedit/gedit-window-activatable.h"
                         line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window-activatable.c"
                 line="101">A #GeditWindowActivatable.</doc>
            <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="window"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gedit/gedit-window-activatable.c"
             line="43">The window property contains the gedit window for this
#GeditWindowActivatable instance.</doc>
        <type name="Window"/>
      </property>
    </interface>
    <record name="WindowActivatableInterface"
            c:type="GeditWindowActivatableInterface"
            glib:is-gtype-struct-for="WindowActivatable">
      <source-position filename="gedit/gedit-window-activatable.h" line="40"/>
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <source-position filename="gedit/gedit-window-activatable.h"
                           line="37"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gedit/gedit-window-activatable.c"
                   line="61">A #GeditWindowActivatable.</doc>
              <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <source-position filename="gedit/gedit-window-activatable.h"
                           line="38"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gedit/gedit-window-activatable.c"
                   line="81">A #GeditWindowActivatable.</doc>
              <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="update_state">
        <callback name="update_state">
          <source-position filename="gedit/gedit-window-activatable.h"
                           line="39"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="gedit/gedit-window-activatable.c"
                   line="101">A #GeditWindowActivatable.</doc>
              <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="WindowClass"
            c:type="GeditWindowClass"
            glib:is-gtype-struct-for="Window">
      <source-position filename="gedit/gedit-window.h" line="80"/>
      <field name="parent_class">
        <type name="Gtk.ApplicationWindowClass"
              c:type="GtkApplicationWindowClass"/>
      </field>
      <field name="tab_added">
        <callback name="tab_added">
          <source-position filename="gedit/gedit-window.h" line="75"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="window" transfer-ownership="none">
              <type name="Window" c:type="GeditWindow*"/>
            </parameter>
            <parameter name="tab" transfer-ownership="none">
              <type name="Tab" c:type="GeditTab*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="tab_removed">
        <callback name="tab_removed">
          <source-position filename="gedit/gedit-window.h" line="78"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="window" transfer-ownership="none">
              <type name="Window" c:type="GeditWindow*"/>
            </parameter>
            <parameter name="tab" transfer-ownership="none">
              <type name="Tab" c:type="GeditTab*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="WindowPrivate"
            c:type="GeditWindowPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gedit/gedit-window.h" line="60"/>
    </record>
    <bitfield name="WindowState"
              glib:type-name="GeditWindowState"
              glib:get-type="gedit_window_state_get_type"
              c:type="GeditWindowState">
      <doc xml:space="preserve"
           filename="gedit/gedit-window.h"
           line="29">Flags for the state of a #GeditWindow. The enumerators are flags and can be
combined. #GeditWindow combines and summarizes the state of its #GeditTab's
into one #GeditWindowState value. See #GeditTabState for the more precise
states.</doc>
      <member name="normal"
              value="0"
              c:identifier="GEDIT_WINDOW_STATE_NORMAL"
              glib:nick="normal"
              glib:name="GEDIT_WINDOW_STATE_NORMAL">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.h"
             line="31">No flags.</doc>
      </member>
      <member name="saving"
              value="2"
              c:identifier="GEDIT_WINDOW_STATE_SAVING"
              glib:nick="saving"
              glib:name="GEDIT_WINDOW_STATE_SAVING">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.h"
             line="32">A tab is in saving state.</doc>
      </member>
      <member name="printing"
              value="4"
              c:identifier="GEDIT_WINDOW_STATE_PRINTING"
              glib:nick="printing"
              glib:name="GEDIT_WINDOW_STATE_PRINTING">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.h"
             line="33">There is a printing operation on a tab.</doc>
      </member>
      <member name="loading"
              value="8"
              c:identifier="GEDIT_WINDOW_STATE_LOADING"
              glib:nick="loading"
              glib:name="GEDIT_WINDOW_STATE_LOADING">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.h"
             line="34">A tab is in loading or reverting state.</doc>
      </member>
      <member name="error"
              value="16"
              c:identifier="GEDIT_WINDOW_STATE_ERROR"
              glib:nick="error"
              glib:name="GEDIT_WINDOW_STATE_ERROR">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.h"
             line="35">A tab is in an error state.</doc>
      </member>
    </bitfield>
    <function name="commands_load_location"
              c:identifier="gedit_commands_load_location">
      <doc xml:space="preserve"
           filename="gedit/gedit-commands-file.c"
           line="270">Loads @location. Ignores non-existing locations.</doc>
      <source-position filename="gedit/gedit-commands.h" line="33"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="window" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="272">a #GeditWindow</doc>
          <type name="Window" c:type="GeditWindow*"/>
        </parameter>
        <parameter name="location" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="273">a #GFile to load</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
        <parameter name="encoding"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="274">the #GtkSourceEncoding of @location</doc>
          <type name="GtkSource.Encoding" c:type="const GtkSourceEncoding*"/>
        </parameter>
        <parameter name="line_pos" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="275">the line position to place the cursor</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="column_pos" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="276">the line column to place the cursor</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="commands_load_locations"
              c:identifier="gedit_commands_load_locations">
      <doc xml:space="preserve"
           filename="gedit/gedit-commands-file.c"
           line="307">Loads @locations. Ignore non-existing locations.</doc>
      <source-position filename="gedit/gedit-commands.h" line="40"/>
      <return-value transfer-ownership="container">
        <doc xml:space="preserve"
             filename="gedit/gedit-commands-file.c"
             line="317">the locations
that were loaded.</doc>
        <type name="GLib.SList" c:type="GSList*">
          <type name="Document"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="window" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="309">a #GeditWindow</doc>
          <type name="Window" c:type="GeditWindow*"/>
        </parameter>
        <parameter name="locations" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="310">the locations to load</doc>
          <type name="GLib.SList" c:type="const GSList*">
            <type name="Gio.File"/>
          </type>
        </parameter>
        <parameter name="encoding"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="311">the #GtkSourceEncoding</doc>
          <type name="GtkSource.Encoding" c:type="const GtkSourceEncoding*"/>
        </parameter>
        <parameter name="line_pos" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="312">the line position to place the cursor</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="column_pos" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="313">the line column to place the cursor</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="commands_save_all_documents"
              c:identifier="gedit_commands_save_all_documents">
      <doc xml:space="preserve"
           filename="gedit/gedit-commands-file.c"
           line="1300">Asynchronously save all documents belonging to @window. The result of the
operation is not available, so it's difficult to know whether all the
documents are correctly saved.</doc>
      <source-position filename="gedit/gedit-commands.h" line="58"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="window" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="1302">a #GeditWindow.</doc>
          <type name="Window" c:type="GeditWindow*"/>
        </parameter>
      </parameters>
    </function>
    <function name="commands_save_document"
              c:identifier="gedit_commands_save_document">
      <doc xml:space="preserve"
           filename="gedit/gedit-commands-file.c"
           line="1332">Asynchronously save @document. @document must belong to @window. If you need
the result of the operation, use gedit_commands_save_document_async().</doc>
      <source-position filename="gedit/gedit-commands.h" line="46"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="window" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="1334">a #GeditWindow.</doc>
          <type name="Window" c:type="GeditWindow*"/>
        </parameter>
        <parameter name="document" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="1335">the #GeditDocument to save.</doc>
          <type name="Document" c:type="GeditDocument*"/>
        </parameter>
      </parameters>
    </function>
    <function name="commands_save_document_async"
              c:identifier="gedit_commands_save_document_async"
              version="3.14">
      <doc xml:space="preserve"
           filename="gedit/gedit-commands-file.c"
           line="901">Asynchronously save the @document. @document must belong to @window. The
source object of the async task is @document (which will be the first
parameter of the #GAsyncReadyCallback).

When the operation is finished, @callback will be called. You can then call
gedit_commands_save_document_finish() to get the result of the operation.</doc>
      <source-position filename="gedit/gedit-commands.h" line="49"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="document" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="903">the #GeditDocument to save.</doc>
          <type name="Document" c:type="GeditDocument*"/>
        </parameter>
        <parameter name="window" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="904">a #GeditWindow.</doc>
          <type name="Window" c:type="GeditWindow*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="905">optional #GCancellable object, %NULL to ignore.</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
        <parameter name="callback"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="async"
                   closure="4">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="906">a #GAsyncReadyCallback to call when the operation
  is finished.</doc>
          <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="908">the data to pass to the @callback function.</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="commands_save_document_finish"
              c:identifier="gedit_commands_save_document_finish"
              version="3.14">
      <doc xml:space="preserve"
           filename="gedit/gedit-commands-file.c"
           line="971">Finishes an asynchronous document saving operation started with
gedit_commands_save_document_async().

Note that there is no error parameter because the errors are already handled
by gedit.</doc>
      <source-position filename="gedit/gedit-commands.h" line="55"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gedit/gedit-commands-file.c"
             line="982">%TRUE if the document has been correctly saved, %FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="document" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="973">a #GeditDocument.</doc>
          <type name="Document" c:type="GeditDocument*"/>
        </parameter>
        <parameter name="result" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-commands-file.c"
               line="974">a #GAsyncResult.</doc>
          <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
        </parameter>
      </parameters>
    </function>
    <function name="debug" c:identifier="gedit_debug">
      <doc xml:space="preserve"
           filename="gedit/gedit-debug.c"
           line="109">If @section is enabled, then logs the trace information @file, @line, and
@function.</doc>
      <source-position filename="gedit/gedit-debug.h" line="63"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="section" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-debug.c"
               line="111">debug section.</doc>
          <type name="DebugSection" c:type="GeditDebugSection"/>
        </parameter>
        <parameter name="file" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-debug.c"
               line="112">file name.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-debug.c"
               line="113">line number.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="function" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-debug.c"
               line="114">name of the function that is calling gedit_debug().</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="debug_init" c:identifier="gedit_debug_init">
      <doc xml:space="preserve"
           filename="gedit/gedit-debug.c"
           line="36">Initializes the debugging subsystem of gedit.

The function checks for the existence of certain environment variables to
determine whether to enable output for a debug section. To enable output
for a specific debug section, set an environment variable of the same name;
e.g. to enable output for the %GEDIT_DEBUG_PLUGINS section, set a
&lt;code&gt;GEDIT_DEBUG_PLUGINS&lt;/code&gt; environment variable. To enable output
for all debug sections, set the &lt;code&gt;GEDIT_DEBUG&lt;/code&gt; environment
variable.

This function must be called before any of the other debug functions are
called. It must only be called once.</doc>
      <source-position filename="gedit/gedit-debug.h" line="61"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="debug_message"
              c:identifier="gedit_debug_message"
              introspectable="0">
      <doc xml:space="preserve"
           filename="gedit/gedit-debug.c"
           line="128">If @section is enabled, then logs the trace information @file, @line, and
@function along with the message obtained by formatting @format with the
given format string arguments.</doc>
      <source-position filename="gedit/gedit-debug.h" line="68"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="section" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-debug.c"
               line="130">debug section.</doc>
          <type name="DebugSection" c:type="GeditDebugSection"/>
        </parameter>
        <parameter name="file" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-debug.c"
               line="131">file name.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-debug.c"
               line="132">line number.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="function" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-debug.c"
               line="133">name of the function that is calling gedit_debug_message().</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-debug.c"
               line="134">A g_vprintf() format string.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-debug.c"
               line="135">The format string arguments.</doc>
          <varargs/>
        </parameter>
      </parameters>
    </function>
    <function name="debug_plugin_message"
              c:identifier="gedit_debug_plugin_message"
              version="3.4">
      <doc xml:space="preserve"
           filename="gedit/gedit-debug.c"
           line="188">If the section %GEDIT_DEBUG_PLUGINS is enabled, then logs the trace
information @file, @line, and @function along with @message.

This function may be overridden by GObject Introspection language bindings
to be more language-specific.

&lt;emphasis&gt;Python&lt;/emphasis&gt;

A PyGObject override is provided that has the following signature:
&lt;informalexample&gt;
  &lt;programlisting&gt;
    def debug_plugin_message(format_str, *format_args):
        #...
  &lt;/programlisting&gt;
&lt;/informalexample&gt;

It automatically supplies parameters @file, @line, and @function, and it
formats &lt;code&gt;format_str&lt;/code&gt; with the given format arguments. The syntax
of the format string is the usual Python string formatting syntax described
by &lt;ulink url="http://docs.python.org/library/stdtypes.html#string-formatting"&gt;5.6.2. String Formatting Operations&lt;/ulink&gt;.</doc>
      <source-position filename="gedit/gedit-debug.h" line="74"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="file" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-debug.c"
               line="190">file name.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-debug.c"
               line="191">line number.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="function" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-debug.c"
               line="192">name of the function that is calling gedit_debug_plugin_message().</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-debug.c"
               line="193">a message.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <docsection name="gedit-app">
      <doc xml:space="preserve"
           filename="gedit/gedit-app.c"
           line="48">#GeditApp is a subclass of #GtkApplication, representing the whole
application.

It contains #GeditWindow's and other #GtkWindow's.</doc>
    </docsection>
    <docsection name="gedit-app-activatable">
      <doc xml:space="preserve"
           filename="gedit/gedit-app-activatable.c"
           line="28">#GeditAppActivatable is an interface which should be implemented by
extensions that should be activated on a gedit application.</doc>
    </docsection>
    <docsection name="gedit-document">
      <doc xml:space="preserve"
           filename="gedit/gedit-document.c"
           line="32">#GeditDocument is a subclass of #TeplBuffer. It contains the content of a
document.</doc>
    </docsection>
    <docsection name="gedit-message">
      <doc xml:space="preserve"
           filename="gedit/gedit-message.c"
           line="27">Communication on a #GeditMessageBus is done through messages. Messages are
sent over the bus and received by connecting callbacks on the message bus.
A #GeditMessage is an instantiation of a #GeditMessageType, containing
values for the arguments as specified in the message type.

A message can be seen as a method call, or signal emission depending on
who is the sender and who is the receiver. There is no explicit distinction
between methods and signals.</doc>
    </docsection>
    <docsection name="gedit-message-bus">
      <doc xml:space="preserve"
           filename="gedit/gedit-message-bus.c"
           line="40">gedit has a communication bus very similar to DBus. Its primary use is to
allow easy communication between plugins, but it can also be used to expose
gedit functionality to external applications by providing DBus bindings for
the internal gedit message bus.

There are two different communication busses available. The default bus
(see gedit_message_bus_get_default()) is an application wide communication
bus. In addition, each #GeditWindow has a separate, private bus
(see gedit_window_get_message_bus()). This makes it easier for plugins to
communicate to other plugins in the same window.

The concept of the message bus is very simple. You can register a message
type on the bus, specified as a Method at a specific Object Path with a
certain set of Method Arguments. You can then connect callback functions
for this message type on the bus. Whenever a message with the Object Path
and Method for which callbacks are connected is sent over the bus, the
callbacks are called. There is no distinction between Methods and Signals
(signals are simply messages where sender and receiver have switched places).

&lt;example&gt;
&lt;title&gt;Registering a message type&lt;/title&gt;
&lt;programlisting&gt;
GeditMessageBus *bus = gedit_message_bus_get_default ();

// Register 'method' at '/plugins/example' with one required
// string argument 'arg1'
gedit_message_bus_register (bus, EXAMPLE_TYPE_METHOD_MESSAGE,
                            "/plugins/example", "method");
&lt;/programlisting&gt;
&lt;/example&gt;
&lt;example&gt;
&lt;title&gt;Connecting a callback&lt;/title&gt;
&lt;programlisting&gt;
static void
example_method_cb (GeditMessageBus *bus,
                   GeditMessage    *message,
                   gpointer         user_data)
{
	gchar *arg1 = NULL;

	gedit_message_get (message, "arg1", &amp;arg1, NULL);
	g_message ("Evoked /plugins/example.method with: %s", arg1);
	g_free (arg1);
}

GeditMessageBus *bus = gedit_message_bus_get_default ();

guint id = gedit_message_bus_connect (bus,
                                      "/plugins/example", "method",
                                      example_method_cb,
                                      NULL,
                                      NULL);

&lt;/programlisting&gt;
&lt;/example&gt;
&lt;example&gt;
&lt;title&gt;Sending a message&lt;/title&gt;
&lt;programlisting&gt;
GeditMessageBus *bus = gedit_message_bus_get_default ();

gedit_message_bus_send (bus,
                        "/plugins/example", "method",
                        "arg1", "Hello World",
                        NULL);
&lt;/programlisting&gt;
&lt;/example&gt;</doc>
    </docsection>
    <docsection name="gedit-tab">
      <doc xml:space="preserve"
           filename="gedit/gedit-tab.c"
           line="43">#GeditTab is a #GtkContainer that contains a #GeditView and can show other
widgets such as a #TeplInfoBar.</doc>
    </docsection>
    <docsection name="gedit-view">
      <doc xml:space="preserve"
           filename="gedit/gedit-view.c"
           line="29">#GeditView is a subclass of #TeplView and is the #GtkWidget showing a
document.

It contains a #GeditDocument which can be retrieved with
gtk_text_view_get_buffer().</doc>
    </docsection>
    <docsection name="gedit-view-activatable">
      <doc xml:space="preserve"
           filename="gedit/gedit-view-activatable.c"
           line="27">#GeditViewActivatable is an interface which should be implemented by
extensions that should be activated on a gedit view.</doc>
    </docsection>
    <docsection name="gedit-window">
      <doc xml:space="preserve"
           filename="gedit/gedit-window.c"
           line="48">#GeditWindow is a main window, a subclass of #GtkApplicationWindow.

It contains #GeditTab's.</doc>
    </docsection>
    <docsection name="gedit-window-activatable">
      <doc xml:space="preserve"
           filename="gedit/gedit-window-activatable.c"
           line="29">#GeditWindowActivatable is an interface which should be implemented by
extensions that should be activated on a gedit main window.</doc>
    </docsection>
    <function name="utils_basename_for_display"
              c:identifier="gedit_utils_basename_for_display">
      <source-position filename="gedit/gedit-utils.h" line="34"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="gedit/gedit-utils.c"
             line="288">the basename of a file suitable for display to users.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="location" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-utils.c"
               line="286">location for which the basename should be displayed</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_drop_get_uris"
              c:identifier="gedit_utils_drop_get_uris">
      <doc xml:space="preserve"
           filename="gedit/gedit-utils.c"
           line="372">Create a list of valid uri's from a uri-list drop.</doc>
      <source-position filename="gedit/gedit-utils.h" line="37"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="gedit/gedit-utils.c"
             line="378">a string array which will hold the uris or
          %NULL if there were no valid uris. g_strfreev should be used when
          the string array is no longer used</doc>
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="selection_data" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-utils.c"
               line="374">the #GtkSelectionData from drag_data_received</doc>
          <type name="Gtk.SelectionData" c:type="GtkSelectionData*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_compression_type_from_content_type"
              c:identifier="gedit_utils_get_compression_type_from_content_type">
      <source-position filename="gedit/gedit-utils.h" line="42"/>
      <return-value transfer-ownership="none">
        <type name="GtkSource.CompressionType"
              c:type="GtkSourceCompressionType"/>
      </return-value>
      <parameters>
        <parameter name="content_type" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_is_valid_location"
              c:identifier="gedit_utils_is_valid_location">
      <source-position filename="gedit/gedit-utils.h" line="32"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="location" transfer-ownership="none">
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_menu_position_under_tree_view"
              c:identifier="gedit_utils_menu_position_under_tree_view">
      <source-position filename="gedit/gedit-utils.h" line="29"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="tree_view" transfer-ownership="none">
          <type name="Gtk.TreeView" c:type="GtkTreeView*"/>
        </parameter>
        <parameter name="rect" transfer-ownership="none">
          <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_newline_type_to_string"
              c:identifier="gedit_utils_newline_type_to_string">
      <source-position filename="gedit/gedit-utils.h" line="44"/>
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="newline_type" transfer-ownership="none">
          <type name="GtkSource.NewlineType" c:type="GtkSourceNewlineType"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_set_direct_save_filename"
              c:identifier="gedit_utils_set_direct_save_filename">
      <source-position filename="gedit/gedit-utils.h" line="39"/>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="context" transfer-ownership="none">
          <type name="Gdk.DragContext" c:type="GdkDragContext*"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
