<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Gtk" version="3.0"/>
  <include name="GtkSource" version="4"/>
  <package name="gedit-3.36"/>
  <doc:format name="unknown"/>
  <namespace name="Gedit"
             version="3.0"
             shared-library="libgedit-3.36.so"
             c:identifier-prefixes="Gedit"
             c:symbol-prefixes="gedit">
    <class name="App"
           c:symbol-prefix="app"
           c:type="GeditApp"
           parent="Gtk.Application"
           abstract="1"
           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="help_link_id">
        <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" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="link_id" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="process_window_event"
                      invoker="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" invoker="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">
        <source-position filename="gedit/gedit-app.h" line="37"/>
        <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="parent" transfer-ownership="none">
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="link_id" transfer-ownership="none">
            <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="1396">Create a new #GeditWindow part of @app.</doc>
        <source-position filename="gedit/gedit-app.h" line="68"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-app.c"
               line="1403">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="1398">the #GeditApp</doc>
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
          <parameter name="screen"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gdk.Screen" c:type="GdkScreen*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_documents" c:identifier="gedit_app_get_documents">
        <doc xml:space="preserve"
             filename="gedit/gedit-app.c"
             line="1486">Returns all the documents currently open in #GeditApp.</doc>
        <source-position filename="gedit/gedit-app.h" line="73"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="gedit/gedit-app.c"
               line="1492">
