<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Atk" version="1.0"/>
  <include name="GLib" version="2.0"/>
  <include name="GModule" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <include name="Gdk" version="3.0"/>
  <include name="GdkPixbuf" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <include name="Gtk" version="3.0"/>
  <include name="GtkSource" version="3.0"/>
  <include name="Pango" version="1.0"/>
  <include name="cairo" version="1.0"/>
  <include name="xlib" version="2.0"/>
  <namespace name="Gedit"
             version="3.0"
             shared-library=""
             c:identifier-prefixes="Gedit"
             c:symbol-prefixes="gedit">
    <class name="App"
           c:symbol-prefix="app"
           c:type="GeditApp"
           parent="GObject.Object"
           abstract="1"
           glib:type-name="GeditApp"
           glib:get-type="gedit_app_get_type"
           glib:type-struct="AppClass">
      <function name="get_default" c:identifier="gedit_app_get_default">
        <doc xml:whitespace="preserve">Returns the #GeditApp object. This object is a singleton and
represents the running gedit instance.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GeditApp pointer</doc>
          <type name="App" c:type="GeditApp*"/>
        </return-value>
      </function>
      <virtual-method name="create_window" introspectable="0">
        <return-value>
          <type name="Window" c:type="GeditWindow*"/>
        </return-value>
      </virtual-method>
      <virtual-method name="help_link_id">
        <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="gchar*"/>
          </parameter>
          <parameter name="link_id" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="last_window_destroyed">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="GeditWindow*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="process_window_event"
                      invoker="process_window_event">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <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="quit">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="ready">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="set_window_title" invoker="set_window_title">
        <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="title" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="show_help" invoker="show_help">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <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="gchar*"/>
          </parameter>
          <parameter name="link_id" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="create_window" c:identifier="gedit_app_create_window">
        <doc xml:whitespace="preserve">Create a new #GeditWindow part of @app.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the new #GeditWindow</doc>
          <type name="Window" c:type="GeditWindow*"/>
        </return-value>
        <parameters>
          <parameter name="screen" transfer-ownership="none" allow-none="1">
            <type name="Gdk.Screen" c:type="GdkScreen*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_active_window"
              c:identifier="gedit_app_get_active_window">
        <doc xml:whitespace="preserve">Retrives the #GeditWindow currently active.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the active #GeditWindow</doc>
          <type name="Window" c:type="GeditWindow*"/>
        </return-value>
      </method>
      <method name="get_documents" c:identifier="gedit_app_get_documents">
        <doc xml:whitespace="preserve">Returns all the documents currently open in #GeditApp.

a newly allocated list of #GeditDocument objects</doc>
        <return-value transfer-ownership="container">
          <type name="GLib.List" c:type="GList*">
            <type name="Document"/>
          </type>
        </return-value>
      </method>
      <method name="get_lockdown" c:identifier="gedit_app_get_lockdown">
        <doc xml:whitespace="preserve">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>
        <return-value transfer-ownership="none">
          <type name="LockdownMask" c:type="GeditLockdownMask"/>
        </return-value>
      </method>
      <method name="get_views" c:identifier="gedit_app_get_views">
        <doc xml:whitespace="preserve">Returns all the views currently present in #GeditApp.

a newly allocated list of #GeditView objects</doc>
        <return-value transfer-ownership="container">
          <type name="GLib.List" c:type="GList*">
            <type name="View"/>
          </type>
        </return-value>
      </method>
      <method name="get_windows" c:identifier="gedit_app_get_windows">
        <doc xml:whitespace="preserve">Returns all the windows currently present in #GeditApp.

The list should not be freed</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the list of #GeditWindows objects.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Window"/>
          </type>
        </return-value>
      </method>
      <method name="process_window_event"
              c:identifier="gedit_app_process_window_event">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <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">
        <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="title" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_help" c:identifier="gedit_app_show_help">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <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="gchar*"/>
          </parameter>
          <parameter name="link_id" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="lockdown" transfer-ownership="none">
        <type name="LockdownMask"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="AppPrivate" c:type="GeditAppPrivate*"/>
      </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">
      <virtual-method name="activate" invoker="activate">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="activate" c:identifier="gedit_app_activatable_activate">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="deactivate"
              c:identifier="gedit_app_activatable_deactivate">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="app"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="App"/>
      </property>
    </interface>
    <record name="AppActivatableInterface"
            c:type="GeditAppActivatableInterface"
            glib:is-gtype-struct-for="AppActivatable">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <type name="AppActivatable" c:type="GeditAppActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <type name="AppActivatable" c:type="GeditAppActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="AppClass"
            c:type="GeditAppClass"
            glib:is-gtype-struct-for="App">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="last_window_destroyed">
        <callback name="last_window_destroyed">
          <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>
          </parameters>
        </callback>
      </field>
      <field name="show_help">
        <callback name="show_help">
          <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="gchar*"/>
            </parameter>
            <parameter name="link_id" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="help_link_id">
        <callback name="help_link_id">
          <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="gchar*"/>
            </parameter>
            <parameter name="link_id" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_window_title">
        <callback name="set_window_title">
          <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="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="quit">
        <callback name="quit">
          <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>
          </parameters>
        </callback>
      </field>
      <field name="create_window" introspectable="0">
        <callback name="create_window" introspectable="0">
          <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">
          <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>
      <field name="ready">
        <callback name="ready">
          <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>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="AppPrivate" c:type="GeditAppPrivate" disguised="1">
    </record>
    <bitfield name="DebugSection"
              glib:type-name="GeditDebugSection"
              glib:get-type="gedit_debug_section_get_type"
              c:type="GeditDebugSection">
      <doc xml:whitespace="preserve">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"/>
      <member name="debug_view"
              value="1"
              c:identifier="GEDIT_DEBUG_VIEW"
              glib:nick="debug-view"/>
      <member name="debug_search"
              value="2"
              c:identifier="GEDIT_DEBUG_SEARCH"
              glib:nick="debug-search"/>
      <member name="debug_print"
              value="4"
              c:identifier="GEDIT_DEBUG_PRINT"
              glib:nick="debug-print"/>
      <member name="debug_prefs"
              value="8"
              c:identifier="GEDIT_DEBUG_PREFS"
              glib:nick="debug-prefs"/>
      <member name="debug_plugins"
              value="16"
              c:identifier="GEDIT_DEBUG_PLUGINS"
              glib:nick="debug-plugins"/>
      <member name="debug_tab"
              value="32"
              c:identifier="GEDIT_DEBUG_TAB"
              glib:nick="debug-tab"/>
      <member name="debug_document"
              value="64"
              c:identifier="GEDIT_DEBUG_DOCUMENT"
              glib:nick="debug-document"/>
      <member name="debug_commands"
              value="128"
              c:identifier="GEDIT_DEBUG_COMMANDS"
              glib:nick="debug-commands"/>
      <member name="debug_app"
              value="256"
              c:identifier="GEDIT_DEBUG_APP"
              glib:nick="debug-app"/>
      <member name="debug_session"
              value="512"
              c:identifier="GEDIT_DEBUG_SESSION"
              glib:nick="debug-session"/>
      <member name="debug_utils"
              value="1024"
              c:identifier="GEDIT_DEBUG_UTILS"
              glib:nick="debug-utils"/>
      <member name="debug_metadata"
              value="2048"
              c:identifier="GEDIT_DEBUG_METADATA"
              glib:nick="debug-metadata"/>
      <member name="debug_window"
              value="4096"
              c:identifier="GEDIT_DEBUG_WINDOW"
              glib:nick="debug-window"/>
      <member name="debug_loader"
              value="8192"
              c:identifier="GEDIT_DEBUG_LOADER"
              glib:nick="debug-loader"/>
      <member name="debug_saver"
              value="16384"
              c:identifier="GEDIT_DEBUG_SAVER"
              glib:nick="debug-saver"/>
      <member name="debug_panel"
              value="32768"
              c:identifier="GEDIT_DEBUG_PANEL"
              glib:nick="debug-panel"/>
      <member name="debug_dbus"
              value="65536"
              c:identifier="GEDIT_DEBUG_DBUS"
              glib:nick="debug-dbus"/>
    </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">
      <constructor name="new" c:identifier="gedit_document_new">
        <return-value transfer-ownership="full">
          <type name="Document" c:type="GeditDocument*"/>
        </return-value>
      </constructor>
      <function name="error_quark" c:identifier="gedit_document_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="cursor_moved">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="load" invoker="load">
        <doc xml:whitespace="preserve">Load a document. This results in the "load" signal to be emitted.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none">
            <doc xml:whitespace="preserve">the location where to load the document from.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the #GeditEncoding to encode the document, or %NULL.</doc>
            <type name="Encoding" c:type="GeditEncoding*"/>
          </parameter>
          <parameter name="line_pos" transfer-ownership="none">
            <doc xml:whitespace="preserve">the line to show.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="column_pos" transfer-ownership="none">
            <doc xml:whitespace="preserve">the column to show.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="create" transfer-ownership="none">
            <doc xml:whitespace="preserve">whether the document should be created if it doesn't exist.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="loaded">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="error" transfer-ownership="none">
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="loading">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="size" transfer-ownership="none">
            <type name="gint64" c:type="goffset"/>
          </parameter>
          <parameter name="total_size" transfer-ownership="none">
            <type name="gint64" c:type="goffset"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="save">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <type name="Encoding" c:type="GeditEncoding*"/>
          </parameter>
          <parameter name="newline_type" transfer-ownership="none">
            <type name="DocumentNewlineType"
                  c:type="GeditDocumentNewlineType"/>
          </parameter>
          <parameter name="compression_type" transfer-ownership="none">
            <type name="DocumentCompressionType"
                  c:type="GeditDocumentCompressionType"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="DocumentSaveFlags" c:type="GeditDocumentSaveFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="saved">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="error" transfer-ownership="none">
            <type name="GLib.Error" c:type="GError*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="saving">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="size" transfer-ownership="none">
            <type name="gint64" c:type="goffset"/>
          </parameter>
          <parameter name="total_size" transfer-ownership="none">
            <type name="gint64" c:type="goffset"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="search_highlight_updated">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="start" transfer-ownership="none">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="get_can_search_again"
              c:identifier="gedit_document_get_can_search_again">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_compression_type"
              c:identifier="gedit_document_get_compression_type">
        <return-value transfer-ownership="none">
          <type name="DocumentCompressionType"
                c:type="GeditDocumentCompressionType"/>
        </return-value>
      </method>
      <method name="get_content_type"
              c:identifier="gedit_document_get_content_type">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_deleted" c:identifier="gedit_document_get_deleted">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_enable_search_highlighting"
              c:identifier="gedit_document_get_enable_search_highlighting">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_encoding" c:identifier="gedit_document_get_encoding">
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="GeditEncoding*"/>
        </return-value>
      </method>
      <method name="get_language" c:identifier="gedit_document_get_language">
        <return-value transfer-ownership="none">
          <type name="GtkSource.Language" c:type="GtkSourceLanguage*"/>
        </return-value>
      </method>
      <method name="get_location" c:identifier="gedit_document_get_location">
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">a copy of the internal #GFile</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
      </method>
      <method name="get_metadata" c:identifier="gedit_document_get_metadata">
        <doc xml:whitespace="preserve">Gets the metadata assigned to @key.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the value assigned to @key.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="key" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the key</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_mime_type" c:identifier="gedit_document_get_mime_type">
        <doc xml:whitespace="preserve">Note: this never returns %NULL.</doc>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_newline_type"
              c:identifier="gedit_document_get_newline_type">
        <return-value transfer-ownership="none">
          <type name="DocumentNewlineType" c:type="GeditDocumentNewlineType"/>
        </return-value>
      </method>
      <method name="get_readonly" c:identifier="gedit_document_get_readonly">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_search_text"
              c:identifier="gedit_document_get_search_text">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="flags" transfer-ownership="none" allow-none="1">
            <type name="guint" c:type="guint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_short_name_for_display"
              c:identifier="gedit_document_get_short_name_for_display">
        <doc xml:whitespace="preserve">Note: this never returns %NULL.</doc>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_uri_for_display"
              c:identifier="gedit_document_get_uri_for_display">
        <doc xml:whitespace="preserve">Note: this never returns %NULL.</doc>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="goto_line" c:identifier="gedit_document_goto_line">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <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">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <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_local" c:identifier="gedit_document_is_local">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_untitled" c:identifier="gedit_document_is_untitled">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_untouched" c:identifier="gedit_document_is_untouched">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="load" c:identifier="gedit_document_load">
        <doc xml:whitespace="preserve">Load a document. This results in the "load" signal to be emitted.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none">
            <doc xml:whitespace="preserve">the location where to load the document from.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the #GeditEncoding to encode the document, or %NULL.</doc>
            <type name="Encoding" c:type="GeditEncoding*"/>
          </parameter>
          <parameter name="line_pos" transfer-ownership="none">
            <doc xml:whitespace="preserve">the line to show.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="column_pos" transfer-ownership="none">
            <doc xml:whitespace="preserve">the column to show.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="create" transfer-ownership="none">
            <doc xml:whitespace="preserve">whether the document should be created if it doesn't exist.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_cancel" c:identifier="gedit_document_load_cancel">
        <doc xml:whitespace="preserve">Cancel load of a document.</doc>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="load_stream" c:identifier="gedit_document_load_stream">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="stream" transfer-ownership="none">
            <type name="Gio.InputStream" c:type="GInputStream*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none" allow-none="1">
            <type name="Encoding" c:type="GeditEncoding*"/>
          </parameter>
          <parameter name="line_pos" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="column_pos" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="replace_all" c:identifier="gedit_document_replace_all">
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="find" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="replace" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="save" c:identifier="gedit_document_save">
        <doc xml:whitespace="preserve">Save the document to its previous location. This results in the "save"
signal to be emitted.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:whitespace="preserve">optionnal #GeditDocumentSaveFlags.</doc>
            <type name="DocumentSaveFlags" c:type="GeditDocumentSaveFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_as" c:identifier="gedit_document_save_as">
        <doc xml:whitespace="preserve">Save the document to a new location. This results in the "save" signal
to be emitted.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none">
            <doc xml:whitespace="preserve">the location where to save the document.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GeditEncoding to encode the document.</doc>
            <type name="Encoding" c:type="GeditEncoding*"/>
          </parameter>
          <parameter name="newline_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GeditDocumentNewlineType for the document.</doc>
            <type name="DocumentNewlineType"
                  c:type="GeditDocumentNewlineType"/>
          </parameter>
          <parameter name="compression_type" transfer-ownership="none">
            <type name="DocumentCompressionType"
                  c:type="GeditDocumentCompressionType"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:whitespace="preserve">optionnal #GeditDocumentSaveFlags.</doc>
            <type name="DocumentSaveFlags" c:type="GeditDocumentSaveFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_backward"
              c:identifier="gedit_document_search_backward">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="start" transfer-ownership="none" allow-none="1">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none" allow-none="1">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="match_start"
                     transfer-ownership="none"
                     allow-none="1">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="match_end" transfer-ownership="none" allow-none="1">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_forward"
              c:identifier="gedit_document_search_forward">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="start" transfer-ownership="none" allow-none="1">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="end" transfer-ownership="none" allow-none="1">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="match_start"
                     transfer-ownership="none"
                     allow-none="1">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="match_end" transfer-ownership="none" allow-none="1">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_content_type"
              c:identifier="gedit_document_set_content_type">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="content_type"
                     transfer-ownership="none"
                     allow-none="1">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_enable_search_highlighting"
              c:identifier="gedit_document_set_enable_search_highlighting">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="enable" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_language" c:identifier="gedit_document_set_language">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="lang" transfer-ownership="none" allow-none="1">
            <type name="GtkSource.Language" c:type="GtkSourceLanguage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_location" c:identifier="gedit_document_set_location">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none">
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_metadata"
              c:identifier="gedit_document_set_metadata"
              introspectable="0">
        <doc xml:whitespace="preserve">Sets metadata on a document.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="first_key" transfer-ownership="none">
            <doc xml:whitespace="preserve">name of the first key to set</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="set_search_text"
              c:identifier="gedit_document_set_search_text">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_short_name_for_display"
              c:identifier="gedit_document_set_short_name_for_display">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="short_name"
                     transfer-ownership="none"
                     allow-none="1">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="can-search-again" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="compression-type"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <doc xml:whitespace="preserve">The :compression-type property determines how to compress the
document when saving</doc>
        <type name="DocumentCompressionType"/>
      </property>
      <property name="content-type" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="enable-search-highlighting"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="encoding" transfer-ownership="none">
        <type name="Encoding"/>
      </property>
      <property name="location" writable="1" transfer-ownership="none">
        <type name="Gio.File"/>
      </property>
      <property name="mime-type" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="newline-type"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <doc xml:whitespace="preserve">The :newline-type property determines what is considered