a newly allocated list of #GeditDocument objects</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="1488">the #GeditApp</doc>
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_lockdown"
              c:identifier="gedit_app_get_lockdown"
              glib:get-property="lockdown">
        <doc xml:space="preserve"
             filename="gedit/gedit-app.c"
             line="1546">Gets the lockdown mask (see #GeditLockdownMask) for the application.
The lockdown mask determines which functions are locked down using
the GNOME-wise lockdown GConf keys.</doc>
        <source-position filename="gedit/gedit-app.h" line="78"/>
        <return-value transfer-ownership="none">
          <type name="LockdownMask" c:type="GeditLockdownMask"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-app.c"
                 line="1548">a #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="1455">Returns all #GeditWindows 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="71"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="gedit/gedit-app.c"
               line="1463">
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="1457">the #GeditApp</doc>
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_views" c:identifier="gedit_app_get_views">
        <doc xml:space="preserve"
             filename="gedit/gedit-app.c"
             line="1516">Returns all the views currently present in #GeditApp.</doc>
        <source-position filename="gedit/gedit-app.h" line="75"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="gedit/gedit-app.c"
               line="1522">
a newly allocated list of #GeditView objects</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="1518">the #GeditApp</doc>
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="process_window_event"
              c:identifier="gedit_app_process_window_event">
        <source-position filename="gedit/gedit-app.h" line="88"/>
        <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>
      </method>
      <method name="set_window_title"
              c:identifier="gedit_app_set_window_title">
        <source-position filename="gedit/gedit-app.h" line="85"/>
        <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>
      </method>
      <method name="show_help" c:identifier="gedit_app_show_help">
        <source-position filename="gedit/gedit-app.h" line="80"/>
        <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="parent" transfer-ownership="none">
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="link_id" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="lockdown"
                transfer-ownership="none"
                getter="get_lockdown"
                default-value="0">
        <type name="LockdownMask"/>
      </property>
      <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">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="app" transfer-ownership="none">
              <type name="App" c:type="GeditApp*"/>
            </parameter>
            <parameter name="parent" transfer-ownership="none">
              <type name="Gtk.Window" c:type="GtkWindow*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="link_id" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="help_link_id">
        <callback name="help_link_id">
          <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" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="link_id" 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="28">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_view"
              value="1"
              c:identifier="GEDIT_DEBUG_VIEW"
              glib:nick="debug-view"
              glib:name="GEDIT_DEBUG_VIEW">
      </member>
      <member name="debug_prefs"
              value="2"
              c:identifier="GEDIT_DEBUG_PREFS"
              glib:nick="debug-prefs"
              glib:name="GEDIT_DEBUG_PREFS">
      </member>
      <member name="debug_window"
              value="4"
              c:identifier="GEDIT_DEBUG_WINDOW"
              glib:nick="debug-window"
              glib:name="GEDIT_DEBUG_WINDOW">
      </member>
      <member name="debug_panel"
              value="8"
              c:identifier="GEDIT_DEBUG_PANEL"
              glib:nick="debug-panel"
              glib:name="GEDIT_DEBUG_PANEL">
      </member>
      <member name="debug_plugins"
              value="16"
              c:identifier="GEDIT_DEBUG_PLUGINS"
              glib:nick="debug-plugins"
              glib:name="GEDIT_DEBUG_PLUGINS">
      </member>
      <member name="debug_tab"
              value="32"
              c:identifier="GEDIT_DEBUG_TAB"
              glib:nick="debug-tab"
              glib:name="GEDIT_DEBUG_TAB">
      </member>
      <member name="debug_document"
              value="64"
              c:identifier="GEDIT_DEBUG_DOCUMENT"
              glib:nick="debug-document"
              glib:name="GEDIT_DEBUG_DOCUMENT">
      </member>
      <member name="debug_commands"
              value="128"
              c:identifier="GEDIT_DEBUG_COMMANDS"
              glib:nick="debug-commands"
              glib:name="GEDIT_DEBUG_COMMANDS">
      </member>
      <member name="debug_app"
              value="256"
              c:identifier="GEDIT_DEBUG_APP"
              glib:nick="debug-app"
              glib:name="GEDIT_DEBUG_APP">
      </member>
      <member name="debug_utils"
              value="512"
              c:identifier="GEDIT_DEBUG_UTILS"
              glib:nick="debug-utils"
              glib:name="GEDIT_DEBUG_UTILS">
      </member>
      <member name="debug_metadata"
              value="1024"
              c:identifier="GEDIT_DEBUG_METADATA"
              glib:nick="debug-metadata"
              glib:name="GEDIT_DEBUG_METADATA">
      </member>
    </bitfield>
    <class name="Document"
           c:symbol-prefix="document"
           c:type="GeditDocument"
           parent="GtkSource.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">
          <type name="Document" c:type="GeditDocument*"/>
        </return-value>
      </constructor>
      <virtual-method name="cursor_moved">
        <source-position filename="gedit/gedit-document.h" line="40"/>
        <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="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="59"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <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="1591">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="1604">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="1593">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_language" c:identifier="gedit_document_get_language">
        <source-position filename="gedit/gedit-document.h" line="77"/>
        <return-value transfer-ownership="none">
          <type name="GtkSource.Language" c:type="GtkSourceLanguage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_metadata" c:identifier="gedit_document_get_metadata">
        <doc xml:space="preserve"
             filename="gedit/gedit-document.c"
             line="1349">Gets the metadata assigned to @key.</doc>
        <source-position filename="gedit/gedit-document.h" line="79"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gedit/gedit-document.c"
               line="1356">the value assigned to @key. Free with g_free().</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="1351">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="1352">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">
        <doc xml:space="preserve"
             filename="gedit/gedit-document.c"
             line="1019">Note: this never returns %NULL.</doc>
        <source-position filename="gedit/gedit-document.h" line="61"/>
        <return-value transfer-ownership="full">
          <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="1021">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="1554">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="90"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-document.c"
               line="1564">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="1556">a #GeditDocument</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_short_name_for_display"
              c:identifier="gedit_document_get_short_name_for_display">
        <doc xml:space="preserve"
             filename="gedit/gedit-document.c"
             line="978">Note: this never returns %NULL.</doc>
        <source-position filename="gedit/gedit-document.h" line="57"/>
        <return-value transfer-ownership="full">
          <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="980">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uri_for_display"
              c:identifier="gedit_document_get_uri_for_display">
        <doc xml:space="preserve"
             filename="gedit/gedit-document.c"
             line="949">Note: this never returns %NULL.</doc>
        <source-position filename="gedit/gedit-document.h" line="55"/>
        <return-value transfer-ownership="full">
          <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="951">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="goto_line" c:identifier="gedit_document_goto_line">
        <source-position filename="gedit/gedit-document.h" line="67"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="goto_line_offset"
              c:identifier="gedit_document_goto_line_offset">
        <source-position filename="gedit/gedit-document.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="line_offset" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_untitled" c:identifier="gedit_document_is_untitled">
        <source-position filename="gedit/gedit-document.h" line="65"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_untouched" c:identifier="gedit_document_is_untouched">
        <source-position filename="gedit/gedit-document.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_language" c:identifier="gedit_document_set_language">
        <source-position filename="gedit/gedit-document.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
          <parameter name="lang"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <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="1379">Sets metadata on a document.</doc>
        <source-position filename="gedit/gedit-document.h" line="82"/>
        <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="1381">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="1382">name of the first key to set</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-document.c"
                 line="1383">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="1497">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="86"/>
        <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="1499">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="1500">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="415">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="439">&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;</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="427">The document's MIME type.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="shortname"
                transfer-ownership="none"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="gedit/gedit-document.c"
             line="403">The document's short name.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="GtkSource.Buffer" c:type="GtkSourceBuffer"/>
      </field>
      <glib:signal name="cursor-moved" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="load" when="last">
        <doc xml:space="preserve"
             filename="gedit/gedit-document.c"
             line="473">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="491">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="510">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="528">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="GtkSource.BufferClass" c:type="GtkSourceBufferClass"/>
      </field>
      <field name="cursor_moved">
        <callback name="cursor_moved">
          <source-position filename="gedit/gedit-document.h" line="40"/>
          <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="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="357">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="366">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="359">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="380">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="378">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="407">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="409">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="410">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="149">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="36"/>
      <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="37"/>
      <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="45"/>
      <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="46"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="LOCKDOWN_ALL" value="15" c:type="GEDIT_LOCKDOWN_ALL">
      <source-position filename="gedit/gedit-app.h" line="66"/>
      <type name="gint" c:type="gint"/>
    </constant>
    <bitfield name="LockdownMask"
              glib:type-name="GeditLockdownMask"
              glib:get-type="gedit_lockdown_mask_get_type"
              c:type="GeditLockdownMask">
      <member name="command_line"
              value="1"
              c:identifier="GEDIT_LOCKDOWN_COMMAND_LINE"
              glib:nick="command-line"
              glib:name="GEDIT_LOCKDOWN_COMMAND_LINE">
      </member>
      <member name="printing"
              value="2"
              c:identifier="GEDIT_LOCKDOWN_PRINTING"
              glib:nick="printing"
              glib:name="GEDIT_LOCKDOWN_PRINTING">
      </member>
      <member name="print_setup"
              value="4"
              c:identifier="GEDIT_LOCKDOWN_PRINT_SETUP"
              glib:nick="print-setup"
              glib:name="GEDIT_LOCKDOWN_PRINT_SETUP">
      </member>
      <member name="save_to_disk"
              value="8"
              c:identifier="GEDIT_LOCKDOWN_SAVE_TO_DISK"
              glib:nick="save-to-disk"
              glib:name="GEDIT_LOCKDOWN_SAVE_TO_DISK">
      </member>
    </bitfield>
    <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>
    <enumeration name="NotebookShowTabsModeType"
                 glib:type-name="GeditNotebookShowTabsModeType"
                 glib:get-type="gedit_notebook_show_tabs_mode_type_get_type"
                 c:type="GeditNotebookShowTabsModeType">
      <member name="never"
              value="0"
              c:identifier="GEDIT_NOTEBOOK_SHOW_TABS_NEVER"
              glib:nick="never"
              glib:name="GEDIT_NOTEBOOK_SHOW_TABS_NEVER">
      </member>
      <member name="auto"
              value="1"
              c:identifier="GEDIT_NOTEBOOK_SHOW_TABS_AUTO"
              glib:nick="auto"
              glib:name="GEDIT_NOTEBOOK_SHOW_TABS_AUTO">
      </member>
      <member name="always"
              value="2"
              c:identifier="GEDIT_NOTEBOOK_SHOW_TABS_ALWAYS"
              glib:nick="always"
              glib:name="GEDIT_NOTEBOOK_SHOW_TABS_ALWAYS">
      </member>
    </enumeration>
    <class name="ProgressInfoBar"
           c:symbol-prefix="progress_info_bar"
           c:type="GeditProgressInfoBar"
           parent="Gtk.InfoBar"
           glib:type-name="GeditProgressInfoBar"
           glib:get-type="gedit_progress_info_bar_get_type"
           glib:type-struct="ProgressInfoBarClass">
      <source-position filename="gedit/gedit-progress-info-bar.h" line="29"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="gedit_progress_info_bar_new">
        <source-position filename="gedit/gedit-progress-info-bar.h" line="31"/>
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="icon_name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="markup" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="has_cancel" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="pulse" c:identifier="gedit_progress_info_bar_pulse">
        <source-position filename="gedit/gedit-progress-info-bar.h" line="47"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bar" transfer-ownership="none">
            <type name="ProgressInfoBar" c:type="GeditProgressInfoBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_fraction"
              c:identifier="gedit_progress_info_bar_set_fraction">
        <source-position filename="gedit/gedit-progress-info-bar.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bar" transfer-ownership="none">
            <type name="ProgressInfoBar" c:type="GeditProgressInfoBar*"/>
          </instance-parameter>
          <parameter name="fraction" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_name"
              c:identifier="gedit_progress_info_bar_set_icon_name">
        <source-position filename="gedit/gedit-progress-info-bar.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bar" transfer-ownership="none">
            <type name="ProgressInfoBar" c:type="GeditProgressInfoBar*"/>
          </instance-parameter>
          <parameter name="icon_name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_markup"
              c:identifier="gedit_progress_info_bar_set_markup">
        <source-position filename="gedit/gedit-progress-info-bar.h" line="38"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bar" transfer-ownership="none">
            <type name="ProgressInfoBar" c:type="GeditProgressInfoBar*"/>
          </instance-parameter>
          <parameter name="markup" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_text" c:identifier="gedit_progress_info_bar_set_text">
        <source-position filename="gedit/gedit-progress-info-bar.h" line="41"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bar" transfer-ownership="none">
            <type name="ProgressInfoBar" c:type="GeditProgressInfoBar*"/>
          </instance-parameter>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="has-cancel-button"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="TRUE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="ProgressInfoBarClass"
            c:type="GeditProgressInfoBarClass"
            glib:is-gtype-struct-for="ProgressInfoBar">
      <source-position filename="gedit/gedit-progress-info-bar.h" line="29"/>
      <field name="parent_class">
        <type name="Gtk.InfoBarClass" c:type="GtkInfoBarClass"/>
      </field>
    </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"/>
      <constructor name="new" c:identifier="gedit_statusbar_new">
        <doc xml:space="preserve"
             filename="gedit/gedit-statusbar.c"
             line="108">Creates a new #GeditStatusbar.</doc>
        <source-position filename="gedit/gedit-statusbar.h" line="33"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-statusbar.c"
               line="113">the new #GeditStatusbar object</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="clear_overwrite"
              c:identifier="gedit_statusbar_clear_overwrite">
        <source-position filename="gedit/gedit-statusbar.h" line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="statusbar" transfer-ownership="none">
            <type name="Statusbar" c:type="GeditStatusbar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="flash_message"
              c:identifier="gedit_statusbar_flash_message"
              introspectable="0">
        <doc xml:space="preserve"
             filename="gedit/gedit-statusbar.c"
             line="162">Flash a temporary message on the statusbar.</doc>
        <source-position filename="gedit/gedit-statusbar.h" line="44"/>
        <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="164">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="165">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="166">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="167">the arguments to insert in @format</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_overwrite"
              c:identifier="gedit_statusbar_set_overwrite">
        <doc xml:space="preserve"
             filename="gedit/gedit-statusbar.c"
             line="121">Sets the overwrite mode on the statusbar.</doc>
        <source-position filename="gedit/gedit-statusbar.h" line="39"/>
        <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="123">a #GeditStatusbar</doc>
            <type name="Statusbar" c:type="GeditStatusbar*"/>
          </instance-parameter>
          <parameter name="overwrite" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-statusbar.c"
                 line="124">if the overwrite mode is set</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_window_state"
              c:identifier="gedit_statusbar_set_window_state">
        <source-position filename="gedit/gedit-statusbar.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="statusbar" transfer-ownership="none">
            <type name="Statusbar" c:type="GeditStatusbar*"/>
          </instance-parameter>
          <parameter name="state" transfer-ownership="none">
            <type name="WindowState" c:type="GeditWindowState"/>
          </parameter>
          <parameter name="num_of_errors" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </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="49"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <function name="get_from_document"
                c:identifier="gedit_tab_get_from_document">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.c"
             line="1599">Gets the #GeditTab associated with @doc.</doc>
        <source-position filename="gedit/gedit-tab.h" line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-tab.c"
               line="1605">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="1601">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">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.c"
             line="2962">Gets the current state for the autosave feature</doc>
        <source-position filename="gedit/gedit-tab.h" line="60"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-tab.c"
               line="2968">%TRUE if the autosave is enabled, else %FALSE</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="2964">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">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.c"
             line="3015">Gets the current interval for the autosaves</doc>
        <source-position filename="gedit/gedit-tab.h" line="65"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-tab.c"
               line="3021">the value of the autosave</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="3017">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="1406">Gets the #GeditDocument associated to @tab.</doc>
        <source-position filename="gedit/gedit-tab.h" line="54"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-tab.c"
               line="1412">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="1408">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">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.c"
             line="437">Gets the #GeditTabState of @tab.</doc>
        <source-position filename="gedit/gedit-tab.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-tab.c"
               line="443">the #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="439">a #GeditTab</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_view" c:identifier="gedit_tab_get_view">
        <doc xml:space="preserve"
             filename="gedit/gedit-tab.c"
             line="1390">Gets the #GeditView inside @tab.</doc>
        <source-position filename="gedit/gedit-tab.h" line="51"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-tab.c"
               line="1396">the #GeditView inside @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="1392">a #GeditTab</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </instance-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="2980">Enables or disables the autosave feature. 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="62"/>
        <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="2982">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="2983">enable (%TRUE) or disable (%FALSE) auto save</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="3033">Sets the interval for the autosave feature.</doc>
        <source-position filename="gedit/gedit-tab.h" line="67"/>
        <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="3035">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="3036">the new interval</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_info_bar" c:identifier="gedit_tab_set_info_bar">
        <source-position filename="gedit/gedit-tab.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
          <parameter name="info_bar" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="autosave"
                writable="1"
                transfer-ownership="none"
                default-value="TRUE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="autosave-interval"
                writable="1"
                transfer-ownership="none"
                default-value="0">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="can-close"
                transfer-ownership="none"
                default-value="TRUE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="name" transfer-ownership="none" default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="state"
                transfer-ownership="none"
                getter="get_state"
                default-value="GEDIT_TAB_STATE_NORMAL">
        <type name="TabState"/>
      </property>
      <glib:signal name="drop-uris" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <array>
              <type name="utf8"/>
            </array>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="TabClass"
            c:type="GeditTabClass"
            glib:is-gtype-struct-for="Tab">
      <source-position filename="gedit/gedit-tab.h" line="49"/>
      <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">
      <member name="state_normal"
              value="0"
              c:identifier="GEDIT_TAB_STATE_NORMAL"
              glib:nick="state-normal"
              glib:name="GEDIT_TAB_STATE_NORMAL">
      </member>
      <member name="state_loading"
              value="1"
              c:identifier="GEDIT_TAB_STATE_LOADING"
              glib:nick="state-loading"
              glib:name="GEDIT_TAB_STATE_LOADING">
      </member>
      <member name="state_reverting"
              value="2"
              c:identifier="GEDIT_TAB_STATE_REVERTING"
              glib:nick="state-reverting"
              glib:name="GEDIT_TAB_STATE_REVERTING">
      </member>
      <member name="state_saving"
              value="3"
              c:identifier="GEDIT_TAB_STATE_SAVING"
              glib:nick="state-saving"
              glib:name="GEDIT_TAB_STATE_SAVING">
      </member>
      <member name="state_printing"
              value="4"
              c:identifier="GEDIT_TAB_STATE_PRINTING"
              glib:nick="state-printing"
              glib:name="GEDIT_TAB_STATE_PRINTING">
      </member>
      <member name="state_showing_print_preview"
              value="5"
              c:identifier="GEDIT_TAB_STATE_SHOWING_PRINT_PREVIEW"
              glib:nick="state-showing-print-preview"
              glib:name="GEDIT_TAB_STATE_SHOWING_PRINT_PREVIEW">
      </member>
      <member name="state_loading_error"
              value="6"
              c:identifier="GEDIT_TAB_STATE_LOADING_ERROR"
              glib:nick="state-loading-error"
              glib:name="GEDIT_TAB_STATE_LOADING_ERROR">
      </member>
      <member name="state_reverting_error"
              value="7"
              c:identifier="GEDIT_TAB_STATE_REVERTING_ERROR"
              glib:nick="state-reverting-error"
              glib:name="GEDIT_TAB_STATE_REVERTING_ERROR">
      </member>
      <member name="state_saving_error"
              value="8"
              c:identifier="GEDIT_TAB_STATE_SAVING_ERROR"
              glib:nick="state-saving-error"
              glib:name="GEDIT_TAB_STATE_SAVING_ERROR">
      </member>
      <member name="state_generic_error"
              value="9"
              c:identifier="GEDIT_TAB_STATE_GENERIC_ERROR"
              glib:nick="state-generic-error"
              glib:name="GEDIT_TAB_STATE_GENERIC_ERROR">
      </member>
      <member name="state_closing"
              value="10"
              c:identifier="GEDIT_TAB_STATE_CLOSING"
              glib:nick="state-closing"
              glib:name="GEDIT_TAB_STATE_CLOSING">
      </member>
      <member name="state_externally_modified_notification"
              value="11"
              c:identifier="GEDIT_TAB_STATE_EXTERNALLY_MODIFIED_NOTIFICATION"
              glib:nick="state-externally-modified-notification"
              glib:name="GEDIT_TAB_STATE_EXTERNALLY_MODIFIED_NOTIFICATION">
      </member>
      <member name="num_of_states"
              value="12"
              c:identifier="GEDIT_TAB_NUM_OF_STATES"
              glib:nick="num-of-states"
              glib:name="GEDIT_TAB_NUM_OF_STATES">
      </member>
    </enumeration>
    <function-macro name="VIEW" c:identifier="GEDIT_VIEW" introspectable="0">
      <source-position filename="gedit/gedit-view.h" line="34"/>
      <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="35"/>
      <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="38"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="View"
           c:symbol-prefix="view"
           c:type="GeditView"
           parent="GtkSource.View"
           glib:type-name="GeditView"
           glib:get-type="gedit_view_get_type"
           glib:type-struct="ViewClass">
      <source-position filename="gedit/gedit-view.h" line="60"/>
      <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="797">Creates a new #GeditView object displaying the @doc document.
@doc cannot be %NULL.</doc>
        <source-position filename="gedit/gedit-view.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-view.c"
               line="804">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="799">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="56"/>
        <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>
      <method name="copy_clipboard" c:identifier="gedit_view_copy_clipboard">
        <source-position filename="gedit/gedit-view.h" line="67"/>
        <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>
        </parameters>
      </method>
      <method name="cut_clipboard" c:identifier="gedit_view_cut_clipboard">
        <source-position filename="gedit/gedit-view.h" line="66"/>
        <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>
        </parameters>
      </method>
      <method name="delete_selection"
              c:identifier="gedit_view_delete_selection">
        <doc xml:space="preserve"
             filename="gedit/gedit-view.c"
             line="889">Deletes the text currently selected in the #GtkTextBuffer associated
to the view and scroll to the cursor position.</doc>
        <source-position filename="gedit/gedit-view.h" line="69"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-view.c"
                 line="891">a #GeditView</doc>
            <type name="View" c:type="GeditView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="paste_clipboard" c:identifier="gedit_view_paste_clipboard">
        <source-position filename="gedit/gedit-view.h" line="68"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="GeditView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="scroll_to_cursor"
              c:identifier="gedit_view_scroll_to_cursor">
        <doc xml:space="preserve"
             filename="gedit/gedit-view.c"
             line="942">Scrolls the @view to the cursor position.</doc>
        <source-position filename="gedit/gedit-view.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-view.c"
                 line="944">a #GeditView</doc>
            <type name="View" c:type="GeditView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="select_all" c:identifier="gedit_view_select_all">
        <doc xml:space="preserve"
             filename="gedit/gedit-view.c"
             line="919">Selects all the text.</doc>
        <source-position filename="gedit/gedit-view.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-view.c"
                 line="921">a #GeditView</doc>
            <type name="View" c:type="GeditView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_font" c:identifier="gedit_view_set_font">
        <doc xml:space="preserve"
             filename="gedit/gedit-view.c"
             line="984">If @default_font is #TRUE, resets the font of the @view to the default font.
Otherwise sets it to @font_name.</doc>
        <source-position filename="gedit/gedit-view.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-view.c"
                 line="986">a #GeditView</doc>
            <type name="View" c:type="GeditView*"/>
          </instance-parameter>
          <parameter name="default_font" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-view.c"
                 line="987">whether to reset to the default font</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="font_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-view.c"
                 line="988">the name of the font to use</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="view">
        <type name="GtkSource.View" c:type="GtkSourceView"/>
      </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="744">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="747">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="60"/>
      <field name="parent_class">
        <type name="GtkSource.ViewClass" c:type="GtkSourceViewClass"/>
      </field>
      <field name="drop_uris">
        <callback name="drop_uris">
          <source-position filename="gedit/gedit-view.h" line="56"/>
          <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="42"/>
    </record>
    <function-macro name="WINDOW"
                    c:identifier="GEDIT_WINDOW"
                    introspectable="0">
      <source-position filename="gedit/gedit-window.h" line="43"/>
      <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="44"/>
      <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="47"/>
      <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="75"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gio.ActionGroup"/>
      <implements name="Gio.ActionMap"/>
      <implements name="Gtk.Buildable"/>
      <virtual-method name="active_tab_changed">
        <source-position filename="gedit/gedit-window.h" line="71"/>
        <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="active_tab_state_changed">
        <source-position filename="gedit/gedit-window.h" line="73"/>
        <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>
        </parameters>
      </virtual-method>
      <virtual-method name="tab_added">
        <source-position filename="gedit/gedit-window.h" line="66"/>
        <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="68"/>
        <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="tabs_reordered">
        <source-position filename="gedit/gedit-window.h" line="70"/>
        <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>
        </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="3228">Closes all opened tabs.</doc>
        <source-position filename="gedit/gedit-window.h" line="101"/>
        <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="3230">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="3205">Closes the @tab.</doc>
        <source-position filename="gedit/gedit-window.h" line="98"/>
        <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="3207">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="3208">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="3247">Closes all tabs specified by @tabs.</doc>
        <source-position filename="gedit/gedit-window.h" line="103"/>
        <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="3249">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="3250">a list of #GeditTab</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="2999">Creates a new #GeditTab and adds the new tab to the #GtkNotebook.
In case @jump_to is %TRUE the #GtkNotebook switches to that new #GeditTab.</doc>
        <source-position filename="gedit/gedit-window.h" line="80"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="3007">a 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="3001">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="3002">%TRUE to set the new #GeditTab as active</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_tab_from_location"
              c:identifier="gedit_window_create_tab_from_location">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="3027">Creates a new #GeditTab loading the document specified by @uri.
In case @jump_to is %TRUE the #GtkNotebook swithes to that new #GeditTab.
Whether @create is %TRUE, creates a new empty document if location does
not refer to an existing file</doc>
        <source-position filename="gedit/gedit-window.h" line="83"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="3042">a 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="3029">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="3030">the location of the document</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-window.c"
                 line="3031">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-window.c"
                 line="3032">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-window.c"
                 line="3033">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-window.c"
                 line="3034">%TRUE to create a new document in case @uri does exist</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="jump_to" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="3035">%TRUE to set the new #GeditTab as active</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_tab_from_stream"
              c:identifier="gedit_window_create_tab_from_stream">
        <source-position filename="gedit/gedit-window.h" line="91"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="3084">a 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="3077">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="3078">a #GInputStream</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-window.c"
                 line="3079">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-window.c"
                 line="3080">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-window.c"
                 line="3081">the column position to visualize</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="jump_to" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="gedit/gedit-window.c"
                 line="3082">%TRUE to set the new #GeditTab as active</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_active_document"
              c:identifier="gedit_window_get_active_document">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="2934">Gets the active #GeditDocument.</doc>
        <source-position filename="gedit/gedit-window.h" line="113"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="2940">the active #GeditDocument</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="2936">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">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="3115">Gets the active #GeditTab in the @window.</doc>
        <source-position filename="gedit/gedit-window.h" line="106"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="3121">the active #GeditTab in the @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="3117">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">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="2908">Gets the active #GeditView.</doc>
        <source-position filename="gedit/gedit-window.h" line="112"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="2914">the active #GeditView</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="2910">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">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="3367">Gets the bottom panel of the @window.</doc>
        <source-position filename="gedit/gedit-window.h" line="129"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="3373">the bottom panel's #GtkStack.</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="3369">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_documents" c:identifier="gedit_window_get_documents">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="3143">Gets a newly allocated list with all the documents in the window.
This list must be freed.</doc>
        <source-position filename="gedit/gedit-window.h" line="116"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="3150">a newly
allocated list with all the documents in the 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="3145">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_group" c:identifier="gedit_window_get_group">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="3327">Gets the #GtkWindowGroup in which @window resides.</doc>
        <source-position filename="gedit/gedit-window.h" line="125"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="3333">the #GtkWindowGroup</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="3329">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">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="3573">Gets the #GeditMessageBus associated with @window. The returned reference
is owned by the window and should not be unreffed.</doc>
        <source-position filename="gedit/gedit-window.h" line="139"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="3580">the #GeditMessageBus associated with @window</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="3575">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">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="3351">Gets the side panel of the @window.</doc>
        <source-position filename="gedit/gedit-window.h" line="127"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="3357">the side panel's #GtkStack.</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="3353">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">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="3399">Retrieves the state of the @window.</doc>
        <source-position filename="gedit/gedit-window.h" line="133"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="3405">the current #GeditWindowState of the @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="3401">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_statusbar" c:identifier="gedit_window_get_statusbar">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="3383">Gets the #GeditStatusbar of the @window.</doc>
        <source-position filename="gedit/gedit-window.h" line="131"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="3389">the #GeditStatusbar of the @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="3385">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">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="3522">Gets the #GeditTab that matches with the given @location.</doc>
        <source-position filename="gedit/gedit-window.h" line="135"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="3529">the #GeditTab that matches with 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="3524">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="3525">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">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="3455">Gets the list of documents that need to be saved before closing the window.</doc>
        <source-position filename="gedit/gedit-window.h" line="120"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="3461">a list of
#GeditDocument that need to be saved before closing the 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="3457">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_views" c:identifier="gedit_window_get_views">
        <doc xml:space="preserve"
             filename="gedit/gedit-window.c"
             line="3180">Gets a list with all the views in the window. This list must be freed.</doc>
        <source-position filename="gedit/gedit-window.h" line="123"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="gedit/gedit-window.c"
               line="3186">a newly allocated
list with all the views in the 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="3182">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="3310">Switches to the tab that matches with @tab.</doc>
        <source-position filename="gedit/gedit-window.h" line="108"/>
        <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="3312">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="3313">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">
        <type name="WindowState"/>
      </property>
      <field name="window">
        <type name="Gtk.ApplicationWindow" c:type="GtkApplicationWindow"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="WindowPrivate" c:type="GeditWindowPrivate*"/>
      </field>
      <glib:signal name="active-tab-changed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="active-tab-state-changed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="tab-added" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tab-removed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tabs-reordered" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </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="75"/>
      <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="66"/>
          <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="68"/>
          <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="tabs_reordered">
        <callback name="tabs_reordered">
          <source-position filename="gedit/gedit-window.h" line="70"/>
          <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>
          </parameters>
        </callback>
      </field>
      <field name="active_tab_changed">
        <callback name="active_tab_changed">
          <source-position filename="gedit/gedit-window.h" line="71"/>
          <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="active_tab_state_changed">
        <callback name="active_tab_state_changed">
          <source-position filename="gedit/gedit-window.h" line="73"/>
          <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>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="WindowPrivate"
            c:type="GeditWindowPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="gedit/gedit-window.h" line="51"/>
    </record>
    <bitfield name="WindowState"
              glib:type-name="GeditWindowState"
              glib:get-type="gedit_window_state_get_type"
              c:type="GeditWindowState">
      <member name="normal"
              value="0"
              c:identifier="GEDIT_WINDOW_STATE_NORMAL"
              glib:nick="normal"
              glib:name="GEDIT_WINDOW_STATE_NORMAL">
      </member>
      <member name="saving"
              value="2"
              c:identifier="GEDIT_WINDOW_STATE_SAVING"
              glib:nick="saving"
              glib:name="GEDIT_WINDOW_STATE_SAVING">
      </member>
      <member name="printing"
              value="4"
              c:identifier="GEDIT_WINDOW_STATE_PRINTING"
              glib:nick="printing"
              glib:name="GEDIT_WINDOW_STATE_PRINTING">
      </member>
      <member name="loading"
              value="8"
              c:identifier="GEDIT_WINDOW_STATE_LOADING"
              glib:nick="loading"
              glib:name="GEDIT_WINDOW_STATE_LOADING">
      </member>
      <member name="error"
              value="16"
              c:identifier="GEDIT_WINDOW_STATE_ERROR"
              glib:nick="error"
              glib:name="GEDIT_WINDOW_STATE_ERROR">
      </member>
    </bitfield>
    <function name="commands_load_location"
              c:identifier="gedit_commands_load_location">
      <doc xml:space="preserve"
           filename="gedit/gedit-commands-file.c"
           line="280">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="282">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="283">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="284">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="285">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="286">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="317">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="327">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="319">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="320">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="321">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="322">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="323">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="1354">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="1356">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="1386">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="1388">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="1389">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="957">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="959">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="960">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="961">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="962">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="964">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="1025">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="1036">%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="1027">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="1028">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="118">If @section is enabled, then logs the trace information @file, @line, and
@function.</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="120">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="121">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="122">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="123">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="37">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="66"/>
      <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="137">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="73"/>
      <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="139">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="140">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="141">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="142">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="143">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="144">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="197">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="79"/>
      <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="199">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="200">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="201">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="202">a message.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <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-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-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-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="55"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="gedit/gedit-utils.c"
             line="691">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="689">location for which the basename should be displayed</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_decode_uri" c:identifier="gedit_utils_decode_uri">
      <doc xml:space="preserve"
           filename="gedit/gedit-utils.c"
           line="825">Parse and break an uri apart in its individual components like the uri
scheme, user info, port, host and path. The return value pointer can be
%NULL to ignore certain parts of the uri. If the function returns %TRUE, then
all return value pointers should be freed using g_free</doc>
      <source-position filename="gedit/gedit-utils.h" line="56"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gedit/gedit-utils.c"
             line="840">%TRUE if the uri could be properly decoded, %FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-utils.c"
               line="827">the uri to decode</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="scheme"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   optional="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="gedit/gedit-utils.c"
               line="828">return value pointer for the uri's
scheme (e.g. http, sftp, ...), or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="user"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   optional="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="gedit/gedit-utils.c"
               line="830">return value pointer for the uri user info, or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="host"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   optional="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="gedit/gedit-utils.c"
               line="832">return value pointer for the uri host, or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="port"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   optional="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="gedit/gedit-utils.c"
               line="831">return value pointer for the uri port, or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="path"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   optional="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="gedit/gedit-utils.c"
               line="833">return value pointer for the uri path, or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </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="775">Create a list of valid uri's from a uri-list drop.</doc>
      <source-position filename="gedit/gedit-utils.h" line="64"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="gedit/gedit-utils.c"
             line="781">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="777">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="66"/>
      <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_get_current_viewport"
              c:identifier="gedit_utils_get_current_viewport">
      <doc xml:space="preserve"
           filename="gedit/gedit-utils.c"
           line="502">Get the currently visible viewport origin for the #GdkScreen.

If the X11 window property isn't found, (0, 0) is returned.</doc>
      <source-position filename="gedit/gedit-utils.h" line="49"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="screen" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-utils.c"
               line="504">a #GdkScreen</doc>
          <type name="Gdk.Screen" c:type="GdkScreen*"/>
        </parameter>
        <parameter name="x"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gedit/gedit-utils.c"
               line="505">x-axis point.</doc>
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="y"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve"
               filename="gedit/gedit-utils.c"
               line="506">y-axis point.</doc>
          <type name="gint" c:type="gint*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_current_workspace"
              c:identifier="gedit_utils_get_current_workspace">
      <doc xml:space="preserve"
           filename="gedit/gedit-utils.c"
           line="389">Get the currently visible workspace for the #GdkScreen.

If the X11 window property isn't found, 0 (the first workspace)
is returned.</doc>
      <source-position filename="gedit/gedit-utils.h" line="47"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="screen" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-utils.c"
               line="391">a #GdkScreen</doc>
          <type name="Gdk.Screen" c:type="GdkScreen*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_window_workspace"
              c:identifier="gedit_utils_get_window_workspace">
      <doc xml:space="preserve"
           filename="gedit/gedit-utils.c"
           line="444">Get the workspace the window is on.

This function gets the workspace that the #GtkWindow is visible on,
it returns GEDIT_ALL_WORKSPACES if the window is sticky, or if
the window manager doesn't support this function.</doc>
      <source-position filename="gedit/gedit-utils.h" line="48"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="gedit/gedit-utils.c"
             line="454">the workspace the window is on.</doc>
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="gtkwindow" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-utils.c"
               line="446">a #GtkWindow.</doc>
          <type name="Gtk.Window" c:type="GtkWindow*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_is_valid_location"
              c:identifier="gedit_utils_is_valid_location">
      <source-position filename="gedit/gedit-utils.h" line="52"/>
      <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_location_get_dirname_for_display"
              c:identifier="gedit_utils_location_get_dirname_for_display">
      <doc xml:space="preserve"
           filename="gedit/gedit-utils.c"
           line="300">Returns a string suitable to be displayed in the UI indicating
the name of the directory where the file is located.
For remote files it may also contain the hostname etc.
For local files it tries to replace the home dir with ~.</doc>
      <source-position filename="gedit/gedit-utils.h" line="46"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="gedit/gedit-utils.c"
             line="309">a string to display the dirname</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="302">the location</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_make_valid_utf8"
              c:identifier="gedit_utils_make_valid_utf8"
              deprecated="1"
              deprecated-version="3.36">
      <doc-deprecated xml:space="preserve">Use g_utf8_make_valid() instead.</doc-deprecated>
      <source-position filename="gedit/gedit-utils.h" line="71"/>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </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="36"/>
      <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_menu_position_under_widget"
              c:identifier="gedit_utils_menu_position_under_widget"
              deprecated="1"
              deprecated-version="3.36">
      <doc-deprecated xml:space="preserve">Use gtk_menu_popup_at_widget() instead.</doc-deprecated>
      <source-position filename="gedit/gedit-utils.h" line="83"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="menu" transfer-ownership="none">
          <type name="Gtk.Menu" c:type="GtkMenu*"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="push_in" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </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="68"/>
      <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_replace_home_dir_with_tilde"
              c:identifier="gedit_utils_replace_home_dir_with_tilde"
              deprecated="1"
              deprecated-version="3.36">
      <doc-deprecated xml:space="preserve">Use tepl_utils_replace_home_dir_with_tilde() instead.</doc-deprecated>
      <source-position filename="gedit/gedit-utils.h" line="80"/>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_set_atk_name_description"
              c:identifier="gedit_utils_set_atk_name_description">
      <doc xml:space="preserve"
           filename="gedit/gedit-utils.c"
           line="125">This function sets up name and description
for a specified gtk widget.</doc>
      <source-position filename="gedit/gedit-utils.h" line="39"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="widget" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-utils.c"
               line="127">The Gtk widget for which name/description to be set</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-utils.c"
               line="128">Atk name string</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="description" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-utils.c"
               line="129">Atk description string</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_set_atk_relation"
              c:identifier="gedit_utils_set_atk_relation"
              deprecated="1"
              deprecated-version="3.36">
      <doc xml:space="preserve"
           filename="gedit/gedit-utils.c"
           line="153">This function establishes atk relation
between 2 specified widgets.</doc>
      <doc-deprecated xml:space="preserve">This function is no longer used by gedit. If you need it,
copy it.</doc-deprecated>
      <source-position filename="gedit/gedit-utils.h" line="90"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="obj1" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-utils.c"
               line="155">specified widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="obj2" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-utils.c"
               line="156">specified widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="rel_type" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="gedit/gedit-utils.c"
               line="157">the type of relation to set up.</doc>
          <type name="Atk.RelationType" c:type="AtkRelationType"/>
        </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="67"/>
      <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>
    <function name="utils_str_end_truncate"
              c:identifier="gedit_utils_str_end_truncate"
              deprecated="1"
              deprecated-version="3.36">
      <doc-deprecated xml:space="preserve">Use tepl_utils_str_end_truncate() instead.</doc-deprecated>
      <source-position filename="gedit/gedit-utils.h" line="77"/>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="truncate_length" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_str_middle_truncate"
              c:identifier="gedit_utils_str_middle_truncate"
              deprecated="1"
              deprecated-version="3.36">
      <doc-deprecated xml:space="preserve">Use tepl_utils_str_middle_truncate() instead.</doc-deprecated>
      <source-position filename="gedit/gedit-utils.h" line="74"/>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="truncate_length" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="warning" c:identifier="gedit_warning" introspectable="0">
      <source-position filename="gedit/gedit-utils.h" line="42"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <type name="Gtk.Window" c:type="GtkWindow*"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <varargs/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