as a line ending when saving the document</doc>
        <type name="DocumentNewlineType"/>
      </property>
      <property name="read-only" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="shortname" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="buffer">
        <type name="GtkSource.Buffer" c:type="GtkSourceBuffer"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="DocumentPrivate" c:type="GeditDocumentPrivate*"/>
      </field>
      <glib:signal name="cursor-moved" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="load" when="last" version="2.22">
        <doc xml:whitespace="preserve">The "load" signal is emitted when a document is loaded.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none">
            <doc xml:whitespace="preserve">the location where to load the document from.</doc>
            <type name="Gio.File"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GeditEncoding to encode the document.</doc>
            <type name="Encoding"/>
          </parameter>
          <parameter name="line_pos" transfer-ownership="none">
            <doc xml:whitespace="preserve">the line to show.</doc>
            <type name="gint"/>
          </parameter>
          <parameter name="column_pos" transfer-ownership="none">
            <doc xml:whitespace="preserve">the column to show.</doc>
            <type name="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="loaded" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="loading" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint64"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="guint64"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="save" when="last" version="2.20">
        <doc xml:whitespace="preserve">The "save" signal is emitted when the document is saved.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gio.File"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="Encoding"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="DocumentNewlineType"/>
          </parameter>
          <parameter name="p2" transfer-ownership="none">
            <type name="DocumentCompressionType"/>
          </parameter>
          <parameter name="p3" transfer-ownership="none">
            <type name="DocumentSaveFlags"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="saved" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="GLib.Error"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="saving" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint64"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="guint64"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="search-highlight-updated" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gtk.TextIter"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="Gtk.TextIter"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="DocumentClass"
            c:type="GeditDocumentClass"
            glib:is-gtype-struct-for="Document">
      <field name="parent_class">
        <type name="GtkSource.BufferClass" c:type="GtkSourceBufferClass"/>
      </field>
      <field name="cursor_moved">
        <callback name="cursor_moved">
          <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">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="doc" transfer-ownership="none">
              <type name="Document" c:type="GeditDocument*"/>
            </parameter>
            <parameter name="location" transfer-ownership="none">
              <doc xml:whitespace="preserve">the location where to load the document from.</doc>
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
            <parameter name="encoding"
                       transfer-ownership="none"
                       allow-none="1">
              <doc xml:whitespace="preserve">the #GeditEncoding to encode the document, or %NULL.</doc>
              <type name="Encoding" c:type="GeditEncoding*"/>
            </parameter>
            <parameter name="line_pos" transfer-ownership="none">
              <doc xml:whitespace="preserve">the line to show.</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="column_pos" transfer-ownership="none">
              <doc xml:whitespace="preserve">the column to show.</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="create" transfer-ownership="none">
              <doc xml:whitespace="preserve">whether the document should be created if it doesn't exist.</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="loading">
        <callback name="loading">
          <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>
            <parameter name="size" transfer-ownership="none">
              <type name="gint64" c:type="goffset"/>
            </parameter>
            <parameter name="total_size" transfer-ownership="none">
              <type name="gint64" c:type="goffset"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="loaded">
        <callback name="loaded">
          <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>
            <parameter name="error" transfer-ownership="none">
              <type name="GLib.Error" c:type="GError*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save">
        <callback name="save">
          <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>
            <parameter name="location" transfer-ownership="none">
              <type name="Gio.File" c:type="GFile*"/>
            </parameter>
            <parameter name="encoding" transfer-ownership="none">
              <type name="Encoding" c:type="GeditEncoding*"/>
            </parameter>
            <parameter name="newline_type" transfer-ownership="none">
              <type name="DocumentNewlineType"
                    c:type="GeditDocumentNewlineType"/>
            </parameter>
            <parameter name="compression_type" transfer-ownership="none">
              <type name="DocumentCompressionType"
                    c:type="GeditDocumentCompressionType"/>
            </parameter>
            <parameter name="flags" transfer-ownership="none">
              <type name="DocumentSaveFlags" c:type="GeditDocumentSaveFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="saving">
        <callback name="saving">
          <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>
            <parameter name="size" transfer-ownership="none">
              <type name="gint64" c:type="goffset"/>
            </parameter>
            <parameter name="total_size" transfer-ownership="none">
              <type name="gint64" c:type="goffset"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="saved">
        <callback name="saved">
          <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>
            <parameter name="error" transfer-ownership="none">
              <type name="GLib.Error" c:type="GError*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="search_highlight_updated">
        <callback name="search_highlight_updated">
          <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>
            <parameter name="start" transfer-ownership="none">
              <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
            </parameter>
            <parameter name="end" transfer-ownership="none">
              <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="DocumentCompressionType"
                 glib:type-name="GeditDocumentCompressionType"
                 glib:get-type="gedit_document_compression_type_get_type"
                 c:type="GeditDocumentCompressionType">
      <member name="none"
              value="0"
              c:identifier="GEDIT_DOCUMENT_COMPRESSION_TYPE_NONE"
              glib:nick="none"/>
      <member name="gzip"
              value="1"
              c:identifier="GEDIT_DOCUMENT_COMPRESSION_TYPE_GZIP"
              glib:nick="gzip"/>
    </enumeration>
    <enumeration name="DocumentNewlineType"
                 glib:type-name="GeditDocumentNewlineType"
                 glib:get-type="gedit_document_newline_type_get_type"
                 c:type="GeditDocumentNewlineType">
      <member name="lf"
              value="0"
              c:identifier="GEDIT_DOCUMENT_NEWLINE_TYPE_LF"
              glib:nick="lf"/>
      <member name="cr"
              value="1"
              c:identifier="GEDIT_DOCUMENT_NEWLINE_TYPE_CR"
              glib:nick="cr"/>
      <member name="cr_lf"
              value="2"
              c:identifier="GEDIT_DOCUMENT_NEWLINE_TYPE_CR_LF"
              glib:nick="cr-lf"/>
    </enumeration>
    <record name="DocumentPrivate" c:type="GeditDocumentPrivate" disguised="1">
    </record>
    <bitfield name="DocumentSaveFlags"
              glib:type-name="GeditDocumentSaveFlags"
              glib:get-type="gedit_document_save_flags_get_type"
              c:type="GeditDocumentSaveFlags">
      <member name="ignore_mtime"
              value="1"
              c:identifier="GEDIT_DOCUMENT_SAVE_IGNORE_MTIME"
              glib:nick="ignore-mtime"/>
      <member name="ignore_backup"
              value="2"
              c:identifier="GEDIT_DOCUMENT_SAVE_IGNORE_BACKUP"
              glib:nick="ignore-backup"/>
      <member name="preserve_backup"
              value="4"
              c:identifier="GEDIT_DOCUMENT_SAVE_PRESERVE_BACKUP"
              glib:nick="preserve-backup"/>
      <member name="ignore_invalid_chars"
              value="8"
              c:identifier="GEDIT_DOCUMENT_SAVE_IGNORE_INVALID_CHARS"
              glib:nick="ignore-invalid-chars"/>
    </bitfield>
    <record name="Encoding"
            c:type="GeditEncoding"
            glib:type-name="GeditEncoding"
            glib:get-type="gedit_encoding_get_type"
            c:symbol-prefix="encoding">
      <method name="copy" c:identifier="gedit_encoding_copy">
        <return-value transfer-ownership="full">
          <type name="Encoding" c:type="GeditEncoding*"/>
        </return-value>
      </method>
      <method name="free" c:identifier="gedit_encoding_free">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_charset" c:identifier="gedit_encoding_get_charset">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_name" c:identifier="gedit_encoding_get_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="to_string" c:identifier="gedit_encoding_to_string">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <function name="get_current" c:identifier="gedit_encoding_get_current">
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="GeditEncoding*"/>
        </return-value>
      </function>
      <function name="get_from_charset"
                c:identifier="gedit_encoding_get_from_charset">
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="GeditEncoding*"/>
        </return-value>
        <parameters>
          <parameter name="charset" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_from_index"
                c:identifier="gedit_encoding_get_from_index">
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="GeditEncoding*"/>
        </return-value>
        <parameters>
          <parameter name="index" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_utf8" c:identifier="gedit_encoding_get_utf8">
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="GeditEncoding*"/>
        </return-value>
      </function>
    </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">
      <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">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="save_mode" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_selected_encoding"
              c:identifier="gedit_encodings_combo_box_get_selected_encoding">
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="GeditEncoding*"/>
        </return-value>
      </method>
      <method name="set_selected_encoding"
              c:identifier="gedit_encodings_combo_box_set_selected_encoding">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="encoding" transfer-ownership="none" allow-none="1">
            <type name="Encoding" c:type="GeditEncoding*"/>
          </parameter>
        </parameters>
      </method>
      <property name="save-mode"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent">
        <type name="Gtk.ComboBox" c:type="GtkComboBox"/>
      </field>
      <field name="priv">
        <type name="EncodingsComboBoxPrivate"
              c:type="GeditEncodingsComboBoxPrivate*"/>
      </field>
    </class>
    <record name="EncodingsComboBoxClass"
            c:type="GeditEncodingsComboBoxClass"
            glib:is-gtype-struct-for="EncodingsComboBox">
      <field name="parent_class">
        <type name="Gtk.ComboBoxClass" c:type="GtkComboBoxClass"/>
      </field>
    </record>
    <record name="EncodingsComboBoxPrivate"
            c:type="GeditEncodingsComboBoxPrivate"
            disguised="1">
    </record>
    <constant name="LOCKDOWN_ALL" value="15" c:type="GEDIT_LOCKDOWN_ALL">
      <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"/>
      <member name="printing"
              value="2"
              c:identifier="GEDIT_LOCKDOWN_PRINTING"
              glib:nick="printing"/>
      <member name="print_setup"
              value="4"
              c:identifier="GEDIT_LOCKDOWN_PRINT_SETUP"
              glib:nick="print-setup"/>
      <member name="save_to_disk"
              value="8"
              c:identifier="GEDIT_LOCKDOWN_SAVE_TO_DISK"
              glib:nick="save-to-disk"/>
    </bitfield>
    <constant name="METADATA_ATTRIBUTE_ENCODING"
              value="encoding"
              c:type="GEDIT_METADATA_ATTRIBUTE_ENCODING">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="METADATA_ATTRIBUTE_LANGUAGE"
              value="language"
              c:type="GEDIT_METADATA_ATTRIBUTE_LANGUAGE">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="METADATA_ATTRIBUTE_POSITION"
              value="position"
              c:type="GEDIT_METADATA_ATTRIBUTE_POSITION">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <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">
      <function name="is_valid_object_path"
                c:identifier="gedit_message_is_valid_object_path">
        <doc xml:whitespace="preserve">Returns whether @object_path is a valid object path</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%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"
                     allow-none="1">
            <doc xml:whitespace="preserve">the object path</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="type_check" c:identifier="gedit_message_type_check">
        <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="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">
        <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="gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="type_identifier"
                c:identifier="gedit_message_type_identifier">
        <doc xml:whitespace="preserve">Get the string identifier for @method at @object_path.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the identifier for @method at @object_path</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="object_path"
                     transfer-ownership="none"
                     allow-none="1">
            <doc xml:whitespace="preserve">the object path</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the method</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_method" c:identifier="gedit_message_get_method">
        <doc xml:whitespace="preserve">Get the message method.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the message method</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="get_object_path"
              c:identifier="gedit_message_get_object_path">
        <doc xml:whitespace="preserve">Get the message object path.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the message object path</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
      </method>
      <method name="has" c:identifier="gedit_message_has">
        <doc xml:whitespace="preserve">Check if a message has a certain property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if message has @propname, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="propname" transfer-ownership="none">
            <doc xml:whitespace="preserve">the property name</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="method"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <doc xml:whitespace="preserve">The messages method.</doc>
        <type name="utf8"/>
      </property>
      <property name="object-path"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </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">
      <constructor name="new" c:identifier="gedit_message_bus_new">
        <doc xml:whitespace="preserve">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>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">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:whitespace="preserve">Get the default application #GeditMessageBus.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the default #GeditMessageBus</doc>
          <type name="MessageBus" c:type="GeditMessageBus*"/>
        </return-value>
      </function>
      <virtual-method name="dispatch">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="message" transfer-ownership="none">
            <type name="Message" c:type="GeditMessage*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="registered">
        <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="gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="unregistered">
        <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="gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="block" c:identifier="gedit_message_bus_block">
        <doc xml:whitespace="preserve">Blocks evoking the callback specified by @id. Unblock the callback by
using gedit_message_bus_unblock().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">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:whitespace="preserve">Blocks evoking the callback that matches provided @callback and @user_data.
Unblock the callback using gedit_message_unblock_by_func().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:whitespace="preserve">the object path</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:whitespace="preserve">the method</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:whitespace="preserve">the callback to block</doc>
            <type name="MessageCallback" c:type="GeditMessageCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">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:whitespace="preserve">Connect a callback handler to be evoked when message @method at @object_path
is sent over the bus.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the callback identifier</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:whitespace="preserve">the object path</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:whitespace="preserve">the method</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="notified"
                     closure="3"
                     destroy="4">
            <doc xml:whitespace="preserve">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" allow-none="1">
            <doc xml:whitespace="preserve">user_data to use for the callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_data"
                     transfer-ownership="none"
                     allow-none="1"
                     scope="async">
            <doc xml:whitespace="preserve">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:whitespace="preserve">Disconnects a previously connected message callback.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">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:whitespace="preserve">Disconnects a previously connected message callback by matching the
provided callback function and user_data. See also
gedit_message_bus_disconnect().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:whitespace="preserve">the object path</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:whitespace="preserve">the method</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:whitespace="preserve">the connected callback</doc>
            <type name="MessageCallback" c:type="GeditMessageCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">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:whitespace="preserve">Calls @func for each message type registered on the bus</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="call"
                     closure="1">
            <doc xml:whitespace="preserve">the callback function</doc>
            <type name="MessageBusForeach" c:type="GeditMessageBusForeach"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">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:whitespace="preserve">Check whether a message type @method at @object_path is registered on the
bus.

type on the bus</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the @method at @object_path is a registered message</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:whitespace="preserve">the object path</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:whitespace="preserve">the method</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup" c:identifier="gedit_message_bus_lookup">
        <doc xml:whitespace="preserve">Get the registered #GeditMessageType for @method at @object_path. The
returned #GeditMessageType is owned by the bus and should not be unreffed.

is registered for @method at @object_path</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the registered #GeditMessageType or %NULL if no message type</doc>
          <type name="GType" c:type="GType"/>
        </return-value>
        <parameters>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:whitespace="preserve">the object path</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:whitespace="preserve">the method</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="register" c:identifier="gedit_message_bus_register">
        <doc xml:whitespace="preserve">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>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="message_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">the message type</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:whitespace="preserve">the object path</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:whitespace="preserve">the method to register</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="send"
              c:identifier="gedit_message_bus_send"
              introspectable="0">
        <doc xml:whitespace="preserve">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>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:whitespace="preserve">the object path</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:whitespace="preserve">the method</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="first_property" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="send_message"
              c:identifier="gedit_message_bus_send_message">
        <doc xml:whitespace="preserve">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>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="message" transfer-ownership="none">
            <doc xml:whitespace="preserve">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:whitespace="preserve">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>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="message" transfer-ownership="none">
            <doc xml:whitespace="preserve">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:whitespace="preserve">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().

The caller owns a reference to the #GeditMessage and should
call g_object_unref() when it is no longer needed.</doc>
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">the constructed #GeditMessage.</doc>
          <type name="Message" c:type="GeditMessage*"/>
        </return-value>
        <parameters>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:whitespace="preserve">the object path</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:whitespace="preserve">the method</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="first_property" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="unblock" c:identifier="gedit_message_bus_unblock">
        <doc xml:whitespace="preserve">Unblocks the callback specified by @id.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">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:whitespace="preserve">Unblocks the callback that matches provided @callback and @user_data.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:whitespace="preserve">the object path</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:whitespace="preserve">the method</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:whitespace="preserve">the callback to block</doc>
            <type name="MessageCallback" c:type="GeditMessageCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <doc xml:whitespace="preserve">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:whitespace="preserve">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>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:whitespace="preserve">the object path</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:whitespace="preserve">the method</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unregister_all"
              c:identifier="gedit_message_bus_unregister_all">
        <doc xml:whitespace="preserve">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>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:whitespace="preserve">the object path</doc>
            <type name="utf8" c:type="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:whitespace="preserve">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"/>
        </return-value>
        <parameters>
          <parameter name="message" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GeditMessage to dispatch</doc>
            <type name="Message"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="registered" when="last">
        <doc xml:whitespace="preserve">The "registered" signal is emitted when a message has been registered
on the bus.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="unregistered" when="last">
        <doc xml:whitespace="preserve">The "unregistered" signal is emitted when a message has been
unregistered from the bus.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="utf8"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="MessageBusClass"
            c:type="GeditMessageBusClass"
            glib:is-gtype-struct-for="MessageBus">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="dispatch">
        <callback name="dispatch">
          <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">
          <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="gchar*"/>
            </parameter>
            <parameter name="method" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="unregistered">
        <callback name="unregistered">
          <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="gchar*"/>
            </parameter>
            <parameter name="method" transfer-ownership="none">
              <type name="utf8" c:type="gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <callback name="MessageBusForeach" c:type="GeditMessageBusForeach">
      <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="gchar*"/>
        </parameter>
        <parameter name="method" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="2">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="MessageBusPrivate"
            c:type="GeditMessageBusPrivate"
            disguised="1">
    </record>
    <callback name="MessageCallback" c:type="GeditMessageCallback">
      <doc xml:whitespace="preserve">Callback signature used for connecting callback functions to be called
when a message is received (see gedit_message_bus_connect()).</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="bus" transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GeditMessageBus on which the message was sent</doc>
          <type name="MessageBus" c:type="GeditMessageBus*"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GeditMessage which was sent</doc>
          <type name="Message" c:type="GeditMessage*"/>
        </parameter>
        <parameter name="user_data" transfer-ownership="none" closure="2">
          <doc xml:whitespace="preserve">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">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="MessageClassPrivate"
            c:type="GeditMessageClassPrivate"
            disguised="1">
    </record>
    <record name="MessagePrivate" c:type="GeditMessagePrivate" disguised="1">
    </record>
    <callback name="MountOperationFactory"
              c:type="GeditMountOperationFactory"
              introspectable="0">
      <return-value>
        <type name="Gio.MountOperation" c:type="GMountOperation*"/>
      </return-value>
      <parameters>
        <parameter name="doc" transfer-ownership="none">
          <type name="Document" c:type="GeditDocument*"/>
        </parameter>
        <parameter name="userdata" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <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"/>
      <member name="auto"
              value="1"
              c:identifier="GEDIT_NOTEBOOK_SHOW_TABS_AUTO"
              glib:nick="auto"/>
      <member name="always"
              value="2"
              c:identifier="GEDIT_NOTEBOOK_SHOW_TABS_ALWAYS"
              glib:nick="always"/>
    </enumeration>
    <class name="Panel"
           c:symbol-prefix="panel"
           c:type="GeditPanel"
           parent="Gtk.Bin"
           glib:type-name="GeditPanel"
           glib:get-type="gedit_panel_get_type"
           glib:type-struct="PanelClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="gedit_panel_new">
        <doc xml:whitespace="preserve">Creates a new #GeditPanel with the given @orientation. You shouldn't create
a new panel use gedit_window_get_side_panel() or gedit_window_get_bottom_panel()
instead.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #GeditPanel object.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="orientation" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GtkOrientation</doc>
            <type name="Gtk.Orientation" c:type="GtkOrientation"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="close">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="focus_document">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="item_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="item_removed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="activate_item" c:identifier="gedit_panel_activate_item">
        <doc xml:whitespace="preserve">Switches to the page that contains @item.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if it was activated</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:whitespace="preserve">the item to be activated</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_item" c:identifier="gedit_panel_add_item">
        <doc xml:whitespace="preserve">Adds a new item to the @panel.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE is the item was successfully added.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GtkWidget to add to the @panel</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">unique name for the new item</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="display_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the name to be shown in the @panel</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="image" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">the image to be shown in the @panel, or %NULL</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_item_with_stock_icon"
              c:identifier="gedit_panel_add_item_with_stock_icon">
        <doc xml:whitespace="preserve">Same as gedit_panel_add_item() but using an image from stock.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE is the item was successfully added.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:whitespace="preserve">the #GtkWidget to add to the @panel</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:whitespace="preserve">unique name for the new item</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="display_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the name to be shown in the @panel</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="stock_id" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a stock id, or %NULL</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_active" c:identifier="gedit_panel_get_active">
        <doc xml:whitespace="preserve">Gets the active item in @panel</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the active item in @panel</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </method>
      <method name="get_n_items" c:identifier="gedit_panel_get_n_items">
        <doc xml:whitespace="preserve">Gets the number of items in a @panel.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the number of items contained in #GeditPanel</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_orientation"
              c:identifier="gedit_panel_get_orientation">
        <doc xml:whitespace="preserve">Gets the orientation of the @panel.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GtkOrientation of #GeditPanel</doc>
          <type name="Gtk.Orientation" c:type="GtkOrientation"/>
        </return-value>
      </method>
      <method name="item_is_active" c:identifier="gedit_panel_item_is_active">
        <doc xml:whitespace="preserve">Returns whether @item is the active widget in @panel</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if @item is the active widget</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GtkWidget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_item" c:identifier="gedit_panel_remove_item">
        <doc xml:whitespace="preserve">Removes the widget @item from the panel if it is in the @panel and returns
%TRUE if there was not any problem.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if it was well removed.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:whitespace="preserve">the item to be removed from the panel</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="orientation"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gtk.Orientation"/>
      </property>
      <field name="parent">
        <type name="Gtk.Bin" c:type="GtkBin"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="PanelPrivate" c:type="GeditPanelPrivate*"/>
      </field>
      <glib:signal name="close" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="focus-document" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="item-added" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gtk.Widget"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="item-removed" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gtk.Widget"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="PanelClass"
            c:type="GeditPanelClass"
            glib:is-gtype-struct-for="Panel">
      <field name="parent_class">
        <type name="Gtk.BinClass" c:type="GtkBinClass"/>
      </field>
      <field name="item_added">
        <callback name="item_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="panel" transfer-ownership="none">
              <type name="Panel" c:type="GeditPanel*"/>
            </parameter>
            <parameter name="item" transfer-ownership="none">
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="item_removed">
        <callback name="item_removed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="panel" transfer-ownership="none">
              <type name="Panel" c:type="GeditPanel*"/>
            </parameter>
            <parameter name="item" transfer-ownership="none">
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="close">
        <callback name="close">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="panel" transfer-ownership="none">
              <type name="Panel" c:type="GeditPanel*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="focus_document">
        <callback name="focus_document">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="panel" transfer-ownership="none">
              <type name="Panel" c:type="GeditPanel*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_gedit_reserved1" introspectable="0">
        <callback name="_gedit_reserved1">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gedit_reserved2" introspectable="0">
        <callback name="_gedit_reserved2">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gedit_reserved3" introspectable="0">
        <callback name="_gedit_reserved3">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_gedit_reserved4" introspectable="0">
        <callback name="_gedit_reserved4">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="PanelPrivate" c:type="GeditPanelPrivate" disguised="1">
    </record>
    <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">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="gedit_progress_info_bar_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="stock_id" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="markup" transfer-ownership="none">
            <type name="utf8" c:type="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">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set_fraction"
              c:identifier="gedit_progress_info_bar_set_fraction">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="fraction" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_markup"
              c:identifier="gedit_progress_info_bar_set_markup">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="markup" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_stock_image"
              c:identifier="gedit_progress_info_bar_set_stock_image">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="stock_id" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_text" c:identifier="gedit_progress_info_bar_set_text">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="has-cancel-button"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="parent">
        <type name="Gtk.InfoBar" c:type="GtkInfoBar"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ProgressInfoBarPrivate"
              c:type="GeditProgressInfoBarPrivate*"/>
      </field>
    </class>
    <record name="ProgressInfoBarClass"
            c:type="GeditProgressInfoBarClass"
            glib:is-gtype-struct-for="ProgressInfoBar">
      <field name="parent_class">
        <type name="Gtk.InfoBarClass" c:type="GtkInfoBarClass"/>
      </field>
    </record>
    <record name="ProgressInfoBarPrivate"
            c:type="GeditProgressInfoBarPrivate"
            disguised="1">
    </record>
    <bitfield name="SearchFlags"
              glib:type-name="GeditSearchFlags"
              glib:get-type="gedit_search_flags_get_type"
              c:type="GeditSearchFlags">
      <member name="dont_set_flags"
              value="1"
              c:identifier="GEDIT_SEARCH_DONT_SET_FLAGS"
              glib:nick="dont-set-flags"/>
      <member name="entire_word"
              value="2"
              c:identifier="GEDIT_SEARCH_ENTIRE_WORD"
              glib:nick="entire-word"/>
      <member name="case_sensitive"
              value="4"
              c:identifier="GEDIT_SEARCH_CASE_SENSITIVE"
              glib:nick="case-sensitive"/>
    </bitfield>
    <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">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="gedit_statusbar_new">
        <doc xml:whitespace="preserve">Creates a new #GeditStatusbar.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">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">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="flash_message"
              c:identifier="gedit_statusbar_flash_message"
              introspectable="0">
        <doc xml:whitespace="preserve">Flash a temporary message on the statusbar.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="context_id" transfer-ownership="none">
            <doc xml:whitespace="preserve">message context_id</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:whitespace="preserve">message to flash on the statusbar</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter transfer-ownership="none">
            <varargs>
            </varargs>
          </parameter>
        </parameters>
      </method>
      <method name="set_cursor_position"
              c:identifier="gedit_statusbar_set_cursor_position">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="line" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="col" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_overwrite"
              c:identifier="gedit_statusbar_set_overwrite">
        <doc xml:whitespace="preserve">Sets the overwrite mode on the statusbar.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="overwrite" transfer-ownership="none">
            <doc xml:whitespace="preserve">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">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <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>
      <field name="parent">
        <type name="Gtk.Statusbar" c:type="GtkStatusbar"/>
      </field>
      <field name="priv">
        <type name="StatusbarPrivate" c:type="GeditStatusbarPrivate*"/>
      </field>
    </class>
    <record name="StatusbarClass"
            c:type="GeditStatusbarClass"
            glib:is-gtype-struct-for="Statusbar">
      <field name="parent_class">
        <type name="Gtk.StatusbarClass" c:type="GtkStatusbarClass"/>
      </field>
    </record>
    <record name="StatusbarPrivate"
            c:type="GeditStatusbarPrivate"
            disguised="1">
    </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">
      <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:whitespace="preserve">Gets the #GeditTab associated with @doc.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GeditTab associated with @doc</doc>
          <type name="Tab" c:type="GeditTab*"/>
        </return-value>
        <parameters>
          <parameter name="doc" transfer-ownership="none">
            <doc xml:whitespace="preserve">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:whitespace="preserve">Gets the current state for the autosave feature</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the autosave is enabled, else %FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="get_auto_save_interval"
              c:identifier="gedit_tab_get_auto_save_interval">
        <doc xml:whitespace="preserve">Gets the current interval for the autosaves</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the value of the autosave</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
      </method>
      <method name="get_document" c:identifier="gedit_tab_get_document">
        <doc xml:whitespace="preserve">Gets the #GeditDocument associated to @tab.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GeditDocument associated to @tab</doc>
          <type name="Document" c:type="GeditDocument*"/>
        </return-value>
      </method>
      <method name="get_state" c:identifier="gedit_tab_get_state">
        <doc xml:whitespace="preserve">Gets the #GeditTabState of @tab.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GeditTabState of @tab</doc>
          <type name="TabState" c:type="GeditTabState"/>
        </return-value>
      </method>
      <method name="get_view" c:identifier="gedit_tab_get_view">
        <doc xml:whitespace="preserve">Gets the #GeditView inside @tab.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GeditView inside @tab</doc>
          <type name="View" c:type="GeditView*"/>
        </return-value>
      </method>
      <method name="set_auto_save_enabled"
              c:identifier="gedit_tab_set_auto_save_enabled">
        <doc xml:whitespace="preserve">Enables or disables the autosave feature. It does not install an
autosave timeout if the document is new or is read-only</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="enable" transfer-ownership="none">
            <doc xml:whitespace="preserve">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:whitespace="preserve">Sets the interval for the autosave feature. It does nothing if the
interval is the same as the one already present. It removes the old
interval timeout and adds a new one with the autosave passed as
argument.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="interval" transfer-ownership="none">
            <doc xml:whitespace="preserve">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">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <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">
        <type name="gboolean"/>
      </property>
      <property name="autosave-interval"
                writable="1"
                transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="name" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="state" transfer-ownership="none">
        <type name="TabState"/>
      </property>
      <field name="vbox">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="TabPrivate" c:type="GeditTabPrivate*"/>
      </field>
      <glib:signal name="drop-uris" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </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">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
      <field name="drop_uris">
        <callback name="drop_uris">
          <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>
    </record>
    <record name="TabPrivate" c:type="GeditTabPrivate" disguised="1">
    </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"/>
      <member name="state_loading"
              value="1"
              c:identifier="GEDIT_TAB_STATE_LOADING"
              glib:nick="state-loading"/>
      <member name="state_reverting"
              value="2"
              c:identifier="GEDIT_TAB_STATE_REVERTING"
              glib:nick="state-reverting"/>
      <member name="state_saving"
              value="3"
              c:identifier="GEDIT_TAB_STATE_SAVING"
              glib:nick="state-saving"/>
      <member name="state_printing"
              value="4"
              c:identifier="GEDIT_TAB_STATE_PRINTING"
              glib:nick="state-printing"/>
      <member name="state_print_previewing"
              value="5"
              c:identifier="GEDIT_TAB_STATE_PRINT_PREVIEWING"
              glib:nick="state-print-previewing"/>
      <member name="state_showing_print_preview"
              value="6"
              c:identifier="GEDIT_TAB_STATE_SHOWING_PRINT_PREVIEW"
              glib:nick="state-showing-print-preview"/>
      <member name="state_generic_not_editable"
              value="7"
              c:identifier="GEDIT_TAB_STATE_GENERIC_NOT_EDITABLE"
              glib:nick="state-generic-not-editable"/>
      <member name="state_loading_error"
              value="8"
              c:identifier="GEDIT_TAB_STATE_LOADING_ERROR"
              glib:nick="state-loading-error"/>
      <member name="state_reverting_error"
              value="9"
              c:identifier="GEDIT_TAB_STATE_REVERTING_ERROR"
              glib:nick="state-reverting-error"/>
      <member name="state_saving_error"
              value="10"
              c:identifier="GEDIT_TAB_STATE_SAVING_ERROR"
              glib:nick="state-saving-error"/>
      <member name="state_generic_error"
              value="11"
              c:identifier="GEDIT_TAB_STATE_GENERIC_ERROR"
              glib:nick="state-generic-error"/>
      <member name="state_closing"
              value="12"
              c:identifier="GEDIT_TAB_STATE_CLOSING"
              glib:nick="state-closing"/>
      <member name="state_externally_modified_notification"
              value="13"
              c:identifier="GEDIT_TAB_STATE_EXTERNALLY_MODIFIED_NOTIFICATION"
              glib:nick="state-externally-modified-notification"/>
      <member name="num_of_states"
              value="14"
              c:identifier="GEDIT_TAB_NUM_OF_STATES"
              glib:nick="num-of-states"/>
    </enumeration>
    <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">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="gedit_view_new">
        <doc xml:whitespace="preserve">Creates a new #GeditView object displaying the @doc document. 
@doc cannot be %NULL.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #GeditView</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="doc" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GeditDocument</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="drop_uris">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <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">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="cut_clipboard" c:identifier="gedit_view_cut_clipboard">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="delete_selection"
              c:identifier="gedit_view_delete_selection">
        <doc xml:whitespace="preserve">Deletes the text currently selected in the #GtkTextBuffer associated
to the view and scroll to the cursor position.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="paste_clipboard" c:identifier="gedit_view_paste_clipboard">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="scroll_to_cursor"
              c:identifier="gedit_view_scroll_to_cursor">
        <doc xml:whitespace="preserve">Scrolls the @view to the cursor position.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="select_all" c:identifier="gedit_view_select_all">
        <doc xml:whitespace="preserve">Selects all the text displayed in the @view.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set_font" c:identifier="gedit_view_set_font">
        <doc xml:whitespace="preserve">If @def is #TRUE, resets the font of the @view to the default font
otherwise sets it to @font_name.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="def" transfer-ownership="none">
            <doc xml:whitespace="preserve">whether to reset the default font</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="font_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">the name of the font to use</doc>
            <type name="utf8" c:type="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">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <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">
      <virtual-method name="activate" invoker="activate">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="activate" c:identifier="gedit_view_activatable_activate">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="deactivate"
              c:identifier="gedit_view_activatable_deactivate">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="view"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="View"/>
      </property>
    </interface>
    <record name="ViewActivatableInterface"
            c:type="GeditViewActivatableInterface"
            glib:is-gtype-struct-for="ViewActivatable">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <type name="ViewActivatable" c:type="GeditViewActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <type name="ViewActivatable" c:type="GeditViewActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="ViewClass"
            c:type="GeditViewClass"
            glib:is-gtype-struct-for="View">
      <field name="parent_class">
        <type name="GtkSource.ViewClass" c:type="GtkSourceViewClass"/>
      </field>
      <field name="drop_uris">
        <callback name="drop_uris">
          <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>
    </record>
    <record name="ViewPrivate" c:type="GeditViewPrivate" disguised="1">
    </record>
    <class name="Window"
           c:symbol-prefix="window"
           c:type="GeditWindow"
           parent="Gtk.Window"
           glib:type-name="GeditWindow"
           glib:get-type="gedit_window_get_type"
           glib:type-struct="WindowClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <virtual-method name="active_tab_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="GeditTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="active_tab_state_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="tab_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="GeditTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tab_removed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="GeditTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tabs_reordered">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="close_all_tabs" c:identifier="gedit_window_close_all_tabs">
        <doc xml:whitespace="preserve">Closes all opened tabs.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="close_tab" c:identifier="gedit_window_close_tab">
        <doc xml:whitespace="preserve">Closes the @tab.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:whitespace="preserve">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:whitespace="preserve">Closes all tabs specified by @tabs.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tabs" transfer-ownership="none">
            <doc xml:whitespace="preserve">a list of #GeditTab</doc>
            <type name="GLib.List" c:type="GList*">
              <type name="Tab"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="create_tab" c:identifier="gedit_window_create_tab">
        <doc xml:whitespace="preserve">Creates a new #GeditTab and adds the new tab to the #GeditNotebook.
In case @jump_to is %TRUE the #GeditNotebook switches to that new #GeditTab.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #GeditTab</doc>
          <type name="Tab" c:type="GeditTab*"/>
        </return-value>
        <parameters>
          <parameter name="jump_to" transfer-ownership="none">
            <doc xml:whitespace="preserve">%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:whitespace="preserve">Creates a new #GeditTab loading the document specified by @uri.
In case @jump_to is %TRUE the #GeditNotebook swithes to that new #GeditTab.
Whether @create is %TRUE, creates a new empty document if location does 
not refer to an existing file</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #GeditTab</doc>
          <type name="Tab" c:type="GeditTab*"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none">
            <doc xml:whitespace="preserve">the location of the document</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GeditEncoding, or %NULL</doc>
            <type name="Encoding" c:type="GeditEncoding*"/>
          </parameter>
          <parameter name="line_pos" transfer-ownership="none">
            <doc xml:whitespace="preserve">the line position to visualize</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="column_pos" transfer-ownership="none">
            <doc xml:whitespace="preserve">the column position to visualize</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="create" transfer-ownership="none">
            <doc xml:whitespace="preserve">%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:whitespace="preserve">%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">
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">a new #GeditTab</doc>
          <type name="Tab" c:type="GeditTab*"/>
        </return-value>
        <parameters>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GInputStream</doc>
            <type name="Gio.InputStream" c:type="GInputStream*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">a #GeditEncoding, or %NULL</doc>
            <type name="Encoding" c:type="GeditEncoding*"/>
          </parameter>
          <parameter name="line_pos" transfer-ownership="none">
            <doc xml:whitespace="preserve">the line position to visualize</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="column_pos" transfer-ownership="none">
            <doc xml:whitespace="preserve">the column position to visualize</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="jump_to" transfer-ownership="none">
            <doc xml:whitespace="preserve">%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:whitespace="preserve">Gets the active #GeditDocument.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the active #GeditDocument</doc>
          <type name="Document" c:type="GeditDocument*"/>
        </return-value>
      </method>
      <method name="get_active_tab" c:identifier="gedit_window_get_active_tab">
        <doc xml:whitespace="preserve">Gets the active #GeditTab in the @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the active #GeditTab in the @window.</doc>
          <type name="Tab" c:type="GeditTab*"/>
        </return-value>
      </method>
      <method name="get_active_view"
              c:identifier="gedit_window_get_active_view">
        <doc xml:whitespace="preserve">Gets the active #GeditView.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the active #GeditView</doc>
          <type name="View" c:type="GeditView*"/>
        </return-value>
      </method>
      <method name="get_bottom_panel"
              c:identifier="gedit_window_get_bottom_panel">
        <doc xml:whitespace="preserve">Gets the bottom #GeditPanel of the @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the bottom #GeditPanel.</doc>
          <type name="Panel" c:type="GeditPanel*"/>
        </return-value>
      </method>
      <method name="get_documents" c:identifier="gedit_window_get_documents">
        <doc xml:whitespace="preserve">Gets a newly allocated list with all the documents in the window.
This list must be freed.

allocated list with all the documents in the window</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">a newly</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Document"/>
          </type>
        </return-value>
      </method>
      <method name="get_group" c:identifier="gedit_window_get_group">
        <doc xml:whitespace="preserve">Gets the #GtkWindowGroup in which @window resides.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GtkWindowGroup</doc>
          <type name="Gtk.WindowGroup" c:type="GtkWindowGroup*"/>
        </return-value>
      </method>
      <method name="get_message_bus"
              c:identifier="gedit_window_get_message_bus">
        <doc xml:whitespace="preserve">Gets the #GeditMessageBus associated with @window. The returned reference
is owned by the window and should not be unreffed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GeditMessageBus associated with @window</doc>
          <type name="MessageBus" c:type="GeditMessageBus*"/>
        </return-value>
      </method>
      <method name="get_side_panel" c:identifier="gedit_window_get_side_panel">
        <doc xml:whitespace="preserve">Gets the side #GeditPanel of the @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the side #GeditPanel.</doc>
          <type name="Panel" c:type="GeditPanel*"/>
        </return-value>
      </method>
      <method name="get_state" c:identifier="gedit_window_get_state">
        <doc xml:whitespace="preserve">Retrieves the state of the @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the current #GeditWindowState of the @window.</doc>
          <type name="WindowState" c:type="GeditWindowState"/>
        </return-value>
      </method>
      <method name="get_statusbar" c:identifier="gedit_window_get_statusbar">
        <doc xml:whitespace="preserve">Gets the #GeditStatusbar of the @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GeditStatusbar of the @window.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </method>
      <method name="get_tab_from_location"
              c:identifier="gedit_window_get_tab_from_location">
        <doc xml:whitespace="preserve">Gets the #GeditTab that matches with the given @location.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GeditTab that matches with the given @location.</doc>
          <type name="Tab" c:type="GeditTab*"/>
        </return-value>
        <parameters>
          <parameter name="location" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GFile</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_ui_manager" c:identifier="gedit_window_get_ui_manager">
        <doc xml:whitespace="preserve">Gets the #GtkUIManager associated with the @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GtkUIManager of the @window.</doc>
          <type name="Gtk.UIManager" c:type="GtkUIManager*"/>
        </return-value>
      </method>
      <method name="get_unsaved_documents"
              c:identifier="gedit_window_get_unsaved_documents">
        <doc xml:whitespace="preserve">Gets the list of documents that need to be saved before closing the window.

#GeditDocument that need to be saved before closing the window</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">a list of</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Document"/>
          </type>
        </return-value>
      </method>
      <method name="get_views" c:identifier="gedit_window_get_views">
        <doc xml:whitespace="preserve">Gets a list with all the views in the window. This list must be freed.

list with all the views in the window</doc>
        <return-value transfer-ownership="container">
          <doc xml:whitespace="preserve">a newly allocated</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="View"/>
          </type>
        </return-value>
      </method>
      <method name="set_active_tab" c:identifier="gedit_window_set_active_tab">
        <doc xml:whitespace="preserve">Switches to the tab that matches with @tab.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:whitespace="preserve">a #GeditTab</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </parameter>
        </parameters>
      </method>
      <property name="state" transfer-ownership="none">
        <type name="WindowState"/>
      </property>
      <field name="window">
        <type name="Gtk.Window" c:type="GtkWindow"/>
      </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"/>
        </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"/>
        </return-value>
      </glib:signal>
      <glib:signal name="tab-added" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </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"/>
        </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"/>
        </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">
      <virtual-method name="activate" invoker="activate">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="update_state" invoker="update_state">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="activate" c:identifier="gedit_window_activatable_activate">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="deactivate"
              c:identifier="gedit_window_activatable_deactivate">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="update_state"
              c:identifier="gedit_window_activatable_update_state">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="window"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Window"/>
      </property>
    </interface>
    <record name="WindowActivatableInterface"
            c:type="GeditWindowActivatableInterface"
            glib:is-gtype-struct-for="WindowActivatable">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="update_state">
        <callback name="update_state">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="WindowClass"
            c:type="GeditWindowClass"
            glib:is-gtype-struct-for="Window">
      <field name="parent_class">
        <type name="Gtk.WindowClass" c:type="GtkWindowClass"/>
      </field>
      <field name="tab_added">
        <callback name="tab_added">
          <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">
          <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">
          <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">
          <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">
          <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">
    </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"/>
      <member name="saving"
              value="2"
              c:identifier="GEDIT_WINDOW_STATE_SAVING"
              glib:nick="saving"/>
      <member name="printing"
              value="4"
              c:identifier="GEDIT_WINDOW_STATE_PRINTING"
              glib:nick="printing"/>
      <member name="loading"
              value="8"
              c:identifier="GEDIT_WINDOW_STATE_LOADING"
              glib:nick="loading"/>
      <member name="error"
              value="16"
              c:identifier="GEDIT_WINDOW_STATE_ERROR"
              glib:nick="error"/>
      <member name="saving_session"
              value="32"
              c:identifier="GEDIT_WINDOW_STATE_SAVING_SESSION"
              glib:nick="saving-session"/>
    </bitfield>
    <function name="commands_load_location"
              c:identifier="gedit_commands_load_location">
      <doc xml:whitespace="preserve">Loads @location. Ignores non-existing locations</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="window" transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GeditWindow</doc>
          <type name="Window" c:type="GeditWindow*"/>
        </parameter>
        <parameter name="location" transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GFile to be loaded</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
        <parameter name="encoding" transfer-ownership="none" allow-none="1">
          <doc xml:whitespace="preserve">the #GeditEncoding of @location</doc>
          <type name="Encoding" c:type="GeditEncoding*"/>
        </parameter>
        <parameter name="line_pos" transfer-ownership="none">
          <doc xml:whitespace="preserve">the line position to place the cursor when @location is loaded</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="column_pos" transfer-ownership="none">
          <doc xml:whitespace="preserve">the line column to place the cursor when @location is loaded</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="commands_load_locations"
              c:identifier="gedit_commands_load_locations">
      <doc xml:whitespace="preserve">Loads @locations. Ignore non-existing locations</doc>
      <return-value transfer-ownership="container">
        <doc xml:whitespace="preserve">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:whitespace="preserve">a #GeditWindow</doc>
          <type name="Window" c:type="GeditWindow*"/>
        </parameter>
        <parameter name="locations" transfer-ownership="none">
          <doc xml:whitespace="preserve">the locations to be loaded</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="Gio.File"/>
          </type>
        </parameter>
        <parameter name="encoding" transfer-ownership="none" allow-none="1">
          <doc xml:whitespace="preserve">the #GeditEncoding of @location</doc>
          <type name="Encoding" c:type="GeditEncoding*"/>
        </parameter>
        <parameter name="line_pos" transfer-ownership="none">
          <doc xml:whitespace="preserve">the line position to place the cursor when @location is loaded</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="column_pos" transfer-ownership="none">
          <doc xml:whitespace="preserve">the line column to place the cursor when @location is loaded</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="commands_save_all_documents"
              c:identifier="gedit_commands_save_all_documents">
      <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>
    </function>
    <function name="commands_save_document"
              c:identifier="gedit_commands_save_document">
      <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="document" transfer-ownership="none">
          <type name="Document" c:type="GeditDocument*"/>
        </parameter>
      </parameters>
    </function>
    <function name="debug" c:identifier="gedit_debug">
      <doc xml:whitespace="preserve">If output for debug section @section is enabled, then logs the trace
information @file, @line, and @function.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="section" transfer-ownership="none">
          <doc xml:whitespace="preserve">Debug section.</doc>
          <type name="DebugSection" c:type="GeditDebugSection"/>
        </parameter>
        <parameter name="file" transfer-ownership="none">
          <doc xml:whitespace="preserve">Name of the source file containing the call to gedit_debug().</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <doc xml:whitespace="preserve">Line number within the file named by @file of the call to gedit_debug().</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="function" transfer-ownership="none">
          <doc xml:whitespace="preserve">Name of the function that is calling gedit_debug().</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="debug_init" c:identifier="gedit_debug_init">
      <doc xml:whitespace="preserve">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>
      <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:whitespace="preserve">If output for debug section @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>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="section" transfer-ownership="none">
          <doc xml:whitespace="preserve">Debug section.</doc>
          <type name="DebugSection" c:type="GeditDebugSection"/>
        </parameter>
        <parameter name="file" transfer-ownership="none">
          <doc xml:whitespace="preserve">Name of the source file containing the call to gedit_debug_message().</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <doc xml:whitespace="preserve">Line number within the file named by @file of the call to gedit_debug_message().</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="function" transfer-ownership="none">
          <doc xml:whitespace="preserve">Name of the function that is calling gedit_debug_message().</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <doc xml:whitespace="preserve">A g_vprintf() format string.</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="debug_plugin_message"
              c:identifier="gedit_debug_plugin_message"
              version="3.4">
      <doc xml:whitespace="preserve">If output for debug section %GEDIT_DEBUG_PLUGINS is enabled, then logs the trace
information @file, @line, and @function along with the informational message
@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>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="file" transfer-ownership="none">
          <doc xml:whitespace="preserve">Name of the source file containing the call to gedit_debug_plugin_message().</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <doc xml:whitespace="preserve">Line number within the file named by @file of the call to gedit_debug_plugin_message().</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="function" transfer-ownership="none">
          <doc xml:whitespace="preserve">Name of the function that is calling gedit_debug_plugin_message().</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <doc xml:whitespace="preserve">An informational message.</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="dialog_add_button"
              c:identifier="gedit_dialog_add_button"
              introspectable="0">
      <return-value>
        <type name="Gtk.Widget" c:type="GtkWidget*"/>
      </return-value>
      <parameters>
        <parameter name="dialog" transfer-ownership="none">
          <type name="Gtk.Dialog" c:type="GtkDialog*"/>
        </parameter>
        <parameter name="text" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="stock_id" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="response_id" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="encoding_get_current"
              c:identifier="gedit_encoding_get_current"
              moved-to="Encoding.get_current">
      <return-value transfer-ownership="none">
        <type name="Encoding" c:type="GeditEncoding*"/>
      </return-value>
    </function>
    <function name="encoding_get_from_charset"
              c:identifier="gedit_encoding_get_from_charset"
              moved-to="Encoding.get_from_charset">
      <return-value transfer-ownership="none">
        <type name="Encoding" c:type="GeditEncoding*"/>
      </return-value>
      <parameters>
        <parameter name="charset" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="encoding_get_from_index"
              c:identifier="gedit_encoding_get_from_index"
              moved-to="Encoding.get_from_index">
      <return-value transfer-ownership="none">
        <type name="Encoding" c:type="GeditEncoding*"/>
      </return-value>
      <parameters>
        <parameter name="index" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="encoding_get_utf8"
              c:identifier="gedit_encoding_get_utf8"
              moved-to="Encoding.get_utf8">
      <return-value transfer-ownership="none">
        <type name="Encoding" c:type="GeditEncoding*"/>
      </return-value>
    </function>
    <function name="gtk_button_new_with_stock_icon"
              c:identifier="gedit_gtk_button_new_with_stock_icon"
              introspectable="0">
      <return-value>
        <type name="Gtk.Widget" c:type="GtkWidget*"/>
      </return-value>
      <parameters>
        <parameter name="label" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="stock_id" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_BOOLEAN__OBJECT"
              c:identifier="gedit_marshal_BOOLEAN__OBJECT">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_BOOLEAN__VOID"
              c:identifier="gedit_marshal_BOOLEAN__VOID">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_OBJECT__OBJECT_OBJECT_INT_INT"
              c:identifier="gedit_marshal_OBJECT__OBJECT_OBJECT_INT_INT">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_VOID__BOOLEAN_POINTER"
              c:identifier="gedit_marshal_VOID__BOOLEAN_POINTER">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_VOID__BOXED_BOXED"
              c:identifier="gedit_marshal_VOID__BOXED_BOXED">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_VOID__BOXED_OBJECT"
              c:identifier="gedit_marshal_VOID__BOXED_OBJECT">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_VOID__INT_INT"
              c:identifier="gedit_marshal_VOID__INT_INT">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_VOID__OBJECT_BOXED_ENUM_ENUM_FLAGS"
              c:identifier="gedit_marshal_VOID__OBJECT_BOXED_ENUM_ENUM_FLAGS">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_VOID__OBJECT_BOXED_INT_BOOLEAN"
              c:identifier="gedit_marshal_VOID__OBJECT_BOXED_INT_BOOLEAN">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_VOID__OBJECT_OBJECT"
              c:identifier="gedit_marshal_VOID__OBJECT_OBJECT">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_VOID__OBJECT_OBJECT_INT"
              c:identifier="gedit_marshal_VOID__OBJECT_OBJECT_INT">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_VOID__OBJECT_OBJECT_OBJECT_OBJECT"
              c:identifier="gedit_marshal_VOID__OBJECT_OBJECT_OBJECT_OBJECT">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_VOID__STRING_STRING"
              c:identifier="gedit_marshal_VOID__STRING_STRING">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_VOID__UINT64_UINT64"
              c:identifier="gedit_marshal_VOID__UINT64_UINT64">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_basename_for_display"
              c:identifier="gedit_utils_basename_for_display">
      <return-value transfer-ownership="full">
        <doc xml:whitespace="preserve">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:whitespace="preserve">location for which the basename should be displayed</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_can_read_from_stdin"
              c:identifier="gedit_utils_can_read_from_stdin">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
    </function>
    <function name="utils_decode_uri" c:identifier="gedit_utils_decode_uri">
      <doc xml:whitespace="preserve">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>
      <return-value transfer-ownership="none">
        <doc xml:whitespace="preserve">%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:whitespace="preserve">the uri to decode</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="scheme"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   allow-none="1">
          <doc xml:whitespace="preserve">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"
                   allow-none="1">
          <doc xml:whitespace="preserve">return value pointer for the uri user info, or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="port"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   allow-none="1">
          <doc xml:whitespace="preserve">return value pointer for the uri port, or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="host"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   allow-none="1">
          <doc xml:whitespace="preserve">return value pointer for the uri host, or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="path"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   allow-none="1">
          <doc xml:whitespace="preserve">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:whitespace="preserve">Create a list of valid uri's from a uri-list drop.

%NULL if there were no valid uris. g_strfreev should be used when
the string array is no longer used</doc>
      <return-value transfer-ownership="full">
        <doc xml:whitespace="preserve">a string array which will hold the uris or</doc>
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="selection_data" transfer-ownership="none">
          <doc xml:whitespace="preserve">the #GtkSelectionData from drag_data_received</doc>
          <type name="Gtk.SelectionData" c:type="GtkSelectionData*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_escape_search_text"
              c:identifier="gedit_utils_escape_search_text">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="text" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_escape_underscores"
              c:identifier="gedit_utils_escape_underscores">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="text" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="gssize" c:type="gssize"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_compression_type_from_content_type"
              c:identifier="gedit_utils_get_compression_type_from_content_type">
      <return-value transfer-ownership="none">
        <type name="DocumentCompressionType"
              c:type="GeditDocumentCompressionType"/>
      </return-value>
      <parameters>
        <parameter name="content_type" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_current_viewport"
              c:identifier="gedit_utils_get_current_viewport">
      <doc xml:whitespace="preserve">Get the currently visible viewport origin for the #GdkScreen.

If the X11 window property isn't found, (0, 0) is returned.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="screen" transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GdkScreen</doc>
          <type name="Gdk.Screen" c:type="GdkScreen*"/>
        </parameter>
        <parameter name="x"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:whitespace="preserve">x-axis point.</doc>
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="y"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:whitespace="preserve">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:whitespace="preserve">Get the currently visible workspace for the #GdkScreen.

If the X11 window property isn't found, 0 (the first workspace)
is returned.</doc>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="screen" transfer-ownership="none">
          <doc xml:whitespace="preserve">a #GdkScreen</doc>
          <type name="Gdk.Screen" c:type="GdkScreen*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_ui_objects"
              c:identifier="gedit_utils_get_ui_objects"
              introspectable="0">
      <doc xml:whitespace="preserve">This function gets the requested objects from a GtkBuilder ui file. In case
of error it returns %FALSE and sets error_widget to a GtkLabel containing
the error message to display.</doc>
      <return-value transfer-ownership="none">
        <doc xml:whitespace="preserve">%FALSE if an error occurs, %TRUE on success.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <doc xml:whitespace="preserve">the path to the gtk builder file</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="root_objects" transfer-ownership="none">
          <doc xml:whitespace="preserve">a %NULL terminated list of root objects to load or NULL to load all objects</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="error_widget" transfer-ownership="none">
          <doc xml:whitespace="preserve">a pointer were a #GtkLabel</doc>
          <type name="Gtk.Widget" c:type="GtkWidget**"/>
        </parameter>
        <parameter name="object_name" transfer-ownership="none">
          <doc xml:whitespace="preserve">the name of the first object</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_ui_objects_with_translation_domain"
              c:identifier="gedit_utils_get_ui_objects_with_translation_domain"
              introspectable="0">
      <doc xml:whitespace="preserve">This function gets the requested objects from a GtkBuilder ui file. In case
of error it returns %FALSE and sets error_widget to a GtkLabel containing
the error message to display.</doc>
      <return-value transfer-ownership="none">
        <doc xml:whitespace="preserve">%FALSE if an error occurs, %TRUE on success.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <doc xml:whitespace="preserve">the path to the gtk builder file</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="translation_domain" transfer-ownership="none">
          <doc xml:whitespace="preserve">the specific translation domain</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="root_objects" transfer-ownership="none">
          <doc xml:whitespace="preserve">a %NULL terminated list of root objects to load or NULL to load all objects</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="error_widget" transfer-ownership="none">
          <doc xml:whitespace="preserve">a pointer were a #GtkLabel</doc>
          <type name="Gtk.Widget" c:type="GtkWidget**"/>
        </parameter>
        <parameter name="object_name" transfer-ownership="none">
          <doc xml:whitespace="preserve">the name of the first object</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_window_workspace"
              c:identifier="gedit_utils_get_window_workspace">
      <doc xml:whitespace="preserve">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 support this function</doc>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="gtkwindow" transfer-ownership="none">
          <type name="Gtk.Window" c:type="GtkWindow*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_is_valid_location"
              c:identifier="gedit_utils_is_valid_location">
      <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:whitespace="preserve">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>
      <return-value transfer-ownership="full">
        <doc xml:whitespace="preserve">a string to display the dirname</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="location" transfer-ownership="none">
          <doc xml:whitespace="preserve">the location</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_location_has_file_scheme"
              c:identifier="gedit_utils_location_has_file_scheme">
      <return-value transfer-ownership="none">
        <doc xml:whitespace="preserve">%TRUE if @location is a file: uri and is not a chained uri</doc>
        <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_make_canonical_uri_from_shell_arg"
              c:identifier="gedit_utils_make_canonical_uri_from_shell_arg">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_make_valid_utf8"
              c:identifier="gedit_utils_make_valid_utf8">
      <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="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_menu_position_under_tree_view"
              c:identifier="gedit_utils_menu_position_under_tree_view">
      <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">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_menu_position_under_widget"
              c:identifier="gedit_utils_menu_position_under_widget">
      <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">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_replace_home_dir_with_tilde"
              c:identifier="gedit_utils_replace_home_dir_with_tilde">
      <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="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_set_atk_name_description"
              c:identifier="gedit_utils_set_atk_name_description">
      <doc xml:whitespace="preserve">This function sets up name and description
for a specified gtk widget.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="widget" transfer-ownership="none">
          <doc xml:whitespace="preserve">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:whitespace="preserve">Atk name string</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
        <parameter name="description" transfer-ownership="none">
          <doc xml:whitespace="preserve">Atk description string</doc>
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_set_atk_relation"
              c:identifier="gedit_utils_set_atk_relation">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="obj1" transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="obj2" transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="rel_type" transfer-ownership="none">
          <type name="Atk.RelationType" c:type="AtkRelationType"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_str_end_truncate"
              c:identifier="gedit_utils_str_end_truncate">
      <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="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">
      <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="gchar*"/>
        </parameter>
        <parameter name="truncate_length" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_unescape_search_text"
              c:identifier="gedit_utils_unescape_search_text">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="text" transfer-ownership="none">
          <type name="utf8" c:type="gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_uri_get_dirname"
              c:identifier="gedit_utils_uri_get_dirname">
      <doc xml:whitespace="preserve">Note: this function replace home dir with ~</doc>
      <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="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="warning" c:identifier="gedit_warning" introspectable="0">
      <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="gchar*"/>
        </parameter>
        <parameter transfer-ownership="none">
          <varargs>
          </varargs>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
