<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:doc="http://www.gtk.org/introspection/doc/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Gtk" version="3.0"/>
  <include name="GtkSource" version="4"/>
  <doc:format name="unknown"/>
  <namespace name="Pluma"
             version="1.0"
             shared-library=""
             c:identifier-prefixes="Pluma"
             c:symbol-prefixes="pluma">
    <function-macro name="APP" c:identifier="PLUMA_APP" introspectable="0">
      <source-position filename="pluma-app.h" line="45"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="APP_CLASS"
                    c:identifier="PLUMA_APP_CLASS"
                    introspectable="0">
      <source-position filename="pluma-app.h" line="46"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="APP_GET_CLASS"
                    c:identifier="PLUMA_APP_GET_CLASS"
                    introspectable="0">
      <source-position filename="pluma-app.h" line="49"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="App"
           c:symbol-prefix="app"
           c:type="PlumaApp"
           parent="GObject.Object"
           glib:type-name="PlumaApp"
           glib:get-type="pluma_app_get_type"
           glib:type-struct="AppClass">
      <source-position filename="pluma-app.h" line="75"/>
      <function name="get_default" c:identifier="pluma_app_get_default">
        <doc xml:space="preserve"
             filename="pluma-app.c"
             line="398">Returns the #PlumaApp object. This object is a singleton and
represents the running pluma instance.</doc>
        <source-position filename="pluma-app.h" line="94"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-app.c"
               line="404">the #PlumaApp pointer</doc>
          <type name="App" c:type="PlumaApp*"/>
        </return-value>
      </function>
      <method name="create_window" c:identifier="pluma_app_create_window">
        <doc xml:space="preserve"
             filename="pluma-app.c"
             line="595">Create a new #PlumaWindow part of @app.</doc>
        <source-position filename="pluma-app.h" line="96"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-app.c"
               line="602">the new #PlumaWindow</doc>
          <type name="Window" c:type="PlumaWindow*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-app.c"
                 line="597">the #PlumaApp</doc>
            <type name="App" c:type="PlumaApp*"/>
          </instance-parameter>
          <parameter name="screen"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gdk.Screen" c:type="GdkScreen*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_active_window"
              c:identifier="pluma_app_get_active_window">
        <doc xml:space="preserve"
             filename="pluma-app.c"
             line="650">Retrives the #PlumaWindow currently active.</doc>
        <source-position filename="pluma-app.h" line="101"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-app.c"
               line="656">the active #PlumaWindow</doc>
          <type name="Window" c:type="PlumaWindow*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-app.c"
                 line="652">the #PlumaApp</doc>
            <type name="App" c:type="PlumaApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_documents" c:identifier="pluma_app_get_documents">
        <doc xml:space="preserve"
             filename="pluma-app.c"
             line="767">Returns all the documents currently open in #PlumaApp.</doc>
        <source-position filename="pluma-app.h" line="104"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="pluma-app.c"
               line="773">
a newly allocated list of #PlumaDocument objects</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Document"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-app.c"
                 line="769">the #PlumaApp</doc>
            <type name="App" c:type="PlumaApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_lockdown"
              c:identifier="pluma_app_get_lockdown"
              glib:get-property="lockdown">
        <doc xml:space="preserve"
             filename="pluma-app.c"
             line="827">Gets the lockdown mask (see #PlumaLockdownMask) for the application.
The lockdown mask determines which functions are locked down using
the MATE-wise lockdown GSettings keys.</doc>
        <source-position filename="pluma-app.h" line="110"/>
        <return-value transfer-ownership="none">
          <type name="LockdownMask" c:type="PlumaLockdownMask"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-app.c"
                 line="829">a #PlumaApp</doc>
            <type name="App" c:type="PlumaApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_views" c:identifier="pluma_app_get_views">
        <doc xml:space="preserve"
             filename="pluma-app.c"
             line="797">Returns all the views currently present in #PlumaApp.</doc>
        <source-position filename="pluma-app.h" line="107"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="pluma-app.c"
               line="803">
a newly allocated list of #PlumaView objects</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="View"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-app.c"
                 line="799">the #PlumaApp</doc>
            <type name="App" c:type="PlumaApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_windows" c:identifier="pluma_app_get_windows">
        <doc xml:space="preserve"
             filename="pluma-app.c"
             line="633">Returns all the windows currently present in #PlumaApp.</doc>
        <source-position filename="pluma-app.h" line="99"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-app.c"
               line="639">the list of #PlumaWindows objects.
The list should not be freed</doc>
          <type name="GLib.List" c:type="const GList*">
            <type name="Window"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-app.c"
                 line="635">the #PlumaApp</doc>
            <type name="App" c:type="PlumaApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="lockdown"
                transfer-ownership="none"
                getter="get_lockdown"
                default-value="0">
        <type name="LockdownMask"/>
      </property>
      <field name="object">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="AppPrivate" c:type="PlumaAppPrivate*"/>
      </field>
    </class>
    <interface name="AppActivatable"
               c:symbol-prefix="app_activatable"
               c:type="PlumaAppActivatable"
               glib:type-name="PlumaAppActivatable"
               glib:get-type="pluma_app_activatable_get_type"
               glib:type-struct="AppActivatableInterface">
      <source-position filename="pluma-app-activatable.h" line="44"/>
      <virtual-method name="activate" invoker="activate">
        <doc xml:space="preserve"
             filename="pluma-app-activatable.c"
             line="65">Activates the extension on the application.</doc>
        <source-position filename="pluma-app-activatable.h" line="42"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-app-activatable.c"
                 line="67">A #PlumaAppActivatable.</doc>
            <type name="AppActivatable" c:type="PlumaAppActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <doc xml:space="preserve"
             filename="pluma-app-activatable.c"
             line="86">Deactivates the extension from the application.</doc>
        <source-position filename="pluma-app-activatable.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-app-activatable.c"
                 line="88">A #PlumaAppActivatable.</doc>
            <type name="AppActivatable" c:type="PlumaAppActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="activate" c:identifier="pluma_app_activatable_activate">
        <doc xml:space="preserve"
             filename="pluma-app-activatable.c"
             line="65">Activates the extension on the application.</doc>
        <source-position filename="pluma-app-activatable.h" line="49"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-app-activatable.c"
                 line="67">A #PlumaAppActivatable.</doc>
            <type name="AppActivatable" c:type="PlumaAppActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="deactivate"
              c:identifier="pluma_app_activatable_deactivate">
        <doc xml:space="preserve"
             filename="pluma-app-activatable.c"
             line="86">Deactivates the extension from the application.</doc>
        <source-position filename="pluma-app-activatable.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-app-activatable.c"
                 line="88">A #PlumaAppActivatable.</doc>
            <type name="AppActivatable" c:type="PlumaAppActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="app"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="pluma-app-activatable.c"
             line="46">The app property contains the pluma app for this
#PlumaAppActivatable instance.</doc>
        <type name="App"/>
      </property>
    </interface>
    <record name="AppActivatableInterface"
            c:type="PlumaAppActivatableInterface"
            glib:is-gtype-struct-for="AppActivatable">
      <source-position filename="pluma-app-activatable.h" line="44"/>
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <source-position filename="pluma-app-activatable.h" line="42"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="pluma-app-activatable.c"
                   line="67">A #PlumaAppActivatable.</doc>
              <type name="AppActivatable" c:type="PlumaAppActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <source-position filename="pluma-app-activatable.h" line="43"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="pluma-app-activatable.c"
                   line="88">A #PlumaAppActivatable.</doc>
              <type name="AppActivatable" c:type="PlumaAppActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="AppClass"
            c:type="PlumaAppClass"
            glib:is-gtype-struct-for="App">
      <source-position filename="pluma-app.h" line="75"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="AppPrivate"
            c:type="PlumaAppPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="pluma-app.h" line="52"/>
    </record>
    <function-macro name="DOCUMENT"
                    c:identifier="PLUMA_DOCUMENT"
                    introspectable="0">
      <source-position filename="pluma-document.h" line="49"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DOCUMENT_CLASS"
                    c:identifier="PLUMA_DOCUMENT_CLASS"
                    introspectable="0">
      <source-position filename="pluma-document.h" line="50"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="DOCUMENT_GET_CLASS"
                    c:identifier="PLUMA_DOCUMENT_GET_CLASS"
                    introspectable="0">
      <source-position filename="pluma-document.h" line="53"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <bitfield name="DebugSection"
              glib:type-name="PlumaDebugSection"
              glib:get-type="pluma_debug_section_get_type"
              c:type="PlumaDebugSection">
      <member name="no_debug"
              value="0"
              c:identifier="PLUMA_NO_DEBUG"
              glib:nick="no-debug"
              glib:name="PLUMA_NO_DEBUG">
      </member>
      <member name="debug_view"
              value="1"
              c:identifier="PLUMA_DEBUG_VIEW"
              glib:nick="debug-view"
              glib:name="PLUMA_DEBUG_VIEW">
      </member>
      <member name="debug_search"
              value="2"
              c:identifier="PLUMA_DEBUG_SEARCH"
              glib:nick="debug-search"
              glib:name="PLUMA_DEBUG_SEARCH">
      </member>
      <member name="debug_print"
              value="4"
              c:identifier="PLUMA_DEBUG_PRINT"
              glib:nick="debug-print"
              glib:name="PLUMA_DEBUG_PRINT">
      </member>
      <member name="debug_prefs"
              value="8"
              c:identifier="PLUMA_DEBUG_PREFS"
              glib:nick="debug-prefs"
              glib:name="PLUMA_DEBUG_PREFS">
      </member>
      <member name="debug_plugins"
              value="16"
              c:identifier="PLUMA_DEBUG_PLUGINS"
              glib:nick="debug-plugins"
              glib:name="PLUMA_DEBUG_PLUGINS">
      </member>
      <member name="debug_tab"
              value="32"
              c:identifier="PLUMA_DEBUG_TAB"
              glib:nick="debug-tab"
              glib:name="PLUMA_DEBUG_TAB">
      </member>
      <member name="debug_document"
              value="64"
              c:identifier="PLUMA_DEBUG_DOCUMENT"
              glib:nick="debug-document"
              glib:name="PLUMA_DEBUG_DOCUMENT">
      </member>
      <member name="debug_commands"
              value="128"
              c:identifier="PLUMA_DEBUG_COMMANDS"
              glib:nick="debug-commands"
              glib:name="PLUMA_DEBUG_COMMANDS">
      </member>
      <member name="debug_app"
              value="256"
              c:identifier="PLUMA_DEBUG_APP"
              glib:nick="debug-app"
              glib:name="PLUMA_DEBUG_APP">
      </member>
      <member name="debug_session"
              value="512"
              c:identifier="PLUMA_DEBUG_SESSION"
              glib:nick="debug-session"
              glib:name="PLUMA_DEBUG_SESSION">
      </member>
      <member name="debug_utils"
              value="1024"
              c:identifier="PLUMA_DEBUG_UTILS"
              glib:nick="debug-utils"
              glib:name="PLUMA_DEBUG_UTILS">
      </member>
      <member name="debug_metadata"
              value="2048"
              c:identifier="PLUMA_DEBUG_METADATA"
              glib:nick="debug-metadata"
              glib:name="PLUMA_DEBUG_METADATA">
      </member>
      <member name="debug_window"
              value="4096"
              c:identifier="PLUMA_DEBUG_WINDOW"
              glib:nick="debug-window"
              glib:name="PLUMA_DEBUG_WINDOW">
      </member>
      <member name="debug_loader"
              value="8192"
              c:identifier="PLUMA_DEBUG_LOADER"
              glib:nick="debug-loader"
              glib:name="PLUMA_DEBUG_LOADER">
      </member>
      <member name="debug_saver"
              value="16384"
              c:identifier="PLUMA_DEBUG_SAVER"
              glib:nick="debug-saver"
              glib:name="PLUMA_DEBUG_SAVER">
      </member>
    </bitfield>
    <class name="Document"
           c:symbol-prefix="document"
           c:type="PlumaDocument"
           parent="GtkSource.Buffer"
           glib:type-name="PlumaDocument"
           glib:get-type="pluma_document_get_type"
           glib:type-struct="DocumentClass">
      <source-position filename="pluma-document.h" line="151"/>
      <constructor name="new" c:identifier="pluma_document_new">
        <source-position filename="pluma-document.h" line="170"/>
        <return-value transfer-ownership="full">
          <type name="Document" c:type="PlumaDocument*"/>
        </return-value>
      </constructor>
      <function name="error_quark" c:identifier="pluma_document_error_quark">
        <return-value transfer-ownership="none">
          <type name="GLib.Quark" c:type="GQuark"/>
        </return-value>
      </function>
      <virtual-method name="cursor_moved">
        <source-position filename="pluma-document.h" line="118"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="load" invoker="load">
        <doc xml:space="preserve"
             filename="pluma-document.c"
             line="1554">Load a document. This results in the "load" signal to be emitted.</doc>
        <source-position filename="pluma-document.h" line="121"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="1557">the uri where to load the document from.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="1558">the #PlumaEncoding to encode the document.</doc>
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </parameter>
          <parameter name="line_pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="1559">the line to show.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="create" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="1560">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">
        <source-position filename="pluma-document.h" line="131"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="error" transfer-ownership="none">
            <type name="GLib.Error" c:type="const GError*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="loading">
        <source-position filename="pluma-document.h" line="127"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-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>
      </virtual-method>
      <virtual-method name="save">
        <source-position filename="pluma-document.h" line="135"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="DocumentSaveFlags" c:type="PlumaDocumentSaveFlags"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="saved">
        <source-position filename="pluma-document.h" line="144"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="error" transfer-ownership="none">
            <type name="GLib.Error" c:type="const GError*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="saving">
        <source-position filename="pluma-document.h" line="140"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-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>
      </virtual-method>
      <virtual-method name="search_highlight_updated">
        <source-position filename="pluma-document.h" line="147"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-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>
      </virtual-method>
      <method name="get_can_search_again"
              c:identifier="pluma_document_get_can_search_again"
              glib:get-property="can-search-again">
        <source-position filename="pluma-document.h" line="247"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_content_type"
              c:identifier="pluma_document_get_content_type"
              glib:get-property="content-type">
        <source-position filename="pluma-document.h" line="187"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_deleted" c:identifier="pluma_document_get_deleted">
        <source-position filename="pluma-document.h" line="224"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_enable_search_highlighting"
              c:identifier="pluma_document_get_enable_search_highlighting"
              glib:get-property="enable-search-highlighting">
        <source-position filename="pluma-document.h" line="279"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_encoding"
              c:identifier="pluma_document_get_encoding"
              glib:get-property="encoding">
        <source-position filename="pluma-document.h" line="273"/>
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="const PlumaEncoding*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_language" c:identifier="pluma_document_get_language">
        <source-position filename="pluma-document.h" line="270"/>
        <return-value transfer-ownership="none">
          <type name="GtkSource.Language" c:type="GtkSourceLanguage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_last_replace_text"
              c:identifier="pluma_document_get_last_replace_text">
        <source-position filename="pluma-document.h" line="240"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_location" c:identifier="pluma_document_get_location">
        <source-position filename="pluma-document.h" line="172"/>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve"
               filename="pluma-document.c"
               line="1139">a new #GFile</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="1137">a #PlumaDocument</doc>
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_metadata" c:identifier="pluma_document_get_metadata">
        <doc xml:space="preserve"
             filename="pluma-document.c"
             line="2889">Gets the metadata assigned to @key.</doc>
        <source-position filename="pluma-document.h" line="288"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="pluma-document.c"
               line="2896">the value assigned to @key.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="2891">a #PlumaDocument</doc>
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="2892">name of the key</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_mime_type"
              c:identifier="pluma_document_get_mime_type"
              glib:get-property="mime-type">
        <doc xml:space="preserve"
             filename="pluma-document.c"
             line="1231">Note: this never returns %NULL.</doc>
        <source-position filename="pluma-document.h" line="194"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_newline_type"
              c:identifier="pluma_document_get_newline_type"
              glib:get-property="newline-type">
        <source-position filename="pluma-document.h" line="286"/>
        <return-value transfer-ownership="none">
          <type name="DocumentNewlineType" c:type="PlumaDocumentNewlineType"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_readonly" c:identifier="pluma_document_get_readonly">
        <source-position filename="pluma-document.h" line="196"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_search_text"
              c:identifier="pluma_document_get_search_text">
        <source-position filename="pluma-document.h" line="237"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="flags"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="guint" c:type="guint*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_short_name_for_display"
              c:identifier="pluma_document_get_short_name_for_display">
        <doc xml:space="preserve"
             filename="pluma-document.c"
             line="1186">Note: this never returns %NULL.</doc>
        <source-position filename="pluma-document.h" line="180"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uri"
              c:identifier="pluma_document_get_uri"
              glib:get-property="uri">
        <source-position filename="pluma-document.h" line="174"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uri_for_display"
              c:identifier="pluma_document_get_uri_for_display">
        <doc xml:space="preserve"
             filename="pluma-document.c"
             line="1168">Note: this never returns %NULL.</doc>
        <source-position filename="pluma-document.h" line="178"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="goto_line" c:identifier="pluma_document_goto_line">
        <source-position filename="pluma-document.h" line="226"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="goto_line_offset"
              c:identifier="pluma_document_goto_line_offset">
        <source-position filename="pluma-document.h" line="229"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="line_offset" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="insert_file" c:identifier="pluma_document_insert_file">
        <source-position filename="pluma-document.h" line="204"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="iter" transfer-ownership="none">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_local" c:identifier="pluma_document_is_local">
        <source-position filename="pluma-document.h" line="222"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_untitled" c:identifier="pluma_document_is_untitled">
        <source-position filename="pluma-document.h" line="220"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_untouched" c:identifier="pluma_document_is_untouched">
        <source-position filename="pluma-document.h" line="219"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="load" c:identifier="pluma_document_load">
        <doc xml:space="preserve"
             filename="pluma-document.c"
             line="1554">Load a document. This results in the "load" signal to be emitted.</doc>
        <source-position filename="pluma-document.h" line="198"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="1556">the #PlumaDocument.</doc>
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="1557">the uri where to load the document from.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="1558">the #PlumaEncoding to encode the document.</doc>
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </parameter>
          <parameter name="line_pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="1559">the line to show.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="create" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="1560">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="pluma_document_load_cancel">
        <doc xml:space="preserve"
             filename="pluma-document.c"
             line="1578">Cancel load of a document.</doc>
        <source-position filename="pluma-document.h" line="209"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="1580">the #PlumaDocument.</doc>
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="replace_all" c:identifier="pluma_document_replace_all">
        <source-position filename="pluma-document.h" line="262"/>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="find" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="replace" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="save" c:identifier="pluma_document_save">
        <doc xml:space="preserve"
             filename="pluma-document.c"
             line="1704">Save the document to its previous location. This results in the "save"
signal to be emitted.</doc>
        <source-position filename="pluma-document.h" line="211"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="1706">the #PlumaDocument.</doc>
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="1707">optionnal #PlumaDocumentSaveFlags.</doc>
            <type name="DocumentSaveFlags" c:type="PlumaDocumentSaveFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_as" c:identifier="pluma_document_save_as">
        <doc xml:space="preserve"
             filename="pluma-document.c"
             line="1727">Save the document to a new location. This results in the "save" signal
to be emitted.</doc>
        <source-position filename="pluma-document.h" line="214"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="1729">the #PlumaDocument.</doc>
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="1730">the uri where to save the document.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="1731">the #PlumaEncoding to encode the document.</doc>
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="1732">optionnal #PlumaDocumentSaveFlags.</doc>
            <type name="DocumentSaveFlags" c:type="PlumaDocumentSaveFlags"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_backward"
              c:identifier="pluma_document_search_backward">
        <source-position filename="pluma-document.h" line="256"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="start"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="end"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="match_start"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="match_end"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="search_forward"
              c:identifier="pluma_document_search_forward">
        <source-position filename="pluma-document.h" line="250"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="start"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="end"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
          </parameter>
          <parameter name="match_start"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
          <parameter name="match_end"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_content_type"
              c:identifier="pluma_document_set_content_type"
              glib:set-property="content-type">
        <source-position filename="pluma-document.h" line="190"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="content_type"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_enable_search_highlighting"
              c:identifier="pluma_document_set_enable_search_highlighting"
              glib:set-property="enable-search-highlighting">
        <source-position filename="pluma-document.h" line="275"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="enable" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_language" c:identifier="pluma_document_set_language">
        <source-position filename="pluma-document.h" line="267"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="lang"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="GtkSource.Language" c:type="GtkSourceLanguage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_last_replace_text"
              c:identifier="pluma_document_set_last_replace_text">
        <source-position filename="pluma-document.h" line="243"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="text"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_metadata"
              c:identifier="pluma_document_set_metadata"
              introspectable="0">
        <doc xml:space="preserve"
             filename="pluma-document.c"
             line="2928">Sets metadata on a document.</doc>
        <source-position filename="pluma-document.h" line="291"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="2930">a #PlumaDocument</doc>
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="first_key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="2931">name of the first key to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="2932">value for the first key, followed optionally by more key/value pairs,
followed by %NULL.</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_newline_type"
              c:identifier="pluma_document_set_newline_type"
              glib:set-property="newline-type">
        <source-position filename="pluma-document.h" line="282"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="newline_type" transfer-ownership="none">
            <type name="DocumentNewlineType"
                  c:type="PlumaDocumentNewlineType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_search_text"
              c:identifier="pluma_document_set_search_text">
        <source-position filename="pluma-document.h" line="233"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="text"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="utf8" c:type="const 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="pluma_document_set_short_name_for_display">
        <source-position filename="pluma-document.h" line="183"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_uri" c:identifier="pluma_document_set_uri">
        <source-position filename="pluma-document.h" line="175"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="PlumaDocument*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="can-search-again"
                transfer-ownership="none"
                getter="get_can_search_again"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="content-type"
                writable="1"
                transfer-ownership="none"
                setter="set_content_type"
                getter="get_content_type"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="enable-search-highlighting"
                writable="1"
                transfer-ownership="none"
                setter="set_enable_search_highlighting"
                getter="get_enable_search_highlighting"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="encoding"
                transfer-ownership="none"
                getter="get_encoding">
        <type name="Encoding"/>
      </property>
      <property name="mime-type"
                transfer-ownership="none"
                getter="get_mime_type"
                default-value="text/plain">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="newline-type"
                writable="1"
                transfer-ownership="none"
                setter="set_newline_type"
                getter="get_newline_type"
                default-value="PLUMA_DOCUMENT_NEWLINE_TYPE_LF">
        <doc xml:space="preserve"
             filename="pluma-document.c"
             line="519">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"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="shortname"
                writable="1"
                transfer-ownership="none"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="uri"
                transfer-ownership="none"
                getter="get_uri"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="buffer">
        <type name="GtkSource.Buffer" c:type="GtkSourceBuffer"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="DocumentPrivate" c:type="PlumaDocumentPrivate*"/>
      </field>
      <glib:signal name="cursor-moved" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="load" when="last">
        <doc xml:space="preserve"
             filename="pluma-document.c"
             line="550">The "load" signal is emitted when a document is loaded.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="553">the uri where to load the document from.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="554">the #PlumaEncoding to encode the document.</doc>
            <type name="Encoding"/>
          </parameter>
          <parameter name="line_pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="555">the line to show.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="create" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="556">whether the document should be created if it doesn't exist.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="loaded" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="loading" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="save" when="last">
        <doc xml:space="preserve"
             filename="pluma-document.c"
             line="597">The "save" signal is emitted when the document is saved.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="600">the uri where the document is about to be saved.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="601">the #PlumaEncoding used to save the document.</doc>
            <type name="Encoding"/>
          </parameter>
          <parameter name="flags" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-document.c"
                 line="602">the #PlumaDocumentSaveFlags for the save operation.</doc>
            <type name="DocumentSaveFlags"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="saved" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="saving" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="guint64" c:type="guint64"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="search-highlight-updated" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </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="PlumaDocumentClass"
            glib:is-gtype-struct-for="Document">
      <source-position filename="pluma-document.h" line="151"/>
      <field name="parent_class">
        <type name="GtkSource.BufferClass" c:type="GtkSourceBufferClass"/>
      </field>
      <field name="cursor_moved">
        <callback name="cursor_moved">
          <source-position filename="pluma-document.h" line="118"/>
          <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="PlumaDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="load">
        <callback name="load">
          <source-position filename="pluma-document.h" line="121"/>
          <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="PlumaDocument*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="pluma-document.c"
                   line="1557">the uri where to load the document from.</doc>
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="encoding" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="pluma-document.c"
                   line="1558">the #PlumaEncoding to encode the document.</doc>
              <type name="Encoding" c:type="const PlumaEncoding*"/>
            </parameter>
            <parameter name="line_pos" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="pluma-document.c"
                   line="1559">the line to show.</doc>
              <type name="gint" c:type="gint"/>
            </parameter>
            <parameter name="create" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="pluma-document.c"
                   line="1560">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">
          <source-position filename="pluma-document.h" line="127"/>
          <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="PlumaDocument*"/>
            </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">
          <source-position filename="pluma-document.h" line="131"/>
          <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="PlumaDocument*"/>
            </parameter>
            <parameter name="error" transfer-ownership="none">
              <type name="GLib.Error" c:type="const GError*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save">
        <callback name="save">
          <source-position filename="pluma-document.h" line="135"/>
          <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="PlumaDocument*"/>
            </parameter>
            <parameter name="uri" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="encoding" transfer-ownership="none">
              <type name="Encoding" c:type="const PlumaEncoding*"/>
            </parameter>
            <parameter name="flags" transfer-ownership="none">
              <type name="DocumentSaveFlags" c:type="PlumaDocumentSaveFlags"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="saving">
        <callback name="saving">
          <source-position filename="pluma-document.h" line="140"/>
          <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="PlumaDocument*"/>
            </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">
          <source-position filename="pluma-document.h" line="144"/>
          <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="PlumaDocument*"/>
            </parameter>
            <parameter name="error" transfer-ownership="none">
              <type name="GLib.Error" c:type="const GError*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="search_highlight_updated">
        <callback name="search_highlight_updated">
          <source-position filename="pluma-document.h" line="147"/>
          <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="PlumaDocument*"/>
            </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="DocumentNewlineType"
                 glib:type-name="PlumaDocumentNewlineType"
                 glib:get-type="pluma_document_newline_type_get_type"
                 c:type="PlumaDocumentNewlineType">
      <member name="lf"
              value="0"
              c:identifier="PLUMA_DOCUMENT_NEWLINE_TYPE_LF"
              glib:nick="lf"
              glib:name="PLUMA_DOCUMENT_NEWLINE_TYPE_LF">
      </member>
      <member name="cr"
              value="1"
              c:identifier="PLUMA_DOCUMENT_NEWLINE_TYPE_CR"
              glib:nick="cr"
              glib:name="PLUMA_DOCUMENT_NEWLINE_TYPE_CR">
      </member>
      <member name="cr_lf"
              value="2"
              c:identifier="PLUMA_DOCUMENT_NEWLINE_TYPE_CR_LF"
              glib:nick="cr-lf"
              glib:name="PLUMA_DOCUMENT_NEWLINE_TYPE_CR_LF">
      </member>
    </enumeration>
    <record name="DocumentPrivate"
            c:type="PlumaDocumentPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="pluma-document.h" line="92"/>
    </record>
    <bitfield name="DocumentSaveFlags"
              glib:type-name="PlumaDocumentSaveFlags"
              glib:get-type="pluma_document_save_flags_get_type"
              c:type="PlumaDocumentSaveFlags">
      <member name="ignore_mtime"
              value="1"
              c:identifier="PLUMA_DOCUMENT_SAVE_IGNORE_MTIME"
              glib:nick="ignore-mtime"
              glib:name="PLUMA_DOCUMENT_SAVE_IGNORE_MTIME">
        <doc xml:space="preserve"
             filename="pluma-document.h"
             line="80">save file despite external modifications.</doc>
      </member>
      <member name="ignore_backup"
              value="2"
              c:identifier="PLUMA_DOCUMENT_SAVE_IGNORE_BACKUP"
              glib:nick="ignore-backup"
              glib:name="PLUMA_DOCUMENT_SAVE_IGNORE_BACKUP">
        <doc xml:space="preserve"
             filename="pluma-document.h"
             line="81">write the file directly without attempting to backup.</doc>
      </member>
      <member name="preserve_backup"
              value="4"
              c:identifier="PLUMA_DOCUMENT_SAVE_PRESERVE_BACKUP"
              glib:nick="preserve-backup"
              glib:name="PLUMA_DOCUMENT_SAVE_PRESERVE_BACKUP">
        <doc xml:space="preserve"
             filename="pluma-document.h"
             line="82">preserve previous backup file, needed to support autosaving.</doc>
      </member>
    </bitfield>
    <function-macro name="ENCODINGS_COMBO_BOX"
                    c:identifier="PLUMA_ENCODINGS_COMBO_BOX"
                    introspectable="0">
      <source-position filename="pluma-encodings-combo-box.h" line="42"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ENCODINGS_COMBO_BOX_CLASS"
                    c:identifier="PLUMA_ENCODINGS_COMBO_BOX_CLASS"
                    introspectable="0">
      <source-position filename="pluma-encodings-combo-box.h" line="43"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="ENCODINGS_COMBO_BOX_GET_CLASS"
                    c:identifier="PLUMA_ENCODINGS_COMBO_BOX_GET_CLASS"
                    introspectable="0">
      <source-position filename="pluma-encodings-combo-box.h" line="46"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <record name="Encoding"
            c:type="PlumaEncoding"
            opaque="1"
            glib:type-name="PlumaEncoding"
            glib:get-type="pluma_encoding_get_type"
            c:symbol-prefix="encoding">
      <source-position filename="pluma-encodings.h" line="40"/>
      <method name="copy" c:identifier="pluma_encoding_copy">
        <source-position filename="pluma-encodings.h" line="58"/>
        <return-value transfer-ownership="full">
          <type name="Encoding" c:type="PlumaEncoding*"/>
        </return-value>
        <parameters>
          <instance-parameter name="enc" transfer-ownership="none">
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="free" c:identifier="pluma_encoding_free">
        <source-position filename="pluma-encodings.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="enc" transfer-ownership="none">
            <type name="Encoding" c:type="PlumaEncoding*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_charset" c:identifier="pluma_encoding_get_charset">
        <source-position filename="pluma-encodings.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="enc" transfer-ownership="none">
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_name" c:identifier="pluma_encoding_get_name">
        <source-position filename="pluma-encodings.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="enc" transfer-ownership="none">
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="to_string" c:identifier="pluma_encoding_to_string">
        <source-position filename="pluma-encodings.h" line="49"/>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="enc" transfer-ownership="none">
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="get_current" c:identifier="pluma_encoding_get_current">
        <source-position filename="pluma-encodings.h" line="55"/>
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="const PlumaEncoding*"/>
        </return-value>
      </function>
      <function name="get_from_charset"
                c:identifier="pluma_encoding_get_from_charset">
        <source-position filename="pluma-encodings.h" line="46"/>
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="const PlumaEncoding*"/>
        </return-value>
        <parameters>
          <parameter name="charset" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_from_index"
                c:identifier="pluma_encoding_get_from_index">
        <source-position filename="pluma-encodings.h" line="47"/>
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="const PlumaEncoding*"/>
        </return-value>
        <parameters>
          <parameter name="index" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </function>
      <function name="get_utf8" c:identifier="pluma_encoding_get_utf8">
        <source-position filename="pluma-encodings.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="const PlumaEncoding*"/>
        </return-value>
      </function>
    </record>
    <class name="EncodingsComboBox"
           c:symbol-prefix="encodings_combo_box"
           c:type="PlumaEncodingsComboBox"
           parent="Gtk.ComboBox"
           glib:type-name="PlumaEncodingsComboBox"
           glib:get-type="pluma_encodings_combo_box_get_type"
           glib:type-struct="EncodingsComboBoxClass">
      <source-position filename="pluma-encodings-combo-box.h" line="64"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.CellLayout"/>
      <constructor name="new" c:identifier="pluma_encodings_combo_box_new">
        <source-position filename="pluma-encodings-combo-box.h" line="69"/>
        <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="pluma_encodings_combo_box_get_selected_encoding">
        <source-position filename="pluma-encodings-combo-box.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="Encoding" c:type="const PlumaEncoding*"/>
        </return-value>
        <parameters>
          <instance-parameter name="menu" transfer-ownership="none">
            <type name="EncodingsComboBox" c:type="PlumaEncodingsComboBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_selected_encoding"
              c:identifier="pluma_encodings_combo_box_set_selected_encoding">
        <source-position filename="pluma-encodings-combo-box.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="menu" transfer-ownership="none">
            <type name="EncodingsComboBox" c:type="PlumaEncodingsComboBox*"/>
          </instance-parameter>
          <parameter name="encoding"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </parameter>
        </parameters>
      </method>
      <property name="save-mode"
                writable="1"
                construct="1"
                transfer-ownership="none"
                default-value="FALSE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent">
        <type name="Gtk.ComboBox" c:type="GtkComboBox"/>
      </field>
      <field name="priv">
        <type name="EncodingsComboBoxPrivate"
              c:type="PlumaEncodingsComboBoxPrivate*"/>
      </field>
    </class>
    <record name="EncodingsComboBoxClass"
            c:type="PlumaEncodingsComboBoxClass"
            glib:is-gtype-struct-for="EncodingsComboBox">
      <source-position filename="pluma-encodings-combo-box.h" line="64"/>
      <field name="parent_class">
        <type name="Gtk.ComboBoxClass" c:type="GtkComboBoxClass"/>
      </field>
    </record>
    <record name="EncodingsComboBoxPrivate"
            c:type="PlumaEncodingsComboBoxPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="pluma-encodings-combo-box.h" line="52"/>
    </record>
    <function-macro name="IS_APP"
                    c:identifier="PLUMA_IS_APP"
                    introspectable="0">
      <source-position filename="pluma-app.h" line="47"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_APP_CLASS"
                    c:identifier="PLUMA_IS_APP_CLASS"
                    introspectable="0">
      <source-position filename="pluma-app.h" line="48"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_DOCUMENT"
                    c:identifier="PLUMA_IS_DOCUMENT"
                    introspectable="0">
      <source-position filename="pluma-document.h" line="51"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_DOCUMENT_CLASS"
                    c:identifier="PLUMA_IS_DOCUMENT_CLASS"
                    introspectable="0">
      <source-position filename="pluma-document.h" line="52"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ENCODINGS_COMBO_BOX"
                    c:identifier="PLUMA_IS_ENCODINGS_COMBO_BOX"
                    introspectable="0">
      <source-position filename="pluma-encodings-combo-box.h" line="44"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_ENCODINGS_COMBO_BOX_CLASS"
                    c:identifier="PLUMA_IS_ENCODINGS_COMBO_BOX_CLASS"
                    introspectable="0">
      <source-position filename="pluma-encodings-combo-box.h" line="45"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_MESSAGE"
                    c:identifier="PLUMA_IS_MESSAGE"
                    introspectable="0">
      <source-position filename="pluma-message.h" line="13"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_MESSAGE_BUS"
                    c:identifier="PLUMA_IS_MESSAGE_BUS"
                    introspectable="0">
      <source-position filename="pluma-message-bus.h" line="14"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_MESSAGE_BUS_CLASS"
                    c:identifier="PLUMA_IS_MESSAGE_BUS_CLASS"
                    introspectable="0">
      <source-position filename="pluma-message-bus.h" line="15"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_MESSAGE_CLASS"
                    c:identifier="PLUMA_IS_MESSAGE_CLASS"
                    introspectable="0">
      <source-position filename="pluma-message.h" line="14"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_NOTEBOOK"
                    c:identifier="PLUMA_IS_NOTEBOOK"
                    introspectable="0">
      <source-position filename="pluma-notebook.h" line="55"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_NOTEBOOK_CLASS"
                    c:identifier="PLUMA_IS_NOTEBOOK_CLASS"
                    introspectable="0">
      <source-position filename="pluma-notebook.h" line="56"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PANEL"
                    c:identifier="PLUMA_IS_PANEL"
                    introspectable="0">
      <source-position filename="pluma-panel.h" line="45"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PANEL_CLASS"
                    c:identifier="PLUMA_IS_PANEL_CLASS"
                    introspectable="0">
      <source-position filename="pluma-panel.h" line="46"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PROGRESS_MESSAGE_AREA"
                    c:identifier="PLUMA_IS_PROGRESS_MESSAGE_AREA"
                    introspectable="0">
      <source-position filename="pluma-progress-message-area.h" line="45"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_PROGRESS_MESSAGE_AREA_CLASS"
                    c:identifier="PLUMA_IS_PROGRESS_MESSAGE_AREA_CLASS"
                    introspectable="0">
      <source-position filename="pluma-progress-message-area.h" line="46"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_STATUSBAR"
                    c:identifier="PLUMA_IS_STATUSBAR"
                    introspectable="0">
      <source-position filename="pluma-statusbar.h" line="41"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_STATUSBAR_CLASS"
                    c:identifier="PLUMA_IS_STATUSBAR_CLASS"
                    introspectable="0">
      <source-position filename="pluma-statusbar.h" line="42"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_STATUS_COMBO_BOX"
                    c:identifier="PLUMA_IS_STATUS_COMBO_BOX"
                    introspectable="0">
      <source-position filename="pluma-status-combo-box.h" line="35"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_STATUS_COMBO_BOX_CLASS"
                    c:identifier="PLUMA_IS_STATUS_COMBO_BOX_CLASS"
                    introspectable="0">
      <source-position filename="pluma-status-combo-box.h" line="36"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_TAB"
                    c:identifier="PLUMA_IS_TAB"
                    introspectable="0">
      <source-position filename="pluma-tab.h" line="67"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_TAB_CLASS"
                    c:identifier="PLUMA_IS_TAB_CLASS"
                    introspectable="0">
      <source-position filename="pluma-tab.h" line="68"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_VIEW"
                    c:identifier="PLUMA_IS_VIEW"
                    introspectable="0">
      <source-position filename="pluma-view.h" line="48"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_VIEW_CLASS"
                    c:identifier="PLUMA_IS_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="pluma-view.h" line="49"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WINDOW"
                    c:identifier="PLUMA_IS_WINDOW"
                    introspectable="0">
      <source-position filename="pluma-window.h" line="60"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="IS_WINDOW_CLASS"
                    c:identifier="PLUMA_IS_WINDOW_CLASS"
                    introspectable="0">
      <source-position filename="pluma-window.h" line="61"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <bitfield name="LockdownMask"
              glib:type-name="PlumaLockdownMask"
              glib:get-type="pluma_lockdown_mask_get_type"
              c:type="PlumaLockdownMask">
      <member name="command_line"
              value="1"
              c:identifier="PLUMA_LOCKDOWN_COMMAND_LINE"
              glib:nick="command-line"
              glib:name="PLUMA_LOCKDOWN_COMMAND_LINE">
      </member>
      <member name="printing"
              value="2"
              c:identifier="PLUMA_LOCKDOWN_PRINTING"
              glib:nick="printing"
              glib:name="PLUMA_LOCKDOWN_PRINTING">
      </member>
      <member name="print_setup"
              value="4"
              c:identifier="PLUMA_LOCKDOWN_PRINT_SETUP"
              glib:nick="print-setup"
              glib:name="PLUMA_LOCKDOWN_PRINT_SETUP">
      </member>
      <member name="save_to_disk"
              value="8"
              c:identifier="PLUMA_LOCKDOWN_SAVE_TO_DISK"
              glib:nick="save-to-disk"
              glib:name="PLUMA_LOCKDOWN_SAVE_TO_DISK">
      </member>
      <member name="all"
              value="15"
              c:identifier="PLUMA_LOCKDOWN_ALL"
              glib:nick="all"
              glib:name="PLUMA_LOCKDOWN_ALL">
      </member>
    </bitfield>
    <function-macro name="MESSAGE"
                    c:identifier="PLUMA_MESSAGE"
                    introspectable="0">
      <source-position filename="pluma-message.h" line="10"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MESSAGE_BUS"
                    c:identifier="PLUMA_MESSAGE_BUS"
                    introspectable="0">
      <source-position filename="pluma-message-bus.h" line="11"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MESSAGE_BUS_CLASS"
                    c:identifier="PLUMA_MESSAGE_BUS_CLASS"
                    introspectable="0">
      <source-position filename="pluma-message-bus.h" line="13"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MESSAGE_BUS_CONST"
                    c:identifier="PLUMA_MESSAGE_BUS_CONST"
                    introspectable="0">
      <source-position filename="pluma-message-bus.h" line="12"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MESSAGE_BUS_GET_CLASS"
                    c:identifier="PLUMA_MESSAGE_BUS_GET_CLASS"
                    introspectable="0">
      <source-position filename="pluma-message-bus.h" line="16"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MESSAGE_CLASS"
                    c:identifier="PLUMA_MESSAGE_CLASS"
                    introspectable="0">
      <source-position filename="pluma-message.h" line="12"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MESSAGE_CONST"
                    c:identifier="PLUMA_MESSAGE_CONST"
                    introspectable="0">
      <source-position filename="pluma-message.h" line="11"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MESSAGE_GET_CLASS"
                    c:identifier="PLUMA_MESSAGE_GET_CLASS"
                    introspectable="0">
      <source-position filename="pluma-message.h" line="15"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="MESSAGE_TYPE"
                    c:identifier="PLUMA_MESSAGE_TYPE"
                    introspectable="0">
      <source-position filename="pluma-message-type.h" line="12"/>
      <parameters>
        <parameter name="x">
        </parameter>
      </parameters>
    </function-macro>
    <constant name="METADATA_ATTRIBUTE_ENCODING"
              value="metadata::pluma-encoding"
              c:type="PLUMA_METADATA_ATTRIBUTE_ENCODING">
      <source-position filename="pluma-document.h" line="56"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="METADATA_ATTRIBUTE_LANGUAGE"
              value="metadata::pluma-language"
              c:type="PLUMA_METADATA_ATTRIBUTE_LANGUAGE">
      <source-position filename="pluma-document.h" line="57"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="METADATA_ATTRIBUTE_POSITION"
              value="metadata::pluma-position"
              c:type="PLUMA_METADATA_ATTRIBUTE_POSITION">
      <source-position filename="pluma-document.h" line="55"/>
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <class name="Message"
           c:symbol-prefix="message"
           c:type="PlumaMessage"
           parent="GObject.Object"
           glib:type-name="PlumaMessage"
           glib:get-type="pluma_message_get_type"
           glib:type-struct="MessageClass">
      <source-position filename="pluma-message.h" line="29"/>
      <method name="get" c:identifier="pluma_message_get" introspectable="0">
        <doc xml:space="preserve"
             filename="pluma-message.c"
             line="388">Get values of message arguments. The supplied @var_args should contain
pairs of keys and pointers to variables which are set to the argument
value for the specified key.</doc>
        <source-position filename="pluma-message.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="390">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="391">a %NULL variable argument list of key/value container pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="get_key_type" c:identifier="pluma_message_get_key_type">
        <doc xml:space="preserve"
             filename="pluma-message.c"
             line="497">Get the type of a message argument.</doc>
        <source-position filename="pluma-message.h" line="61"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-message.c"
               line="504">the type of @key</doc>
          <type name="GType" c:type="GType"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="499">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="500">the argument key</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_message_type"
              c:identifier="pluma_message_get_message_type">
        <source-position filename="pluma-message.h" line="33"/>
        <return-value transfer-ownership="none" nullable="1">
          <type name="gpointer" c:type="_PlumaMessageType"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_method"
              c:identifier="pluma_message_get_method"
              glib:get-property="method">
        <doc xml:space="preserve"
             filename="pluma-message.c"
             line="226">Get the message method.</doc>
        <source-position filename="pluma-message.h" line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-message.c"
               line="232">the message method</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="228">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_object_path"
              c:identifier="pluma_message_get_object_path"
              glib:get-property="object-path">
        <doc xml:space="preserve"
             filename="pluma-message.c"
             line="243">Get the message object path.</doc>
        <source-position filename="pluma-message.h" line="55"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-message.c"
               line="249">the message object path</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="245">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_valist"
              c:identifier="pluma_message_get_valist"
              introspectable="0">
        <doc xml:space="preserve"
             filename="pluma-message.c"
             line="411">Get values of message arguments. The supplied @var_args should contain
pairs of keys and pointers to variables which are set to the argument
value for the specified key.</doc>
        <source-position filename="pluma-message.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="413">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
          <parameter name="var_args" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="414">a %NULL variable argument list of key/value container pairs</doc>
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_value" c:identifier="pluma_message_get_value">
        <doc xml:space="preserve"
             filename="pluma-message.c"
             line="464">Get the value of a specific message argument. @value will be initialized
with the correct type.</doc>
        <source-position filename="pluma-message.h" line="39"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="466">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="467">the argument key</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="468">value return container</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="has_key" c:identifier="pluma_message_has_key">
        <doc xml:space="preserve"
             filename="pluma-message.c"
             line="517">Check whether the message has a specific key.</doc>
        <source-position filename="pluma-message.h" line="58"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-message.c"
               line="524">%TRUE if @message has argument @key</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="519">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="520">the argument key</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set" c:identifier="pluma_message_set" introspectable="0">
        <doc xml:space="preserve"
             filename="pluma-message.c"
             line="260">Set values of message arguments. The supplied @var_args should contain
pairs of keys and argument values.</doc>
        <source-position filename="pluma-message.h" line="43"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="262">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="263">a %NULL terminated variable list of key/value pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_valist"
              c:identifier="pluma_message_set_valist"
              introspectable="0">
        <doc xml:space="preserve"
             filename="pluma-message.c"
             line="282">Set values of message arguments. The supplied @var_args should contain
pairs of keys and argument values.</doc>
        <source-position filename="pluma-message.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="284">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
          <parameter name="var_args" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="285">a %NULL terminated variable list of key/value pairs</doc>
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_value" c:identifier="pluma_message_set_value">
        <doc xml:space="preserve"
             filename="pluma-message.c"
             line="331">Set value of message argument @key to @value.</doc>
        <source-position filename="pluma-message.h" line="47"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="333">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="334">the argument key</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value"
                     direction="out"
                     caller-allocates="1"
                     transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="335">the argument value</doc>
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_valuesv" c:identifier="pluma_message_set_valuesv">
        <doc xml:space="preserve"
             filename="pluma-message.c"
             line="361">Set message argument values.</doc>
        <source-position filename="pluma-message.h" line="50"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="363">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
          <parameter name="keys" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="364">keys to set values for</doc>
            <array length="2" zero-terminated="0" c:type="const gchar**">
              <type name="utf8" c:type="gchar*"/>
            </array>
          </parameter>
          <parameter name="values" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="365">values to set</doc>
            <array length="2" zero-terminated="0" c:type="GValue*">
              <type name="GObject.Value" c:type="GValue"/>
            </array>
          </parameter>
          <parameter name="n_values" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="366">number of arguments to set values for</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="validate" c:identifier="pluma_message_validate">
        <doc xml:space="preserve"
             filename="pluma-message.c"
             line="559">Validates the message arguments according to the message type.</doc>
        <source-position filename="pluma-message.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-message.c"
               line="565">%TRUE if the message is valid</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message.c"
                 line="561">the #PlumaMessage</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="method"
                transfer-ownership="none"
                getter="get_method"
                default-value="NULL">
        <doc xml:space="preserve"
             filename="pluma-message.c"
             line="137">The messages method.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="object-path"
                transfer-ownership="none"
                getter="get_object_path"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="type"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="MessageType"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="MessagePrivate" c:type="PlumaMessagePrivate*"/>
      </field>
    </class>
    <class name="MessageBus"
           c:symbol-prefix="message_bus"
           c:type="PlumaMessageBus"
           parent="GObject.Object"
           glib:type-name="PlumaMessageBus"
           glib:get-type="pluma_message_bus_get_type"
           glib:type-struct="MessageBusClass">
      <source-position filename="pluma-message-bus.h" line="37"/>
      <constructor name="new" c:identifier="pluma_message_bus_new">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="526">Create a new message bus. Use pluma_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 #PlumaWindow.</doc>
        <source-position filename="pluma-message-bus.h" line="49"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="pluma-message-bus.c"
               line="533">a new #PlumaMessageBus</doc>
          <type name="MessageBus" c:type="PlumaMessageBus*"/>
        </return-value>
      </constructor>
      <function name="get_default"
                c:identifier="pluma_message_bus_get_default">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="503">Get the default application #PlumaMessageBus.</doc>
        <source-position filename="pluma-message-bus.h" line="48"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-message-bus.c"
               line="508">the default #PlumaMessageBus</doc>
          <type name="MessageBus" c:type="PlumaMessageBus*"/>
        </return-value>
      </function>
      <virtual-method name="dispatch">
        <source-position filename="pluma-message-bus.h" line="31"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <type name="Message" c:type="PlumaMessage*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="registered">
        <source-position filename="pluma-message-bus.h" line="33"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="message_type" transfer-ownership="none">
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="unregistered">
        <source-position filename="pluma-message-bus.h" line="35"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="message_type" transfer-ownership="none">
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="block" c:identifier="pluma_message_bus_block">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="876">Blocks evoking the callback specified by @id. Unblock the callback by
using pluma_message_bus_unblock().</doc>
        <source-position filename="pluma-message-bus.h" line="94"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="878">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="879">the callback id</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="block_by_func"
              c:identifier="pluma_message_bus_block_by_func">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="894">Blocks evoking the callback that matches provided @callback and @userdata.
Unblock the callback using pluma_message_unblock_by_func().</doc>
        <source-position filename="pluma-message-bus.h" line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="896">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="897">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="898">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="899">the callback to block</doc>
            <type name="MessageCallback" c:type="PlumaMessageCallback"/>
          </parameter>
          <parameter name="userdata"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="900">the userdata with which the callback was connected</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="connect" c:identifier="pluma_message_bus_connect">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="797">Connect a callback handler to be evoked when message @method at @object_path
is sent over the bus.</doc>
        <source-position filename="pluma-message-bus.h" line="77"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-message-bus.c"
               line="810">the callback identifier</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="799">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="800">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="801">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="notified"
                     closure="3"
                     destroy="4">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="802">function to be called when message @method at @object_path is sent</doc>
            <type name="MessageCallback" c:type="PlumaMessageCallback"/>
          </parameter>
          <parameter name="userdata"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="803">userdata to use for the callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_data"
                     transfer-ownership="none"
                     scope="async">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="804">function to evoke with @userdata as argument when @userdata
               needs to be freed</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="disconnect" c:identifier="pluma_message_bus_disconnect">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="834">Disconnects a previously connected message callback.</doc>
        <source-position filename="pluma-message-bus.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="836">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="837">the callback id as returned by pluma_message_bus_connect()</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="disconnect_by_func"
              c:identifier="pluma_message_bus_disconnect_by_func">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="851">Disconnects a previously connected message callback by matching the
provided callback function and userdata. See also
pluma_message_bus_disconnect().</doc>
        <source-position filename="pluma-message-bus.h" line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="853">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="854">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="855">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="856">the connected callback</doc>
            <type name="MessageCallback" c:type="PlumaMessageCallback"/>
          </parameter>
          <parameter name="userdata"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="857">the userdata with which the callback was connected</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="foreach" c:identifier="pluma_message_bus_foreach">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="775">Calls @func for each message type registered on the bus</doc>
        <source-position filename="pluma-message-bus.h" line="71"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="777">the #PlumaMessagebus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="call"
                     closure="1">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="778">the callback function</doc>
            <type name="MessageBusForeach" c:type="PlumaMessageBusForeach"/>
          </parameter>
          <parameter name="userdata"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="779">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="pluma_message_bus_is_registered">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="727">Check whether a message type @method at @object_path is registered on the
bus.</doc>
        <source-position filename="pluma-message-bus.h" line="67"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-message-bus.c"
               line="736">%TRUE if the @method at @object_path is a registered message
              type on the bus</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="729">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="730">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="731">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup" c:identifier="pluma_message_bus_lookup">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="542">Get the registered #PlumaMessageType for @method at @object_path. The
returned #PlumaMessageType is owned by the bus and should not be unreffed.</doc>
        <source-position filename="pluma-message-bus.h" line="52"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="pluma-message-bus.c"
               line="551">the registered #PlumaMessageType or %NULL if no message type
              is registered for @method at @object_path</doc>
          <type name="MessageType" c:type="PlumaMessageType*"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="544">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="545">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="546">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="register"
              c:identifier="pluma_message_bus_register"
              introspectable="0">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="574">Register a message on the bus. A message must be registered on the bus before
it can be send. This function registers the type arguments for @method at
@object_path. The arguments are specified with the variable arguments which
should contain pairs of const gchar *key and GType terminated by %NULL. The
last @num_optional arguments are registered as optional (and are thus not
required when sending a message).

This function emits a #PlumaMessageBus::registered signal.</doc>
        <source-position filename="pluma-message-bus.h" line="55"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="pluma-message-bus.c"
               line="591">the registered #PlumaMessageType. The returned reference is
              owned by the bus. If you want to keep it alive after
              unregistering, use pluma_message_type_ref().</doc>
          <type name="MessageType" c:type="PlumaMessageType*"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="576">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="577">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="578">the method to register</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="num_optional" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="579">the number of optional arguments</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="580">NULL terminated list of key/gtype method argument pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="send"
              c:identifier="pluma_message_bus_send"
              introspectable="0">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="1064">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 pluma_message_bus_send_sync().</doc>
        <source-position filename="pluma-message-bus.h" line="116"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="1066">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="1067">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="1068">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="1069">NULL terminated list of key/value pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="send_message"
              c:identifier="pluma_message_bus_send_message">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="990">This sends the provided @message asynchronously over the bus. To send
a message synchronously, use pluma_message_bus_send_message_sync(). The
convenience function pluma_message_bus_send() can be used to easily send
a message without constructing the message object explicitly first.</doc>
        <source-position filename="pluma-message-bus.h" line="111"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="992">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="993">the message to send</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_message_sync"
              c:identifier="pluma_message_bus_send_message_sync">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="1023">This sends the provided @message synchronously over the bus. To send
a message asynchronously, use pluma_message_bus_send_message(). The
convenience function pluma_message_bus_send_sync() can be used to easily send
a message without constructing the message object explicitly first.</doc>
        <source-position filename="pluma-message-bus.h" line="113"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="1025">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="1026">the message to send</doc>
            <type name="Message" c:type="PlumaMessage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_sync"
              c:identifier="pluma_message_bus_send_sync"
              introspectable="0">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="1103">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 pluma_message_bus_send().</doc>
        <source-position filename="pluma-message-bus.h" line="120"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="pluma-message-bus.c"
               line="1115">the constructed #PlumaMessage. The caller owns a reference
              to the #PlumaMessage and should call g_object_unref() when
              it is no longer needed</doc>
          <type name="Message" c:type="PlumaMessage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="1105">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="1106">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="1107">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="1108">NULL terminated list of key/value pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="unblock" c:identifier="pluma_message_bus_unblock">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="918">Unblocks the callback specified by @id.</doc>
        <source-position filename="pluma-message-bus.h" line="102"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="920">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="921">the callback id</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="unblock_by_func"
              c:identifier="pluma_message_bus_unblock_by_func">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="935">Unblocks the callback that matches provided @callback and @userdata.</doc>
        <source-position filename="pluma-message-bus.h" line="104"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="937">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="938">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="939">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="940">the callback to block</doc>
            <type name="MessageCallback" c:type="PlumaMessageCallback"/>
          </parameter>
          <parameter name="userdata"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="941">the userdata with which the callback was connected</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="unregister" c:identifier="pluma_message_bus_unregister">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="661">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 #PlumaMessageBus::unregistered signal.</doc>
        <source-position filename="pluma-message-bus.h" line="61"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="663">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="664">the #PlumaMessageType to unregister</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unregister_all"
              c:identifier="pluma_message_bus_unregister_all">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="701">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 #PlumaMessageBus::unregistered signal for all
unregistered message types.</doc>
        <source-position filename="pluma-message-bus.h" line="64"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="703">a #PlumaMessageBus</doc>
            <type name="MessageBus" c:type="PlumaMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="704">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="MessageBusPrivate" c:type="PlumaMessageBusPrivate*"/>
      </field>
      <glib:signal name="dispatch" when="last">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="192">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).
2</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="195">the #PlumaMessage to dispatch</doc>
            <type name="Message"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="registered" when="last">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="213">The "registered" signal is emitted when a message has been registered
on the bus.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="216">the registered #PlumaMessageType</doc>
            <type name="MessageType"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="unregistered" when="last">
        <doc xml:space="preserve"
             filename="pluma-message-bus.c"
             line="232">The "unregistered" signal is emitted when a message has been
unregistered from the bus.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-bus.c"
                 line="235">the unregistered #PlumaMessageType</doc>
            <type name="MessageType"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="MessageBusClass"
            c:type="PlumaMessageBusClass"
            glib:is-gtype-struct-for="MessageBus">
      <source-position filename="pluma-message-bus.h" line="37"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="dispatch">
        <callback name="dispatch">
          <source-position filename="pluma-message-bus.h" line="31"/>
          <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="PlumaMessageBus*"/>
            </parameter>
            <parameter name="message" transfer-ownership="none">
              <type name="Message" c:type="PlumaMessage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="registered">
        <callback name="registered">
          <source-position filename="pluma-message-bus.h" line="33"/>
          <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="PlumaMessageBus*"/>
            </parameter>
            <parameter name="message_type" transfer-ownership="none">
              <type name="MessageType" c:type="PlumaMessageType*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="unregistered">
        <callback name="unregistered">
          <source-position filename="pluma-message-bus.h" line="35"/>
          <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="PlumaMessageBus*"/>
            </parameter>
            <parameter name="message_type" transfer-ownership="none">
              <type name="MessageType" c:type="PlumaMessageType*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <callback name="MessageBusForeach" c:type="PlumaMessageBusForeach">
      <source-position filename="pluma-message-bus.h" line="43"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="message_type" transfer-ownership="none">
          <type name="MessageType" c:type="PlumaMessageType*"/>
        </parameter>
        <parameter name="userdata"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="MessageBusPrivate"
            c:type="PlumaMessageBusPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="pluma-message-bus.h" line="20"/>
    </record>
    <callback name="MessageCallback" c:type="PlumaMessageCallback">
      <doc xml:space="preserve"
           filename="pluma-message-bus.c"
           line="7">Callback signature used for connecting callback functions to be called
when a message is received (see pluma_message_bus_connect()).</doc>
      <source-position filename="pluma-message-bus.h" line="39"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="bus" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-message-bus.c"
               line="9">the #PlumaMessageBus on which the message was sent</doc>
          <type name="MessageBus" c:type="PlumaMessageBus*"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-message-bus.c"
               line="10">the #PlumaMessage which was sent</doc>
          <type name="Message" c:type="PlumaMessage*"/>
        </parameter>
        <parameter name="userdata"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="pluma-message-bus.c"
               line="11">the supplied user data when connecting the callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="MessageClass"
            c:type="PlumaMessageClass"
            glib:is-gtype-struct-for="Message">
      <source-position filename="pluma-message.h" line="29"/>
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="MessagePrivate"
            c:type="PlumaMessagePrivate"
            disguised="1"
            opaque="1">
      <source-position filename="pluma-message.h" line="19"/>
    </record>
    <record name="MessageType"
            c:type="PlumaMessageType"
            opaque="1"
            glib:type-name="PlumaMessageType"
            glib:get-type="pluma_message_type_get_type"
            c:symbol-prefix="message_type">
      <source-position filename="pluma-message-type.h" line="19"/>
      <constructor name="new"
                   c:identifier="pluma_message_type_new"
                   introspectable="0">
        <doc xml:space="preserve"
             filename="pluma-message-type.c"
             line="266">Create a new #PlumaMessageType for @method at @object_path. Argument names
and values are supplied by the NULL terminated variable argument list.
The last @num_optional provided arguments are considered optional.</doc>
        <source-position filename="pluma-message-type.h" line="28"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="pluma-message-type.c"
               line="277">the newly constructed #PlumaMessageType</doc>
          <type name="MessageType" c:type="PlumaMessageType*"/>
        </return-value>
        <parameters>
          <parameter name="object_path"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="268">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="269">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="num_optional" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="270">number of optional arguments</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="271">key/gtype pair variable argument list</doc>
            <varargs/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_valist"
                   c:identifier="pluma_message_type_new_valist"
                   introspectable="0">
        <doc xml:space="preserve"
             filename="pluma-message-type.c"
             line="225">Create a new #PlumaMessageType for @method at @object_path. Argument names
and values are supplied by the NULL terminated variable argument list.
The last @num_optional provided arguments are considered optional.</doc>
        <source-position filename="pluma-message-type.h" line="32"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="pluma-message-type.c"
               line="236">the newly constructed #PlumaMessageType</doc>
          <type name="MessageType" c:type="PlumaMessageType*"/>
        </return-value>
        <parameters>
          <parameter name="object_path"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="227">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="228">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="num_optional" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="229">number of optional arguments</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="va_args" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="230">key/gtype pair variable argument list</doc>
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="foreach" c:identifier="pluma_message_type_foreach">
        <doc xml:space="preserve"
             filename="pluma-message-type.c"
             line="506">Calls @func for each argument in the message type.</doc>
        <source-position filename="pluma-message-type.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="508">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="call"
                     closure="1">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="509">the callback function</doc>
            <type name="MessageTypeForeach" c:type="PlumaMessageTypeForeach"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="510">user data supplied to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_method" c:identifier="pluma_message_type_get_method">
        <doc xml:space="preserve"
             filename="pluma-message-type.c"
             line="455">Get the message type method.</doc>
        <source-position filename="pluma-message-type.h" line="54"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-message-type.c"
               line="461">the message type method</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="457">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_object_path"
              c:identifier="pluma_message_type_get_object_path">
        <doc xml:space="preserve"
             filename="pluma-message-type.c"
             line="440">Get the message type object path.</doc>
        <source-position filename="pluma-message-type.h" line="53"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-message-type.c"
               line="446">the message type object path</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="442">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="instantiate"
              c:identifier="pluma_message_type_instantiate"
              introspectable="0">
        <doc xml:space="preserve"
             filename="pluma-message-type.c"
             line="415">Instantiate a new message from the message type with specific values
for the message arguments.</doc>
        <source-position filename="pluma-message-type.h" line="50"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="pluma-message-type.c"
               line="423">the newly created message</doc>
          <type name="Message" c:type="PlumaMessage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="417">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="418">NULL terminated variable list of key/value pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="instantiate_valist"
              c:identifier="pluma_message_type_instantiate_valist"
              introspectable="0">
        <doc xml:space="preserve"
             filename="pluma-message-type.c"
             line="390">Instantiate a new message from the message type with specific values
for the message arguments.</doc>
        <source-position filename="pluma-message-type.h" line="48"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="pluma-message-type.c"
               line="398">the newly created message</doc>
          <type name="Message" c:type="PlumaMessage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="392">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
          <parameter name="va_args" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="393">NULL terminated variable list of key/value pairs</doc>
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup" c:identifier="pluma_message_type_lookup">
        <doc xml:space="preserve"
             filename="pluma-message-type.c"
             line="470">Get the argument key #GType.</doc>
        <source-position filename="pluma-message-type.h" line="56"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-message-type.c"
               line="477">the #GType of @key</doc>
          <type name="GType" c:type="GType"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="472">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="473">the argument key</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="ref" c:identifier="pluma_message_type_ref">
        <doc xml:space="preserve"
             filename="pluma-message-type.c"
             line="57">Increases the reference count on @message_type.</doc>
        <source-position filename="pluma-message-type.h" line="44"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="pluma-message-type.c"
               line="63">@message_type</doc>
          <type name="MessageType" c:type="PlumaMessageType*"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="59">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set"
              c:identifier="pluma_message_type_set"
              introspectable="0">
        <doc xml:space="preserve"
             filename="pluma-message-type.c"
             line="296">Sets argument names/types supplied by the NULL terminated variable
argument list. The last @num_optional provided arguments are considered
optional.</doc>
        <source-position filename="pluma-message-type.h" line="37"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="298">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
          <parameter name="num_optional" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="299">number of optional arguments</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="300">key/gtype pair variable argument list</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_valist"
              c:identifier="pluma_message_type_set_valist"
              introspectable="0">
        <doc xml:space="preserve"
             filename="pluma-message-type.c"
             line="319">Sets argument names/types supplied by the NULL terminated variable
argument list @va_args. The last @num_optional provided arguments are
considered optional.</doc>
        <source-position filename="pluma-message-type.h" line="40"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="321">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
          <parameter name="num_optional" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="322">number of optional arguments</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="va_args" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="323">key/gtype pair variable argument list</doc>
            <type name="va_list" c:type="va_list"/>
          </parameter>
        </parameters>
      </method>
      <method name="unref" c:identifier="pluma_message_type_unref">
        <doc xml:space="preserve"
             filename="pluma-message-type.c"
             line="75">Decreases the reference count on @message_type. When the reference count
drops to 0, @message_type is destroyed.</doc>
        <source-position filename="pluma-message-type.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="77">the #PlumaMessageType</doc>
            <type name="MessageType" c:type="PlumaMessageType*"/>
          </instance-parameter>
        </parameters>
      </method>
      <function name="identifier" c:identifier="pluma_message_type_identifier">
        <doc xml:space="preserve"
             filename="pluma-message-type.c"
             line="120">Get the string identifier for @method at @object_path.</doc>
        <source-position filename="pluma-message-type.h" line="24"/>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve"
               filename="pluma-message-type.c"
               line="127">the identifier for @method at @object_path</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="object_path"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="122">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="123">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="is_supported"
                c:identifier="pluma_message_type_is_supported">
        <doc xml:space="preserve"
             filename="pluma-message-type.c"
             line="176">Returns if @type is #GType supported by the message system.</doc>
        <source-position filename="pluma-message-type.h" line="23"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-message-type.c"
               line="182">%TRUE if @type is a supported #GType</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="178">the #GType</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </function>
      <function name="is_valid_object_path"
                c:identifier="pluma_message_type_is_valid_object_path">
        <doc xml:space="preserve"
             filename="pluma-message-type.c"
             line="137">Returns whether @object_path is a valid object path</doc>
        <source-position filename="pluma-message-type.h" line="26"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-message-type.c"
               line="143">%TRUE if @object_path is a valid object path</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object_path"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve"
                 filename="pluma-message-type.c"
                 line="139">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
    </record>
    <callback name="MessageTypeForeach" c:type="PlumaMessageTypeForeach">
      <source-position filename="pluma-message-type.h" line="14"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="key" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="type" transfer-ownership="none">
          <type name="GType" c:type="GType"/>
        </parameter>
        <parameter name="required" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="3">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <callback name="MountOperationFactory"
              c:type="PlumaMountOperationFactory"
              introspectable="0">
      <source-position filename="pluma-document.h" line="334"/>
      <return-value>
        <type name="Gio.MountOperation" c:type="GMountOperation*"/>
      </return-value>
      <parameters>
        <parameter name="doc" transfer-ownership="none">
          <type name="Document" c:type="PlumaDocument*"/>
        </parameter>
        <parameter name="userdata"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <function-macro name="NOTEBOOK"
                    c:identifier="PLUMA_NOTEBOOK"
                    introspectable="0">
      <source-position filename="pluma-notebook.h" line="53"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="NOTEBOOK_CLASS"
                    c:identifier="PLUMA_NOTEBOOK_CLASS"
                    introspectable="0">
      <source-position filename="pluma-notebook.h" line="54"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="NOTEBOOK_GET_CLASS"
                    c:identifier="PLUMA_NOTEBOOK_GET_CLASS"
                    introspectable="0">
      <source-position filename="pluma-notebook.h" line="57"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Notebook"
           c:symbol-prefix="notebook"
           c:type="PlumaNotebook"
           parent="Gtk.Notebook"
           glib:type-name="PlumaNotebook"
           glib:get-type="pluma_notebook_get_type"
           glib:type-struct="NotebookClass">
      <source-position filename="pluma-notebook.h" line="95"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="pluma_notebook_new">
        <doc xml:space="preserve"
             filename="pluma-notebook.c"
             line="745">Creates a new #PlumaNotebook object.</doc>
        <source-position filename="pluma-notebook.h" line="102"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-notebook.c"
               line="750">a new #PlumaNotebook</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="tab_added">
        <source-position filename="pluma-notebook.h" line="85"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="notebook" transfer-ownership="none">
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tab_close_request">
        <source-position filename="pluma-notebook.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="notebook" transfer-ownership="none">
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tab_detached">
        <source-position filename="pluma-notebook.h" line="89"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="notebook" transfer-ownership="none">
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tab_removed">
        <source-position filename="pluma-notebook.h" line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="notebook" transfer-ownership="none">
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tabs_reordered">
        <source-position filename="pluma-notebook.h" line="91"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="notebook" transfer-ownership="none">
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="add_tab" c:identifier="pluma_notebook_add_tab">
        <doc xml:space="preserve"
             filename="pluma-notebook.c"
             line="951">Adds the specified @tab to the @nb.</doc>
        <source-position filename="pluma-notebook.h" line="104"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="nb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="953">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="954">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="955">the position where the @tab should be added</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="jump_to" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="956">%TRUE to set the @tab as active</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_close_buttons_sensitive"
              c:identifier="pluma_notebook_get_close_buttons_sensitive">
        <doc xml:space="preserve"
             filename="pluma-notebook.c"
             line="1136">Whether the close buttons are sensitive.</doc>
        <source-position filename="pluma-notebook.h" line="127"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-notebook.c"
               line="1142">%TRUE if the close buttons are sensitive</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="nb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="1138">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tab_drag_and_drop_enabled"
              c:identifier="pluma_notebook_get_tab_drag_and_drop_enabled">
        <doc xml:space="preserve"
             filename="pluma-notebook.c"
             line="1173">Whether the drag and drop is enabled in the @nb.</doc>
        <source-position filename="pluma-notebook.h" line="134"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-notebook.c"
               line="1179">%TRUE if the drag and drop is enabled.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="nb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="1175">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="move_tab" c:identifier="pluma_notebook_move_tab">
        <doc xml:space="preserve"
             filename="pluma-notebook.c"
             line="330">Moves @tab from @src to @dest.
If dest_position is greater than or equal to the number of tabs
of the destination nootebook or negative, tab will be moved to the
end of the tabs.</doc>
        <source-position filename="pluma-notebook.h" line="118"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="src" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="332">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="dest" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="333">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </parameter>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="334">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
          <parameter name="dest_position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="335">the position for @tab</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_all_tabs"
              c:identifier="pluma_notebook_remove_all_tabs">
        <doc xml:space="preserve"
             filename="pluma-notebook.c"
             line="1080">Removes all #PlumaTab from @nb.</doc>
        <source-position filename="pluma-notebook.h" line="112"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="nb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="1082">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_tab" c:identifier="pluma_notebook_remove_tab">
        <doc xml:space="preserve"
             filename="pluma-notebook.c"
             line="1049">Removes @tab from @nb.</doc>
        <source-position filename="pluma-notebook.h" line="109"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="nb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="1051">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="1052">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </method>
      <method name="reorder_tab" c:identifier="pluma_notebook_reorder_tab">
        <doc xml:space="preserve"
             filename="pluma-notebook.c"
             line="360">Reorders the page containing @tab, so that it appears in @dest_position position.
If dest_position is greater than or equal to the number of tabs
of the destination notebook or negative, tab will be moved to the
end of the tabs.</doc>
        <source-position filename="pluma-notebook.h" line="114"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="src" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="362">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="363">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
          <parameter name="dest_position" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="364">the position for @tab</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_close_buttons_sensitive"
              c:identifier="pluma_notebook_set_close_buttons_sensitive">
        <doc xml:space="preserve"
             filename="pluma-notebook.c"
             line="1111">Sets whether the close buttons in the tabs of @nb are sensitive.</doc>
        <source-position filename="pluma-notebook.h" line="123"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="nb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="1113">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="sensitive" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="1114">%TRUE to make the buttons sensitive</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tab_drag_and_drop_enabled"
              c:identifier="pluma_notebook_set_tab_drag_and_drop_enabled">
        <doc xml:space="preserve"
             filename="pluma-notebook.c"
             line="1152">Sets whether drag and drop of tabs in the @nb is enabled.</doc>
        <source-position filename="pluma-notebook.h" line="130"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="nb" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="1154">a #PlumaNotebook</doc>
            <type name="Notebook" c:type="PlumaNotebook*"/>
          </instance-parameter>
          <parameter name="enable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-notebook.c"
                 line="1155">%TRUE to enable the drag and drop</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <field name="notebook">
        <type name="Gtk.Notebook" c:type="GtkNotebook"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="NotebookPrivate" c:type="PlumaNotebookPrivate*"/>
      </field>
      <glib:signal name="tab-added" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tab-close-request" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tab-detached" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tab-removed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tabs-reordered" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="NotebookClass"
            c:type="PlumaNotebookClass"
            glib:is-gtype-struct-for="Notebook">
      <source-position filename="pluma-notebook.h" line="95"/>
      <field name="parent_class">
        <type name="Gtk.NotebookClass" c:type="GtkNotebookClass"/>
      </field>
      <field name="tab_added">
        <callback name="tab_added">
          <source-position filename="pluma-notebook.h" line="85"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="notebook" transfer-ownership="none">
              <type name="Notebook" c:type="PlumaNotebook*"/>
            </parameter>
            <parameter name="tab" transfer-ownership="none">
              <type name="Tab" c:type="PlumaTab*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="tab_removed">
        <callback name="tab_removed">
          <source-position filename="pluma-notebook.h" line="87"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="notebook" transfer-ownership="none">
              <type name="Notebook" c:type="PlumaNotebook*"/>
            </parameter>
            <parameter name="tab" transfer-ownership="none">
              <type name="Tab" c:type="PlumaTab*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="tab_detached">
        <callback name="tab_detached">
          <source-position filename="pluma-notebook.h" line="89"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="notebook" transfer-ownership="none">
              <type name="Notebook" c:type="PlumaNotebook*"/>
            </parameter>
            <parameter name="tab" transfer-ownership="none">
              <type name="Tab" c:type="PlumaTab*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="tabs_reordered">
        <callback name="tabs_reordered">
          <source-position filename="pluma-notebook.h" line="91"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="notebook" transfer-ownership="none">
              <type name="Notebook" c:type="PlumaNotebook*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="tab_close_request">
        <callback name="tab_close_request">
          <source-position filename="pluma-notebook.h" line="92"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="notebook" transfer-ownership="none">
              <type name="Notebook" c:type="PlumaNotebook*"/>
            </parameter>
            <parameter name="tab" transfer-ownership="none">
              <type name="Tab" c:type="PlumaTab*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="NotebookPrivate"
            c:type="PlumaNotebookPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="pluma-notebook.h" line="60"/>
    </record>
    <function-macro name="PANEL" c:identifier="PLUMA_PANEL" introspectable="0">
      <source-position filename="pluma-panel.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PANEL_CLASS"
                    c:identifier="PLUMA_PANEL_CLASS"
                    introspectable="0">
      <source-position filename="pluma-panel.h" line="44"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PANEL_GET_CLASS"
                    c:identifier="PLUMA_PANEL_GET_CLASS"
                    introspectable="0">
      <source-position filename="pluma-panel.h" line="47"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PROGRESS_MESSAGE_AREA"
                    c:identifier="PLUMA_PROGRESS_MESSAGE_AREA"
                    introspectable="0">
      <source-position filename="pluma-progress-message-area.h" line="43"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PROGRESS_MESSAGE_AREA_CLASS"
                    c:identifier="PLUMA_PROGRESS_MESSAGE_AREA_CLASS"
                    introspectable="0">
      <source-position filename="pluma-progress-message-area.h" line="44"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="PROGRESS_MESSAGE_AREA_GET_CLASS"
                    c:identifier="PLUMA_PROGRESS_MESSAGE_AREA_GET_CLASS"
                    introspectable="0">
      <source-position filename="pluma-progress-message-area.h" line="47"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Panel"
           c:symbol-prefix="panel"
           c:type="PlumaPanel"
           parent="Gtk.Box"
           glib:type-name="PlumaPanel"
           glib:get-type="pluma_panel_get_type"
           glib:type-struct="PanelClass">
      <source-position filename="pluma-panel.h" line="88"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="pluma_panel_new">
        <doc xml:space="preserve"
             filename="pluma-panel.c"
             line="549">Creates a new #PlumaPanel with the given @orientation. You shouldn't create
a new panel use pluma_window_get_side_panel() or pluma_window_get_bottom_panel()
instead.</doc>
        <source-position filename="pluma-panel.h" line="95"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-panel.c"
               line="557">a new #PlumaPanel object.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="orientation" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-panel.c"
                 line="551">a #GtkOrientation</doc>
            <type name="Gtk.Orientation" c:type="GtkOrientation"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="close">
        <source-position filename="pluma-panel.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="focus_document">
        <source-position filename="pluma-panel.h" line="81"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="item_added">
        <source-position filename="pluma-panel.h" line="74"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="item_removed">
        <source-position filename="pluma-panel.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="activate_item" c:identifier="pluma_panel_activate_item">
        <doc xml:space="preserve"
             filename="pluma-panel.c"
             line="753">Switches to the page that contains @item.</doc>
        <source-position filename="pluma-panel.h" line="110"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-panel.c"
               line="760">%TRUE if it was activated</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-panel.c"
                 line="755">a #PlumaPanel</doc>
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-panel.c"
                 line="756">the item to be activated</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_item" c:identifier="pluma_panel_add_item">
        <doc xml:space="preserve"
             filename="pluma-panel.c"
             line="610">Adds a new item to the @panel.</doc>
        <source-position filename="pluma-panel.h" line="97"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-panel.c"
                 line="612">a #PlumaPanel</doc>
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-panel.c"
                 line="613">the #GtkWidget to add to the @panel</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-panel.c"
                 line="614">the name to be shown in the @panel</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="image" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-panel.c"
                 line="615">the image to be shown in the @panel</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_item_with_icon"
              c:identifier="pluma_panel_add_item_with_icon">
        <doc xml:space="preserve"
             filename="pluma-panel.c"
             line="673">Same as pluma_panel_add_item() but using an image from icon name.</doc>
        <source-position filename="pluma-panel.h" line="102"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-panel.c"
                 line="675">a #PlumaPanel</doc>
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-panel.c"
                 line="676">the #GtkWidget to add to the @panel</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-panel.c"
                 line="677">the name to be shown in the @panel</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="icon_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-panel.c"
                 line="678">a icon name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_n_items" c:identifier="pluma_panel_get_n_items">
        <doc xml:space="preserve"
             filename="pluma-panel.c"
             line="830">Gets the number of items in a @panel.</doc>
        <source-position filename="pluma-panel.h" line="118"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-panel.c"
               line="836">the number of items contained in #PlumaPanel</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-panel.c"
                 line="832">a #PlumaPanel</doc>
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_orientation"
              c:identifier="pluma_panel_get_orientation">
        <doc xml:space="preserve"
             filename="pluma-panel.c"
             line="814">Gets the orientation of the @panel.</doc>
        <source-position filename="pluma-panel.h" line="116"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-panel.c"
               line="820">the #GtkOrientation of #PlumaPanel</doc>
          <type name="Gtk.Orientation" c:type="GtkOrientation"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-panel.c"
                 line="816">a #PlumaPanel</doc>
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="item_is_active" c:identifier="pluma_panel_item_is_active">
        <doc xml:space="preserve"
             filename="pluma-panel.c"
             line="783">Returns whether @item is the active widget in @panel</doc>
        <source-position filename="pluma-panel.h" line="113"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-panel.c"
               line="790">%TRUE if @item is the active widget</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-panel.c"
                 line="785">a #PlumaPanel</doc>
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-panel.c"
                 line="786">a #GtkWidget</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_item" c:identifier="pluma_panel_remove_item">
        <doc xml:space="preserve"
             filename="pluma-panel.c"
             line="699">Removes the widget @item from the panel if it is in the @panel and returns
%TRUE if there was not any problem.</doc>
        <source-position filename="pluma-panel.h" line="107"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-panel.c"
               line="707">%TRUE if it was well removed.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="panel" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-panel.c"
                 line="701">a #PlumaPanel</doc>
            <type name="Panel" c:type="PlumaPanel*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-panel.c"
                 line="702">the item to be removed from the panel</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="panel-orientation"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="GTK_ORIENTATION_VERTICAL">
        <type name="Gtk.Orientation"/>
      </property>
      <field name="vbox">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="PanelPrivate" c:type="PlumaPanelPrivate*"/>
      </field>
      <glib:signal name="close" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="focus-document" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="item-added" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gtk.Widget"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="item-removed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gtk.Widget"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="PanelClass"
            c:type="PlumaPanelClass"
            glib:is-gtype-struct-for="Panel">
      <source-position filename="pluma-panel.h" line="88"/>
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
      <field name="item_added">
        <callback name="item_added">
          <source-position filename="pluma-panel.h" line="74"/>
          <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="PlumaPanel*"/>
            </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">
          <source-position filename="pluma-panel.h" line="76"/>
          <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="PlumaPanel*"/>
            </parameter>
            <parameter name="item" transfer-ownership="none">
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="close">
        <callback name="close">
          <source-position filename="pluma-panel.h" line="80"/>
          <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="PlumaPanel*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="focus_document">
        <callback name="focus_document">
          <source-position filename="pluma-panel.h" line="81"/>
          <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="PlumaPanel*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="_pluma_reserved1" introspectable="0">
        <callback name="_pluma_reserved1">
          <source-position filename="pluma-panel.h" line="84"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_pluma_reserved2" introspectable="0">
        <callback name="_pluma_reserved2">
          <source-position filename="pluma-panel.h" line="85"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_pluma_reserved3" introspectable="0">
        <callback name="_pluma_reserved3">
          <source-position filename="pluma-panel.h" line="86"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
      <field name="_pluma_reserved4" introspectable="0">
        <callback name="_pluma_reserved4">
          <source-position filename="pluma-panel.h" line="87"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
        </callback>
      </field>
    </record>
    <record name="PanelPrivate"
            c:type="PlumaPanelPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="pluma-panel.h" line="50"/>
    </record>
    <class name="ProgressMessageArea"
           c:symbol-prefix="progress_message_area"
           c:type="PlumaProgressMessageArea"
           parent="Gtk.InfoBar"
           glib:type-name="PlumaProgressMessageArea"
           glib:get-type="pluma_progress_message_area_get_type"
           glib:type-struct="ProgressMessageAreaClass">
      <source-position filename="pluma-progress-message-area.h" line="73"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="pluma_progress_message_area_new">
        <source-position filename="pluma-progress-message-area.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="image_id" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="markup" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="has_cancel" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="pulse" c:identifier="pluma_progress_message_area_pulse">
        <source-position filename="pluma-progress-message-area.h" line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="area" transfer-ownership="none">
            <type name="ProgressMessageArea"
                  c:type="PlumaProgressMessageArea*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_fraction"
              c:identifier="pluma_progress_message_area_set_fraction">
        <source-position filename="pluma-progress-message-area.h" line="93"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="area" transfer-ownership="none">
            <type name="ProgressMessageArea"
                  c:type="PlumaProgressMessageArea*"/>
          </instance-parameter>
          <parameter name="fraction" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_image"
              c:identifier="pluma_progress_message_area_set_image">
        <source-position filename="pluma-progress-message-area.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="area" transfer-ownership="none">
            <type name="ProgressMessageArea"
                  c:type="PlumaProgressMessageArea*"/>
          </instance-parameter>
          <parameter name="image_id" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_markup"
              c:identifier="pluma_progress_message_area_set_markup">
        <source-position filename="pluma-progress-message-area.h" line="87"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="area" transfer-ownership="none">
            <type name="ProgressMessageArea"
                  c:type="PlumaProgressMessageArea*"/>
          </instance-parameter>
          <parameter name="markup" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_text"
              c:identifier="pluma_progress_message_area_set_text">
        <source-position filename="pluma-progress-message-area.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="area" transfer-ownership="none">
            <type name="ProgressMessageArea"
                  c:type="PlumaProgressMessageArea*"/>
          </instance-parameter>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="has-cancel-button"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none"
                default-value="TRUE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent">
        <type name="Gtk.InfoBar" c:type="GtkInfoBar"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ProgressMessageAreaPrivate"
              c:type="PlumaProgressMessageAreaPrivate*"/>
      </field>
    </class>
    <record name="ProgressMessageAreaClass"
            c:type="PlumaProgressMessageAreaClass"
            glib:is-gtype-struct-for="ProgressMessageArea">
      <source-position filename="pluma-progress-message-area.h" line="73"/>
      <field name="parent_class">
        <type name="Gtk.InfoBarClass" c:type="GtkInfoBarClass"/>
      </field>
    </record>
    <record name="ProgressMessageAreaPrivate"
            c:type="PlumaProgressMessageAreaPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="pluma-progress-message-area.h" line="50"/>
    </record>
    <function-macro name="SEARCH_IS_CASE_SENSITIVE"
                    c:identifier="PLUMA_SEARCH_IS_CASE_SENSITIVE"
                    introspectable="0">
      <source-position filename="pluma-document.h" line="321"/>
      <parameters>
        <parameter name="sflags">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SEARCH_IS_DONT_SET_FLAGS"
                    c:identifier="PLUMA_SEARCH_IS_DONT_SET_FLAGS"
                    introspectable="0">
      <source-position filename="pluma-document.h" line="313"/>
      <parameters>
        <parameter name="sflags">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SEARCH_IS_ENTIRE_WORD"
                    c:identifier="PLUMA_SEARCH_IS_ENTIRE_WORD"
                    introspectable="0">
      <source-position filename="pluma-document.h" line="317"/>
      <parameters>
        <parameter name="sflags">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SEARCH_IS_MATCH_REGEX"
                    c:identifier="PLUMA_SEARCH_IS_MATCH_REGEX"
                    introspectable="0">
      <source-position filename="pluma-document.h" line="329"/>
      <parameters>
        <parameter name="sflags">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SEARCH_IS_PARSE_ESCAPES"
                    c:identifier="PLUMA_SEARCH_IS_PARSE_ESCAPES"
                    introspectable="0">
      <source-position filename="pluma-document.h" line="325"/>
      <parameters>
        <parameter name="sflags">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SEARCH_SET_CASE_SENSITIVE"
                    c:identifier="PLUMA_SEARCH_SET_CASE_SENSITIVE"
                    introspectable="0">
      <source-position filename="pluma-document.h" line="322"/>
      <parameters>
        <parameter name="sflags">
        </parameter>
        <parameter name="state">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SEARCH_SET_DONT_SET_FLAGS"
                    c:identifier="PLUMA_SEARCH_SET_DONT_SET_FLAGS"
                    introspectable="0">
      <source-position filename="pluma-document.h" line="314"/>
      <parameters>
        <parameter name="sflags">
        </parameter>
        <parameter name="state">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SEARCH_SET_ENTIRE_WORD"
                    c:identifier="PLUMA_SEARCH_SET_ENTIRE_WORD"
                    introspectable="0">
      <source-position filename="pluma-document.h" line="318"/>
      <parameters>
        <parameter name="sflags">
        </parameter>
        <parameter name="state">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SEARCH_SET_MATCH_REGEX"
                    c:identifier="PLUMA_SEARCH_SET_MATCH_REGEX"
                    introspectable="0">
      <source-position filename="pluma-document.h" line="330"/>
      <parameters>
        <parameter name="sflags">
        </parameter>
        <parameter name="state">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="SEARCH_SET_PARSE_ESCAPES"
                    c:identifier="PLUMA_SEARCH_SET_PARSE_ESCAPES"
                    introspectable="0">
      <source-position filename="pluma-document.h" line="326"/>
      <parameters>
        <parameter name="sflags">
        </parameter>
        <parameter name="state">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STATUSBAR"
                    c:identifier="PLUMA_STATUSBAR"
                    introspectable="0">
      <source-position filename="pluma-statusbar.h" line="39"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STATUSBAR_CLASS"
                    c:identifier="PLUMA_STATUSBAR_CLASS"
                    introspectable="0">
      <source-position filename="pluma-statusbar.h" line="40"/>
      <parameters>
        <parameter name="k">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STATUSBAR_GET_CLASS"
                    c:identifier="PLUMA_STATUSBAR_GET_CLASS"
                    introspectable="0">
      <source-position filename="pluma-statusbar.h" line="43"/>
      <parameters>
        <parameter name="o">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STATUS_COMBO_BOX"
                    c:identifier="PLUMA_STATUS_COMBO_BOX"
                    introspectable="0">
      <source-position filename="pluma-status-combo-box.h" line="32"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STATUS_COMBO_BOX_CLASS"
                    c:identifier="PLUMA_STATUS_COMBO_BOX_CLASS"
                    introspectable="0">
      <source-position filename="pluma-status-combo-box.h" line="34"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STATUS_COMBO_BOX_CONST"
                    c:identifier="PLUMA_STATUS_COMBO_BOX_CONST"
                    introspectable="0">
      <source-position filename="pluma-status-combo-box.h" line="33"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="STATUS_COMBO_BOX_GET_CLASS"
                    c:identifier="PLUMA_STATUS_COMBO_BOX_GET_CLASS"
                    introspectable="0">
      <source-position filename="pluma-status-combo-box.h" line="37"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <bitfield name="SearchFlags"
              glib:type-name="PlumaSearchFlags"
              glib:get-type="pluma_search_flags_get_type"
              c:type="PlumaSearchFlags">
      <member name="dont_set_flags"
              value="1"
              c:identifier="PLUMA_SEARCH_DONT_SET_FLAGS"
              glib:nick="dont-set-flags"
              glib:name="PLUMA_SEARCH_DONT_SET_FLAGS">
      </member>
      <member name="entire_word"
              value="2"
              c:identifier="PLUMA_SEARCH_ENTIRE_WORD"
              glib:nick="entire-word"
              glib:name="PLUMA_SEARCH_ENTIRE_WORD">
      </member>
      <member name="case_sensitive"
              value="4"
              c:identifier="PLUMA_SEARCH_CASE_SENSITIVE"
              glib:nick="case-sensitive"
              glib:name="PLUMA_SEARCH_CASE_SENSITIVE">
      </member>
      <member name="parse_escapes"
              value="8"
              c:identifier="PLUMA_SEARCH_PARSE_ESCAPES"
              glib:nick="parse-escapes"
              glib:name="PLUMA_SEARCH_PARSE_ESCAPES">
      </member>
      <member name="match_regex"
              value="16"
              c:identifier="PLUMA_SEARCH_MATCH_REGEX"
              glib:nick="match-regex"
              glib:name="PLUMA_SEARCH_MATCH_REGEX">
      </member>
    </bitfield>
    <class name="StatusComboBox"
           c:symbol-prefix="status_combo_box"
           c:type="PlumaStatusComboBox"
           parent="Gtk.EventBox"
           glib:type-name="PlumaStatusComboBox"
           glib:get-type="pluma_status_combo_box_get_type"
           glib:type-struct="StatusComboBoxClass">
      <source-position filename="pluma-status-combo-box.h" line="54"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="pluma_status_combo_box_new">
        <source-position filename="pluma-status-combo-box.h" line="57"/>
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="label"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="changed">
        <source-position filename="pluma-status-combo-box.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gtk.MenuItem" c:type="GtkMenuItem*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="add_item" c:identifier="pluma_status_combo_box_add_item">
        <source-position filename="pluma-status-combo-box.h" line="63"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gtk.MenuItem" c:type="GtkMenuItem*"/>
          </parameter>
          <parameter name="text"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_item_label"
              c:identifier="pluma_status_combo_box_get_item_label"
              introspectable="0">
        <source-position filename="pluma-status-combo-box.h" line="79"/>
        <return-value>
          <type name="Gtk.Label" c:type="GtkLabel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_item_text"
              c:identifier="pluma_status_combo_box_get_item_text">
        <source-position filename="pluma-status-combo-box.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gtk.MenuItem" c:type="GtkMenuItem*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_items" c:identifier="pluma_status_combo_box_get_items">
        <source-position filename="pluma-status-combo-box.h" line="69"/>
        <return-value transfer-ownership="container">
          <type name="GLib.List" c:type="GList*">
            <type name="Gtk.Widget"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_label"
              c:identifier="pluma_status_combo_box_get_label"
              glib:get-property="label">
        <source-position filename="pluma-status-combo-box.h" line="59"/>
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_item"
              c:identifier="pluma_status_combo_box_remove_item">
        <source-position filename="pluma-status-combo-box.h" line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gtk.MenuItem" c:type="GtkMenuItem*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_item" c:identifier="pluma_status_combo_box_set_item">
        <source-position filename="pluma-status-combo-box.h" line="76"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gtk.MenuItem" c:type="GtkMenuItem*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_item_text"
              c:identifier="pluma_status_combo_box_set_item_text">
        <source-position filename="pluma-status-combo-box.h" line="72"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gtk.MenuItem" c:type="GtkMenuItem*"/>
          </parameter>
          <parameter name="text"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_label"
              c:identifier="pluma_status_combo_box_set_label"
              glib:set-property="label">
        <source-position filename="pluma-status-combo-box.h" line="60"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="combo" transfer-ownership="none">
            <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
          </instance-parameter>
          <parameter name="label"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="label"
                writable="1"
                transfer-ownership="none"
                setter="set_label"
                getter="get_label"
                default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent">
        <type name="Gtk.EventBox" c:type="GtkEventBox"/>
      </field>
      <field name="priv">
        <type name="StatusComboBoxPrivate"
              c:type="PlumaStatusComboBoxPrivate*"/>
      </field>
      <glib:signal name="changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gtk.MenuItem"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="StatusComboBoxClass"
            c:type="PlumaStatusComboBoxClass"
            glib:is-gtype-struct-for="StatusComboBox">
      <source-position filename="pluma-status-combo-box.h" line="54"/>
      <field name="parent_class">
        <type name="Gtk.EventBoxClass" c:type="GtkEventBoxClass"/>
      </field>
      <field name="changed">
        <callback name="changed">
          <source-position filename="pluma-status-combo-box.h" line="52"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="combo" transfer-ownership="none">
              <type name="StatusComboBox" c:type="PlumaStatusComboBox*"/>
            </parameter>
            <parameter name="item" transfer-ownership="none">
              <type name="Gtk.MenuItem" c:type="GtkMenuItem*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="StatusComboBoxPrivate"
            c:type="PlumaStatusComboBoxPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="pluma-status-combo-box.h" line="41"/>
    </record>
    <class name="Statusbar"
           c:symbol-prefix="statusbar"
           c:type="PlumaStatusbar"
           parent="Gtk.Statusbar"
           glib:type-name="PlumaStatusbar"
           glib:get-type="pluma_statusbar_get_type"
           glib:type-struct="StatusbarClass">
      <source-position filename="pluma-statusbar.h" line="60"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="pluma_statusbar_new">
        <doc xml:space="preserve"
             filename="pluma-statusbar.c"
             line="182">Creates a new #PlumaStatusbar.</doc>
        <source-position filename="pluma-statusbar.h" line="64"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-statusbar.c"
               line="187">the new #PlumaStatusbar object</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="clear_overwrite"
              c:identifier="pluma_statusbar_clear_overwrite">
        <source-position filename="pluma-statusbar.h" line="77"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="statusbar" transfer-ownership="none">
            <type name="Statusbar" c:type="PlumaStatusbar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="flash_message"
              c:identifier="pluma_statusbar_flash_message"
              introspectable="0">
        <doc xml:space="preserve"
             filename="pluma-statusbar.c"
             line="267">Flash a temporary message on the statusbar.</doc>
        <source-position filename="pluma-statusbar.h" line="79"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="statusbar" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-statusbar.c"
                 line="269">a #PlumaStatusbar</doc>
            <type name="Statusbar" c:type="PlumaStatusbar*"/>
          </instance-parameter>
          <parameter name="context_id" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-statusbar.c"
                 line="270">message context_id</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-statusbar.c"
                 line="271">message to flash on the statusbar</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_cursor_position"
              c:identifier="pluma_statusbar_set_cursor_position">
        <source-position filename="pluma-statusbar.h" line="73"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="statusbar" transfer-ownership="none">
            <type name="Statusbar" c:type="PlumaStatusbar*"/>
          </instance-parameter>
          <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="pluma_statusbar_set_overwrite">
        <doc xml:space="preserve"
             filename="pluma-statusbar.c"
             line="195">Sets the overwrite mode on the statusbar.</doc>
        <source-position filename="pluma-statusbar.h" line="70"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="statusbar" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-statusbar.c"
                 line="197">a #PlumaStatusbar</doc>
            <type name="Statusbar" c:type="PlumaStatusbar*"/>
          </instance-parameter>
          <parameter name="overwrite" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-statusbar.c"
                 line="198">if the overwrite mode is set</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_window_state"
              c:identifier="pluma_statusbar_set_window_state">
        <source-position filename="pluma-statusbar.h" line="66"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="statusbar" transfer-ownership="none">
            <type name="Statusbar" c:type="PlumaStatusbar*"/>
          </instance-parameter>
          <parameter name="state" transfer-ownership="none">
            <type name="WindowState" c:type="PlumaWindowState"/>
          </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="PlumaStatusbarPrivate*"/>
      </field>
    </class>
    <record name="StatusbarClass"
            c:type="PlumaStatusbarClass"
            glib:is-gtype-struct-for="Statusbar">
      <source-position filename="pluma-statusbar.h" line="60"/>
      <field name="parent_class">
        <type name="Gtk.StatusbarClass" c:type="GtkStatusbarClass"/>
      </field>
    </record>
    <record name="StatusbarPrivate"
            c:type="PlumaStatusbarPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="pluma-statusbar.h" line="46"/>
    </record>
    <function-macro name="TAB" c:identifier="PLUMA_TAB" introspectable="0">
      <source-position filename="pluma-tab.h" line="65"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="TAB_CLASS"
                    c:identifier="PLUMA_TAB_CLASS"
                    introspectable="0">
      <source-position filename="pluma-tab.h" line="66"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="TAB_GET_CLASS"
                    c:identifier="PLUMA_TAB_GET_CLASS"
                    introspectable="0">
      <source-position filename="pluma-tab.h" line="69"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Tab"
           c:symbol-prefix="tab"
           c:type="PlumaTab"
           parent="Gtk.Box"
           glib:type-name="PlumaTab"
           glib:get-type="pluma_tab_get_type"
           glib:type-struct="TabClass">
      <source-position filename="pluma-tab.h" line="95"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <function name="get_from_document"
                c:identifier="pluma_tab_get_from_document">
        <doc xml:space="preserve"
             filename="pluma-tab.c"
             line="2007">Gets the #PlumaTab associated with @doc.</doc>
        <source-position filename="pluma-tab.h" line="107"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-tab.c"
               line="2013">the #PlumaTab associated with @doc</doc>
          <type name="Tab" c:type="PlumaTab*"/>
        </return-value>
        <parameters>
          <parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-tab.c"
                 line="2009">a #PlumaDocument</doc>
            <type name="Document" c:type="PlumaDocument*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_auto_save_enabled"
              c:identifier="pluma_tab_get_auto_save_enabled">
        <doc xml:space="preserve"
             filename="pluma-tab.c"
             line="2695">Gets the current state for the autosave feature</doc>
        <source-position filename="pluma-tab.h" line="111"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-tab.c"
               line="2701">%TRUE if the autosave is enabled, else %FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-tab.c"
                 line="2697">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_auto_save_interval"
              c:identifier="pluma_tab_get_auto_save_interval">
        <doc xml:space="preserve"
             filename="pluma-tab.c"
             line="2775">Gets the current interval for the autosaves</doc>
        <source-position filename="pluma-tab.h" line="118"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-tab.c"
               line="2781">the value of the autosave</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-tab.c"
                 line="2777">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_document" c:identifier="pluma_tab_get_document">
        <doc xml:space="preserve"
             filename="pluma-tab.c"
             line="1682">Gets the #PlumaDocument associated to @tab.</doc>
        <source-position filename="pluma-tab.h" line="105"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-tab.c"
               line="1688">the #PlumaDocument associated to @tab</doc>
          <type name="Document" c:type="PlumaDocument*"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-tab.c"
                 line="1684">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_state"
              c:identifier="pluma_tab_get_state"
              glib:get-property="state">
        <doc xml:space="preserve"
             filename="pluma-tab.c"
             line="302">Gets the #PlumaTabState of @tab.</doc>
        <source-position filename="pluma-tab.h" line="109"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-tab.c"
               line="308">the #PlumaTabState of @tab</doc>
          <type name="TabState" c:type="PlumaTabState"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-tab.c"
                 line="304">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_view" c:identifier="pluma_tab_get_view">
        <doc xml:space="preserve"
             filename="pluma-tab.c"
             line="1668">Gets the #PlumaView inside @tab.</doc>
        <source-position filename="pluma-tab.h" line="102"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-tab.c"
               line="1674">the #PlumaView inside @tab</doc>
          <type name="View" c:type="PlumaView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-tab.c"
                 line="1670">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_auto_save_enabled"
              c:identifier="pluma_tab_set_auto_save_enabled">
        <doc xml:space="preserve"
             filename="pluma-tab.c"
             line="2713">Enables or disables the autosave feature. It does not install an
autosave timeout if the document is new or is read-only</doc>
        <source-position filename="pluma-tab.h" line="114"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-tab.c"
                 line="2715">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </instance-parameter>
          <parameter name="enable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-tab.c"
                 line="2716">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="pluma_tab_set_auto_save_interval">
        <doc xml:space="preserve"
             filename="pluma-tab.c"
             line="2793">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>
        <source-position filename="pluma-tab.h" line="121"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-tab.c"
                 line="2795">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </instance-parameter>
          <parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-tab.c"
                 line="2796">the new interval</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_info_bar" c:identifier="pluma_tab_set_info_bar">
        <source-position filename="pluma-tab.h" line="125"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="PlumaTab*"/>
          </instance-parameter>
          <parameter name="info_bar" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="autosave"
                writable="1"
                transfer-ownership="none"
                default-value="TRUE">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="autosave-interval"
                writable="1"
                transfer-ownership="none"
                default-value="0">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="name" transfer-ownership="none" default-value="NULL">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="state"
                transfer-ownership="none"
                getter="get_state"
                default-value="PLUMA_TAB_STATE_NORMAL">
        <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="PlumaTabPrivate*"/>
      </field>
    </class>
    <record name="TabClass"
            c:type="PlumaTabClass"
            glib:is-gtype-struct-for="Tab">
      <source-position filename="pluma-tab.h" line="95"/>
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
    </record>
    <record name="TabPrivate"
            c:type="PlumaTabPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="pluma-tab.h" line="72"/>
    </record>
    <enumeration name="TabState"
                 glib:type-name="PlumaTabState"
                 glib:get-type="pluma_tab_state_get_type"
                 c:type="PlumaTabState">
      <member name="state_normal"
              value="0"
              c:identifier="PLUMA_TAB_STATE_NORMAL"
              glib:nick="state-normal"
              glib:name="PLUMA_TAB_STATE_NORMAL">
      </member>
      <member name="state_loading"
              value="1"
              c:identifier="PLUMA_TAB_STATE_LOADING"
              glib:nick="state-loading"
              glib:name="PLUMA_TAB_STATE_LOADING">
      </member>
      <member name="state_reverting"
              value="2"
              c:identifier="PLUMA_TAB_STATE_REVERTING"
              glib:nick="state-reverting"
              glib:name="PLUMA_TAB_STATE_REVERTING">
      </member>
      <member name="state_saving"
              value="3"
              c:identifier="PLUMA_TAB_STATE_SAVING"
              glib:nick="state-saving"
              glib:name="PLUMA_TAB_STATE_SAVING">
      </member>
      <member name="state_printing"
              value="4"
              c:identifier="PLUMA_TAB_STATE_PRINTING"
              glib:nick="state-printing"
              glib:name="PLUMA_TAB_STATE_PRINTING">
      </member>
      <member name="state_print_previewing"
              value="5"
              c:identifier="PLUMA_TAB_STATE_PRINT_PREVIEWING"
              glib:nick="state-print-previewing"
              glib:name="PLUMA_TAB_STATE_PRINT_PREVIEWING">
      </member>
      <member name="state_showing_print_preview"
              value="6"
              c:identifier="PLUMA_TAB_STATE_SHOWING_PRINT_PREVIEW"
              glib:nick="state-showing-print-preview"
              glib:name="PLUMA_TAB_STATE_SHOWING_PRINT_PREVIEW">
      </member>
      <member name="state_generic_not_editable"
              value="7"
              c:identifier="PLUMA_TAB_STATE_GENERIC_NOT_EDITABLE"
              glib:nick="state-generic-not-editable"
              glib:name="PLUMA_TAB_STATE_GENERIC_NOT_EDITABLE">
      </member>
      <member name="state_loading_error"
              value="8"
              c:identifier="PLUMA_TAB_STATE_LOADING_ERROR"
              glib:nick="state-loading-error"
              glib:name="PLUMA_TAB_STATE_LOADING_ERROR">
      </member>
      <member name="state_reverting_error"
              value="9"
              c:identifier="PLUMA_TAB_STATE_REVERTING_ERROR"
              glib:nick="state-reverting-error"
              glib:name="PLUMA_TAB_STATE_REVERTING_ERROR">
      </member>
      <member name="state_saving_error"
              value="10"
              c:identifier="PLUMA_TAB_STATE_SAVING_ERROR"
              glib:nick="state-saving-error"
              glib:name="PLUMA_TAB_STATE_SAVING_ERROR">
      </member>
      <member name="state_generic_error"
              value="11"
              c:identifier="PLUMA_TAB_STATE_GENERIC_ERROR"
              glib:nick="state-generic-error"
              glib:name="PLUMA_TAB_STATE_GENERIC_ERROR">
      </member>
      <member name="state_closing"
              value="12"
              c:identifier="PLUMA_TAB_STATE_CLOSING"
              glib:nick="state-closing"
              glib:name="PLUMA_TAB_STATE_CLOSING">
      </member>
      <member name="state_externally_modified_notification"
              value="13"
              c:identifier="PLUMA_TAB_STATE_EXTERNALLY_MODIFIED_NOTIFICATION"
              glib:nick="state-externally-modified-notification"
              glib:name="PLUMA_TAB_STATE_EXTERNALLY_MODIFIED_NOTIFICATION">
      </member>
      <member name="num_of_states"
              value="14"
              c:identifier="PLUMA_TAB_NUM_OF_STATES"
              glib:nick="num-of-states"
              glib:name="PLUMA_TAB_NUM_OF_STATES">
      </member>
    </enumeration>
    <function-macro name="VIEW" c:identifier="PLUMA_VIEW" introspectable="0">
      <source-position filename="pluma-view.h" line="46"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="VIEW_CLASS"
                    c:identifier="PLUMA_VIEW_CLASS"
                    introspectable="0">
      <source-position filename="pluma-view.h" line="47"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="VIEW_GET_CLASS"
                    c:identifier="PLUMA_VIEW_GET_CLASS"
                    introspectable="0">
      <source-position filename="pluma-view.h" line="50"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="View"
           c:symbol-prefix="view"
           c:type="PlumaView"
           parent="GtkSource.View"
           glib:type-name="PlumaView"
           glib:get-type="pluma_view_get_type"
           glib:type-struct="ViewClass">
      <source-position filename="pluma-view.h" line="86"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="pluma_view_new">
        <doc xml:space="preserve"
             filename="pluma-view.c"
             line="684">Creates a new #PlumaView object displaying the @doc document.
@doc cannot be %NULL.</doc>
        <source-position filename="pluma-view.h" line="93"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-view.c"
               line="691">a new #PlumaView</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-view.c"
                 line="686">a #PlumaDocument</doc>
            <type name="Document" c:type="PlumaDocument*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="drop_uris">
        <source-position filename="pluma-view.h" line="84"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
          <parameter name="uri_list" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="reset_searched_text">
        <source-position filename="pluma-view.h" line="82"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="start_interactive_goto_line">
        <source-position filename="pluma-view.h" line="81"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="start_interactive_search">
        <source-position filename="pluma-view.h" line="80"/>
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="copy_clipboard" c:identifier="pluma_view_copy_clipboard">
        <source-position filename="pluma-view.h" line="96"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="cut_clipboard" c:identifier="pluma_view_cut_clipboard">
        <source-position filename="pluma-view.h" line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="delete_selection"
              c:identifier="pluma_view_delete_selection">
        <doc xml:space="preserve"
             filename="pluma-view.c"
             line="789">Deletes the text currently selected in the #GtkTextBuffer associated
to the view and scroll to the cursor position.</doc>
        <source-position filename="pluma-view.h" line="98"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-view.c"
                 line="791">a #PlumaView</doc>
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="invert_case_selection"
              c:identifier="pluma_view_invert_case_selection">
        <source-position filename="pluma-view.h" line="102"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="lower_case_selection"
              c:identifier="pluma_view_lower_case_selection">
        <source-position filename="pluma-view.h" line="101"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="paste_clipboard" c:identifier="pluma_view_paste_clipboard">
        <source-position filename="pluma-view.h" line="97"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="scroll_to_cursor"
              c:identifier="pluma_view_scroll_to_cursor">
        <doc xml:space="preserve"
             filename="pluma-view.c"
             line="920">Scrolls the @view to the cursor position.</doc>
        <source-position filename="pluma-view.h" line="107"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-view.c"
                 line="922">a #PlumaView</doc>
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="select_all" c:identifier="pluma_view_select_all">
        <doc xml:space="preserve"
             filename="pluma-view.c"
             line="897">Selects all the text displayed in the @view.</doc>
        <source-position filename="pluma-view.h" line="105"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-view.c"
                 line="899">a #PlumaView</doc>
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_font" c:identifier="pluma_view_set_font">
        <doc xml:space="preserve"
             filename="pluma-view.c"
             line="964">If @def is #TRUE, resets the font of the @view to the default font
otherwise sets it to @font_name.</doc>
        <source-position filename="pluma-view.h" line="113"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-view.c"
                 line="966">a #PlumaView</doc>
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
          <parameter name="def" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-view.c"
                 line="967">whether to reset the default font</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="font_name" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-view.c"
                 line="968">the name of the font to use</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="title_case_selection"
              c:identifier="pluma_view_title_case_selection">
        <source-position filename="pluma-view.h" line="103"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PlumaView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="upper_case_selection"
              c:identifier="pluma_view_upper_case_selection">
        <source-position filename="pluma-view.h" line="100"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="PlumaView*"/>
          </instance-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="PlumaViewPrivate*"/>
      </field>
      <glib:signal name="drop-uris" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <array>
              <type name="utf8"/>
            </array>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="reset-searched-text" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </glib:signal>
      <glib:signal name="start-interactive-goto-line" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </glib:signal>
      <glib:signal name="start-interactive-search" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </glib:signal>
    </class>
    <interface name="ViewActivatable"
               c:symbol-prefix="view_activatable"
               c:type="PlumaViewActivatable"
               glib:type-name="PlumaViewActivatable"
               glib:get-type="pluma_view_activatable_get_type"
               glib:type-struct="ViewActivatableInterface">
      <source-position filename="pluma-view-activatable.h" line="46"/>
      <virtual-method name="activate" invoker="activate">
        <doc xml:space="preserve"
             filename="pluma-view-activatable.c"
             line="56">Activates the extension on the window property.</doc>
        <source-position filename="pluma-view-activatable.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-view-activatable.c"
                 line="58">A #PlumaViewActivatable.</doc>
            <type name="ViewActivatable" c:type="PlumaViewActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <doc xml:space="preserve"
             filename="pluma-view-activatable.c"
             line="76">Deactivates the extension on the window property.</doc>
        <source-position filename="pluma-view-activatable.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-view-activatable.c"
                 line="78">A #PlumaViewActivatable.</doc>
            <type name="ViewActivatable" c:type="PlumaViewActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="activate" c:identifier="pluma_view_activatable_activate">
        <doc xml:space="preserve"
             filename="pluma-view-activatable.c"
             line="56">Activates the extension on the window property.</doc>
        <source-position filename="pluma-view-activatable.h" line="51"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-view-activatable.c"
                 line="58">A #PlumaViewActivatable.</doc>
            <type name="ViewActivatable" c:type="PlumaViewActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="deactivate"
              c:identifier="pluma_view_activatable_deactivate">
        <doc xml:space="preserve"
             filename="pluma-view-activatable.c"
             line="76">Deactivates the extension on the window property.</doc>
        <source-position filename="pluma-view-activatable.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-view-activatable.c"
                 line="78">A #PlumaViewActivatable.</doc>
            <type name="ViewActivatable" c:type="PlumaViewActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="view"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="pluma-view-activatable.c"
             line="40">The window property contains the pluma window for this
#PlumaViewActivatable instance.</doc>
        <type name="View"/>
      </property>
    </interface>
    <record name="ViewActivatableInterface"
            c:type="PlumaViewActivatableInterface"
            glib:is-gtype-struct-for="ViewActivatable">
      <source-position filename="pluma-view-activatable.h" line="46"/>
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <source-position filename="pluma-view-activatable.h" line="44"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="pluma-view-activatable.c"
                   line="58">A #PlumaViewActivatable.</doc>
              <type name="ViewActivatable" c:type="PlumaViewActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <source-position filename="pluma-view-activatable.h" line="45"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="pluma-view-activatable.c"
                   line="78">A #PlumaViewActivatable.</doc>
              <type name="ViewActivatable" c:type="PlumaViewActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="ViewClass"
            c:type="PlumaViewClass"
            glib:is-gtype-struct-for="View">
      <source-position filename="pluma-view.h" line="86"/>
      <field name="parent_class">
        <type name="GtkSource.ViewClass" c:type="GtkSourceViewClass"/>
      </field>
      <field name="start_interactive_search">
        <callback name="start_interactive_search">
          <source-position filename="pluma-view.h" line="80"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="View" c:type="PlumaView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="start_interactive_goto_line">
        <callback name="start_interactive_goto_line">
          <source-position filename="pluma-view.h" line="81"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="View" c:type="PlumaView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="reset_searched_text">
        <callback name="reset_searched_text">
          <source-position filename="pluma-view.h" line="82"/>
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="View" c:type="PlumaView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="drop_uris">
        <callback name="drop_uris">
          <source-position filename="pluma-view.h" line="84"/>
          <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="PlumaView*"/>
            </parameter>
            <parameter name="uri_list" transfer-ownership="none">
              <type name="utf8" c:type="gchar**"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="ViewPrivate"
            c:type="PlumaViewPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="pluma-view.h" line="53"/>
    </record>
    <function-macro name="WINDOW"
                    c:identifier="PLUMA_WINDOW"
                    introspectable="0">
      <source-position filename="pluma-window.h" line="58"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WINDOW_CLASS"
                    c:identifier="PLUMA_WINDOW_CLASS"
                    introspectable="0">
      <source-position filename="pluma-window.h" line="59"/>
      <parameters>
        <parameter name="klass">
        </parameter>
      </parameters>
    </function-macro>
    <function-macro name="WINDOW_GET_CLASS"
                    c:identifier="PLUMA_WINDOW_GET_CLASS"
                    introspectable="0">
      <source-position filename="pluma-window.h" line="62"/>
      <parameters>
        <parameter name="obj">
        </parameter>
      </parameters>
    </function-macro>
    <class name="Window"
           c:symbol-prefix="window"
           c:type="PlumaWindow"
           parent="Gtk.Window"
           glib:type-name="PlumaWindow"
           glib:get-type="pluma_window_get_type"
           glib:type-struct="WindowClass">
      <source-position filename="pluma-window.h" line="99"/>
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <virtual-method name="active_tab_changed">
        <source-position filename="pluma-window.h" line="95"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="active_tab_state_changed">
        <source-position filename="pluma-window.h" line="97"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tab_added">
        <source-position filename="pluma-window.h" line="90"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tab_removed">
        <source-position filename="pluma-window.h" line="92"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tabs_reordered">
        <source-position filename="pluma-window.h" line="94"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="close_all_tabs" c:identifier="pluma_window_close_all_tabs">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4354">Closes all opened tabs.</doc>
        <source-position filename="pluma-window.h" line="119"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4356">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="close_tab" c:identifier="pluma_window_close_tab">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4335">Closes the @tab.</doc>
        <source-position filename="pluma-window.h" line="116"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4337">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4338">the #PlumaTab to close</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </method>
      <method name="close_tabs" c:identifier="pluma_window_close_tabs">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4374">Closes all tabs specified by @tabs.</doc>
        <source-position filename="pluma-window.h" line="121"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4376">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
          <parameter name="tabs" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4377">a list of #PlumaTab</doc>
            <type name="GLib.List" c:type="const GList*">
              <type name="Tab"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="create_tab" c:identifier="pluma_window_create_tab">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4162">Creates a new #PlumaTab and adds the new tab to the #PlumaNotebook.
In case @jump_to is %TRUE the #PlumaNotebook switches to that new #PlumaTab.</doc>
        <source-position filename="pluma-window.h" line="106"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-window.c"
               line="4170">a new #PlumaTab</doc>
          <type name="Tab" c:type="PlumaTab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4164">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
          <parameter name="jump_to" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4165">%TRUE to set the new #PlumaTab as active</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_tab_from_uri"
              c:identifier="pluma_window_create_tab_from_uri">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4196">Creates a new #PlumaTab loading the document specified by @uri.
In case @jump_to is %TRUE the #PlumaNotebook swithes to that new #PlumaTab.
Whether @create is %TRUE, creates a new empty document if location does
not refer to an existing file</doc>
        <source-position filename="pluma-window.h" line="109"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-window.c"
               line="4210">a new #PlumaTab</doc>
          <type name="Tab" c:type="PlumaTab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4198">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
          <parameter name="uri" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4199">the uri of the document</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="encoding" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4200">a #PlumaEncoding</doc>
            <type name="Encoding" c:type="const PlumaEncoding*"/>
          </parameter>
          <parameter name="line_pos" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4201">the line position to visualize</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="create" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4202">%TRUE to create a new document in case @uri does exist</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="jump_to" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4203">%TRUE to set the new #PlumaTab as active</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_active_document"
              c:identifier="pluma_window_get_active_document">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4132">Gets the active #PlumaDocument.</doc>
        <source-position filename="pluma-window.h" line="131"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-window.c"
               line="4138">the active #PlumaDocument</doc>
          <type name="Document" c:type="PlumaDocument*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4134">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_active_tab" c:identifier="pluma_window_get_active_tab">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4247">Gets the active #PlumaTab in the @window.</doc>
        <source-position filename="pluma-window.h" line="124"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-window.c"
               line="4253">the active #PlumaTab in the @window.</doc>
          <type name="Tab" c:type="PlumaTab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4249">a PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_active_view"
              c:identifier="pluma_window_get_active_view">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4109">Gets the active #PlumaView.</doc>
        <source-position filename="pluma-window.h" line="130"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-window.c"
               line="4115">the active #PlumaView</doc>
          <type name="View" c:type="PlumaView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4111">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_bottom_panel"
              c:identifier="pluma_window_get_bottom_panel">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4511">Gets the bottom #PlumaPanel of the @window.</doc>
        <source-position filename="pluma-window.h" line="147"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-window.c"
               line="4517">the bottom #PlumaPanel.</doc>
          <type name="Panel" c:type="PlumaPanel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4513">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_documents" c:identifier="pluma_window_get_documents">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4274">Gets a newly allocated list with all the documents in the window.
This list must be freed.</doc>
        <source-position filename="pluma-window.h" line="134"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="pluma-window.c"
               line="4281">a newly
allocated list with all the documents in the window</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Document"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4276">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_group" c:identifier="pluma_window_get_group">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4455">Gets the #GtkWindowGroup in which @window resides.</doc>
        <source-position filename="pluma-window.h" line="143"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-window.c"
               line="4461">the #GtkWindowGroup</doc>
          <type name="Gtk.WindowGroup" c:type="GtkWindowGroup*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4457">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_message_bus"
              c:identifier="pluma_window_get_message_bus">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4790">Gets the #PlumaMessageBus associated with @window. The returned reference
is owned by the window and should not be unreffed.</doc>
        <source-position filename="pluma-window.h" line="159"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-window.c"
               line="4797">the #PlumaMessageBus associated with @window</doc>
          <type name="MessageBus" c:type="PlumaMessageBus*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4792">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_side_panel" c:identifier="pluma_window_get_side_panel">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4495">Gets the side #PlumaPanel of the @window.</doc>
        <source-position filename="pluma-window.h" line="145"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-window.c"
               line="4501">the side #PlumaPanel.</doc>
          <type name="Panel" c:type="PlumaPanel*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4497">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_state"
              c:identifier="pluma_window_get_state"
              glib:get-property="state">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4543">Retrieves the state of the @window.</doc>
        <source-position filename="pluma-window.h" line="153"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-window.c"
               line="4549">the current #PlumaWindowState of the @window.</doc>
          <type name="WindowState" c:type="PlumaWindowState"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4545">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_statusbar" c:identifier="pluma_window_get_statusbar">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4527">Gets the #PlumaStatusbar of the @window.</doc>
        <source-position filename="pluma-window.h" line="149"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-window.c"
               line="4533">the #PlumaStatusbar of the @window.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4529">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tab_from_location"
              c:identifier="pluma_window_get_tab_from_location">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4738">Gets the #PlumaTab that matches with the given @location.</doc>
        <source-position filename="pluma-window.h" line="155"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-window.c"
               line="4745">the #PlumaTab that matches with the given @location.</doc>
          <type name="Tab" c:type="PlumaTab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4740">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
          <parameter name="location" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4741">a #GFile</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_ui_manager" c:identifier="pluma_window_get_ui_manager">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4479">Gets the #GtkUIManager associated with the @window.</doc>
        <source-position filename="pluma-window.h" line="151"/>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-window.c"
               line="4485">the #GtkUIManager of the @window.</doc>
          <type name="Gtk.UIManager" c:type="GtkUIManager*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4481">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_unsaved_documents"
              c:identifier="pluma_window_get_unsaved_documents">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4586">Gets the list of documents that need to be saved before closing the window.</doc>
        <source-position filename="pluma-window.h" line="138"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="pluma-window.c"
               line="4592">a list of
#PlumaDocument that need to be saved before closing the window</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Document"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4588">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_views" c:identifier="pluma_window_get_views">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4310">Gets a list with all the views in the window. This list must be freed.</doc>
        <source-position filename="pluma-window.h" line="141"/>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve"
               filename="pluma-window.c"
               line="4316">a newly allocated
list with all the views in the window</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="View"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4312">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_active_tab" c:identifier="pluma_window_set_active_tab">
        <doc xml:space="preserve"
             filename="pluma-window.c"
             line="4431">Switches to the tab that matches with @tab.</doc>
        <source-position filename="pluma-window.h" line="126"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4433">a #PlumaWindow</doc>
            <type name="Window" c:type="PlumaWindow*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window.c"
                 line="4434">a #PlumaTab</doc>
            <type name="Tab" c:type="PlumaTab*"/>
          </parameter>
        </parameters>
      </method>
      <property name="state"
                transfer-ownership="none"
                getter="get_state"
                default-value="PLUMA_WINDOW_STATE_NORMAL">
        <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="PlumaWindowPrivate*"/>
      </field>
      <glib:signal name="active-tab-changed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="active-tab-state-changed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="tab-added" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tab-removed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tabs-reordered" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <interface name="WindowActivatable"
               c:symbol-prefix="window_activatable"
               c:type="PlumaWindowActivatable"
               glib:type-name="PlumaWindowActivatable"
               glib:get-type="pluma_window_activatable_get_type"
               glib:type-struct="WindowActivatableInterface">
      <source-position filename="pluma-window-activatable.h" line="47"/>
      <virtual-method name="activate" invoker="activate">
        <doc xml:space="preserve"
             filename="pluma-window-activatable.c"
             line="56">Activates the extension on the window property.</doc>
        <source-position filename="pluma-window-activatable.h" line="44"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window-activatable.c"
                 line="58">A #PlumaWindowActivatable.</doc>
            <type name="WindowActivatable" c:type="PlumaWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <doc xml:space="preserve"
             filename="pluma-window-activatable.c"
             line="76">Deactivates the extension on the window property.</doc>
        <source-position filename="pluma-window-activatable.h" line="45"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window-activatable.c"
                 line="78">A #PlumaWindowActivatable.</doc>
            <type name="WindowActivatable" c:type="PlumaWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="update_state" invoker="update_state">
        <doc xml:space="preserve"
             filename="pluma-window-activatable.c"
             line="96">Triggers an update of the extension insternal state to take into account
state changes in the window state, due to some event or user action.</doc>
        <source-position filename="pluma-window-activatable.h" line="46"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window-activatable.c"
                 line="98">A #PlumaWindowActivatable.</doc>
            <type name="WindowActivatable" c:type="PlumaWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="activate" c:identifier="pluma_window_activatable_activate">
        <doc xml:space="preserve"
             filename="pluma-window-activatable.c"
             line="56">Activates the extension on the window property.</doc>
        <source-position filename="pluma-window-activatable.h" line="52"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window-activatable.c"
                 line="58">A #PlumaWindowActivatable.</doc>
            <type name="WindowActivatable" c:type="PlumaWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="deactivate"
              c:identifier="pluma_window_activatable_deactivate">
        <doc xml:space="preserve"
             filename="pluma-window-activatable.c"
             line="76">Deactivates the extension on the window property.</doc>
        <source-position filename="pluma-window-activatable.h" line="53"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window-activatable.c"
                 line="78">A #PlumaWindowActivatable.</doc>
            <type name="WindowActivatable" c:type="PlumaWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="update_state"
              c:identifier="pluma_window_activatable_update_state">
        <doc xml:space="preserve"
             filename="pluma-window-activatable.c"
             line="96">Triggers an update of the extension insternal state to take into account
state changes in the window state, due to some event or user action.</doc>
        <source-position filename="pluma-window-activatable.h" line="54"/>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve"
                 filename="pluma-window-activatable.c"
                 line="98">A #PlumaWindowActivatable.</doc>
            <type name="WindowActivatable" c:type="PlumaWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="window"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve"
             filename="pluma-window-activatable.c"
             line="40">The window property contains the pluma window for this
#PlumaWindowActivatable instance.</doc>
        <type name="Window"/>
      </property>
    </interface>
    <record name="WindowActivatableInterface"
            c:type="PlumaWindowActivatableInterface"
            glib:is-gtype-struct-for="WindowActivatable">
      <source-position filename="pluma-window-activatable.h" line="47"/>
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <source-position filename="pluma-window-activatable.h" line="44"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="pluma-window-activatable.c"
                   line="58">A #PlumaWindowActivatable.</doc>
              <type name="WindowActivatable" c:type="PlumaWindowActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <source-position filename="pluma-window-activatable.h" line="45"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="pluma-window-activatable.c"
                   line="78">A #PlumaWindowActivatable.</doc>
              <type name="WindowActivatable" c:type="PlumaWindowActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="update_state">
        <callback name="update_state">
          <source-position filename="pluma-window-activatable.h" line="46"/>
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve"
                   filename="pluma-window-activatable.c"
                   line="98">A #PlumaWindowActivatable.</doc>
              <type name="WindowActivatable" c:type="PlumaWindowActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="WindowClass"
            c:type="PlumaWindowClass"
            glib:is-gtype-struct-for="Window">
      <source-position filename="pluma-window.h" line="99"/>
      <field name="parent_class">
        <type name="Gtk.WindowClass" c:type="GtkWindowClass"/>
      </field>
      <field name="tab_added">
        <callback name="tab_added">
          <source-position filename="pluma-window.h" line="90"/>
          <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="PlumaWindow*"/>
            </parameter>
            <parameter name="tab" transfer-ownership="none">
              <type name="Tab" c:type="PlumaTab*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="tab_removed">
        <callback name="tab_removed">
          <source-position filename="pluma-window.h" line="92"/>
          <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="PlumaWindow*"/>
            </parameter>
            <parameter name="tab" transfer-ownership="none">
              <type name="Tab" c:type="PlumaTab*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="tabs_reordered">
        <callback name="tabs_reordered">
          <source-position filename="pluma-window.h" line="94"/>
          <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="PlumaWindow*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="active_tab_changed">
        <callback name="active_tab_changed">
          <source-position filename="pluma-window.h" line="95"/>
          <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="PlumaWindow*"/>
            </parameter>
            <parameter name="tab" transfer-ownership="none">
              <type name="Tab" c:type="PlumaTab*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="active_tab_state_changed">
        <callback name="active_tab_state_changed">
          <source-position filename="pluma-window.h" line="97"/>
          <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="PlumaWindow*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="WindowPrivate"
            c:type="PlumaWindowPrivate"
            disguised="1"
            opaque="1">
      <source-position filename="pluma-window.h" line="65"/>
    </record>
    <bitfield name="WindowState"
              glib:type-name="PlumaWindowState"
              glib:get-type="pluma_window_state_get_type"
              c:type="PlumaWindowState">
      <member name="normal"
              value="0"
              c:identifier="PLUMA_WINDOW_STATE_NORMAL"
              glib:nick="normal"
              glib:name="PLUMA_WINDOW_STATE_NORMAL">
      </member>
      <member name="saving"
              value="2"
              c:identifier="PLUMA_WINDOW_STATE_SAVING"
              glib:nick="saving"
              glib:name="PLUMA_WINDOW_STATE_SAVING">
      </member>
      <member name="printing"
              value="4"
              c:identifier="PLUMA_WINDOW_STATE_PRINTING"
              glib:nick="printing"
              glib:name="PLUMA_WINDOW_STATE_PRINTING">
      </member>
      <member name="loading"
              value="8"
              c:identifier="PLUMA_WINDOW_STATE_LOADING"
              glib:nick="loading"
              glib:name="PLUMA_WINDOW_STATE_LOADING">
      </member>
      <member name="error"
              value="16"
              c:identifier="PLUMA_WINDOW_STATE_ERROR"
              glib:nick="error"
              glib:name="PLUMA_WINDOW_STATE_ERROR">
      </member>
      <member name="saving_session"
              value="32"
              c:identifier="PLUMA_WINDOW_STATE_SAVING_SESSION"
              glib:nick="saving-session"
              glib:name="PLUMA_WINDOW_STATE_SAVING_SESSION">
      </member>
    </bitfield>
    <function name="commands_load_uri" c:identifier="pluma_commands_load_uri">
      <doc xml:space="preserve"
           filename="pluma-commands-file.c"
           line="305">Do nothing if uri does not exist</doc>
      <source-position filename="pluma-commands.h" line="44"/>
      <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="PlumaWindow*"/>
        </parameter>
        <parameter name="uri" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="encoding"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="Encoding" c:type="const PlumaEncoding*"/>
        </parameter>
        <parameter name="line_pos" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="commands_load_uris"
              c:identifier="pluma_commands_load_uris"
              introspectable="0">
      <doc xml:space="preserve"
           filename="pluma-commands-file.c"
           line="335">Ignore non-existing URIs</doc>
      <source-position filename="pluma-commands.h" line="50"/>
      <return-value transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </return-value>
      <parameters>
        <parameter name="window" transfer-ownership="none">
          <type name="Window" c:type="PlumaWindow*"/>
        </parameter>
        <parameter name="uris" transfer-ownership="none">
          <type name="GLib.SList" c:type="const GSList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </parameter>
        <parameter name="encoding" transfer-ownership="none">
          <type name="Encoding" c:type="const PlumaEncoding*"/>
        </parameter>
        <parameter name="line_pos" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="commands_save_all_documents"
              c:identifier="pluma_commands_save_all_documents">
      <source-position filename="pluma-commands.h" line="58"/>
      <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="PlumaWindow*"/>
        </parameter>
      </parameters>
    </function>
    <function name="commands_save_document"
              c:identifier="pluma_commands_save_document">
      <source-position filename="pluma-commands.h" line="55"/>
      <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="PlumaWindow*"/>
        </parameter>
        <parameter name="document" transfer-ownership="none">
          <type name="Document" c:type="PlumaDocument*"/>
        </parameter>
      </parameters>
    </function>
    <function name="debug" c:identifier="pluma_debug">
      <source-position filename="pluma-debug.h" line="83"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="section" transfer-ownership="none">
          <type name="DebugSection" c:type="PlumaDebugSection"/>
        </parameter>
        <parameter name="file" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="function" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="debug_init" c:identifier="pluma_debug_init">
      <source-position filename="pluma-debug.h" line="81"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="debug_message"
              c:identifier="pluma_debug_message"
              introspectable="0">
      <source-position filename="pluma-debug.h" line="88"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="section" transfer-ownership="none">
          <type name="DebugSection" c:type="PlumaDebugSection"/>
        </parameter>
        <parameter name="file" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="function" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <varargs/>
        </parameter>
      </parameters>
    </function>
    <function name="dialog_add_button" c:identifier="pluma_dialog_add_button">
      <source-position filename="pluma-utils.h" line="68"/>
      <return-value transfer-ownership="none">
        <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="const gchar*"/>
        </parameter>
        <parameter name="icon_name" transfer-ownership="none">
          <type name="utf8" c:type="const 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="pluma_encoding_get_current"
              moved-to="Encoding.get_current">
      <source-position filename="pluma-encodings.h" line="55"/>
      <return-value transfer-ownership="none">
        <type name="Encoding" c:type="const PlumaEncoding*"/>
      </return-value>
    </function>
    <function name="encoding_get_from_charset"
              c:identifier="pluma_encoding_get_from_charset"
              moved-to="Encoding.get_from_charset">
      <source-position filename="pluma-encodings.h" line="46"/>
      <return-value transfer-ownership="none">
        <type name="Encoding" c:type="const PlumaEncoding*"/>
      </return-value>
      <parameters>
        <parameter name="charset" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="encoding_get_from_index"
              c:identifier="pluma_encoding_get_from_index"
              moved-to="Encoding.get_from_index">
      <source-position filename="pluma-encodings.h" line="47"/>
      <return-value transfer-ownership="none">
        <type name="Encoding" c:type="const PlumaEncoding*"/>
      </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="pluma_encoding_get_utf8"
              moved-to="Encoding.get_utf8">
      <source-position filename="pluma-encodings.h" line="54"/>
      <return-value transfer-ownership="none">
        <type name="Encoding" c:type="const PlumaEncoding*"/>
      </return-value>
    </function>
    <function name="gtk_button_new_with_icon"
              c:identifier="pluma_gtk_button_new_with_icon">
      <source-position filename="pluma-utils.h" line="65"/>
      <return-value transfer-ownership="full">
        <type name="Gtk.Widget" c:type="GtkWidget*"/>
      </return-value>
      <parameters>
        <parameter name="label" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="icon_name" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="gtk_text_iter_regex_search"
              c:identifier="pluma_gtk_text_iter_regex_search">
      <source-position filename="pluma-utils.h" line="152"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="iter" transfer-ownership="none">
          <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
        </parameter>
        <parameter name="str" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="flags" transfer-ownership="none">
          <type name="Gtk.TextSearchFlags" c:type="GtkTextSearchFlags"/>
        </parameter>
        <parameter name="match_start" transfer-ownership="none">
          <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
        </parameter>
        <parameter name="match_end" transfer-ownership="none">
          <type name="Gtk.TextIter" c:type="GtkTextIter*"/>
        </parameter>
        <parameter name="limit" transfer-ownership="none">
          <type name="Gtk.TextIter" c:type="const GtkTextIter*"/>
        </parameter>
        <parameter name="forward_search" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </parameter>
        <parameter name="replace_text" transfer-ownership="none">
          <type name="utf8" c:type="gchar**"/>
        </parameter>
      </parameters>
    </function>
    <function name="help_display" c:identifier="pluma_help_display">
      <source-position filename="pluma-help.h" line="39"/>
      <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="const gchar*"/>
        </parameter>
        <parameter name="link_id" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="message_type_identifier"
              c:identifier="pluma_message_type_identifier"
              moved-to="MessageType.identifier">
      <doc xml:space="preserve"
           filename="pluma-message-type.c"
           line="120">Get the string identifier for @method at @object_path.</doc>
      <source-position filename="pluma-message-type.h" line="24"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="pluma-message-type.c"
             line="127">the identifier for @method at @object_path</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="object_path"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="pluma-message-type.c"
               line="122">the object path</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="method"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="pluma-message-type.c"
               line="123">the method</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="message_type_is_supported"
              c:identifier="pluma_message_type_is_supported"
              moved-to="MessageType.is_supported">
      <doc xml:space="preserve"
           filename="pluma-message-type.c"
           line="176">Returns if @type is #GType supported by the message system.</doc>
      <source-position filename="pluma-message-type.h" line="23"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="pluma-message-type.c"
             line="182">%TRUE if @type is a supported #GType</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="type" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-message-type.c"
               line="178">the #GType</doc>
          <type name="GType" c:type="GType"/>
        </parameter>
      </parameters>
    </function>
    <function name="message_type_is_valid_object_path"
              c:identifier="pluma_message_type_is_valid_object_path"
              moved-to="MessageType.is_valid_object_path">
      <doc xml:space="preserve"
           filename="pluma-message-type.c"
           line="137">Returns whether @object_path is a valid object path</doc>
      <source-position filename="pluma-message-type.h" line="26"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="pluma-message-type.c"
             line="143">%TRUE if @object_path is a valid object path</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="object_path"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="pluma-message-type.c"
               line="139">the object path</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="override_font" c:identifier="pluma_override_font">
      <source-position filename="pluma-view.h" line="109"/>
      <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="PlumaView*"/>
        </parameter>
        <parameter name="item" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="font" transfer-ownership="none">
          <type name="Pango.FontDescription" c:type="PangoFontDescription*"/>
        </parameter>
      </parameters>
    </function>
    <docsection name="pluma-app-activatable">
      <doc xml:space="preserve"
           filename="pluma-app-activatable.c"
           line="28">#PlumaAppActivatable is an interface which should be implemented by
extensions that should be activated on a pluma application.</doc>
    </docsection>
    <docsection name="pluma-message">
      <doc xml:space="preserve"
           filename="pluma-message.c"
           line="7">Communication on a #PlumaMessageBus is done through messages. Messages are
sent over the bus and received by connecting callbacks on the message bus.
A #PlumaMessage is an instantiation of a #PlumaMessageType, containing
values for the arguments as specified in the message type.

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

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

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

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

// Register 'method' at '/plugins/example' with one required
// string argument 'arg1'
PlumaMessageType *message_type = pluma_message_bus_register ("/plugins/example", "method",
                                                             0,
                                                             "arg1", G_TYPE_STRING,
                                                             NULL);
&lt;/programlisting&gt;
&lt;/example&gt;
&lt;example&gt;
&lt;title&gt;Connecting a callback&lt;/title&gt;
&lt;programlisting&gt;
static void
example_method_cb (PlumaMessageBus *bus,
                   PlumaMessage    *message,
                   gpointer         userdata)
{
	gchar *arg1 = NULL;

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

PlumaMessageBus *bus = pluma_message_bus_get_default ();

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

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

pluma_message_bus_send (bus,
                        "/plugins/example", "method",
                        "arg1", "Hello World",
                        NULL);
&lt;/programlisting&gt;
&lt;/example&gt;</doc>
    </docsection>
    <docsection name="pluma-message-type">
      <doc xml:space="preserve"
           filename="pluma-message-type.c"
           line="3">A message type is a prototype description for a #PlumaMessage used to
transmit messages on a #PlumaMessageBus. The message type describes
the Object Path, Method and Arguments of the message.

A message type can contain any number of required and optional arguments.
To instantiate a #PlumaMessage from a #PlumaMessageType, use
pluma_message_type_instantiate().

Registering a new message type on a #PlumaMessageBus with
pluma_message_bus_register() internally creates a new #PlumaMessageType. When
then using pluma_message_bus_send(), an actual instantiation of the
registered type is internally created and send over the bus.

&lt;example&gt;
&lt;programlisting&gt;
// Defining a new message type
PlumaMessageType *message_type = pluma_message_type_new ("/plugins/example",
                                                         "method",
                                                         0,
                                                         "arg1", G_TYPE_STRING,
                                                         NULL);

// Instantiating an actual message from the type
PlumaMessage *message = pluma_message_type_instantiate (message_type,
                                                        "arg1", "Hello World",
                                                        NULL);
&lt;/programlisting&gt;
&lt;/example&gt;</doc>
    </docsection>
    <docsection name="pluma-view-activatable">
      <doc xml:space="preserve"
           filename="pluma-view-activatable.c"
           line="27">#PlumaViewActivatable is an interface which should be implemented by
extensions that should be activated on a pluma view.</doc>
    </docsection>
    <docsection name="pluma-window-activatable">
      <doc xml:space="preserve"
           filename="pluma-window-activatable.c"
           line="27">#PlumaWindowActivatable is an interface which should be implemented by
extensions that should be activated on a pluma main window.</doc>
    </docsection>
    <function name="set_source_space_drawer_by_level"
              c:identifier="pluma_set_source_space_drawer_by_level">
      <source-position filename="pluma-view.h" line="119"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="view" transfer-ownership="none">
          <type name="GtkSource.View" c:type="GtkSourceView*"/>
        </parameter>
        <parameter name="level" transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="type" transfer-ownership="none">
          <type name="GtkSource.SpaceTypeFlags"
                c:type="GtkSourceSpaceTypeFlags"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_basename_for_display"
              c:identifier="pluma_utils_basename_for_display">
      <doc xml:space="preserve"
           filename="pluma-utils.c"
           line="1261">Return the basename of a file suitable for display to users.</doc>
      <source-position filename="pluma-utils.h" line="138"/>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-utils.c"
               line="1263">uri for which the basename should be displayed</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_decode_uri" c:identifier="pluma_utils_decode_uri">
      <doc xml:space="preserve"
           filename="pluma-utils.c"
           line="1417">Parse and break an uri apart in its individual components like the uri
scheme, user info, port, host and path. The return value pointer can be
%NULL to ignore certain parts of the uri. If the function returns %TRUE, then
all return value pointers should be freed using g_free</doc>
      <source-position filename="pluma-utils.h" line="139"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="pluma-utils.c"
             line="1432">%TRUE if the uri could be properly decoded, %FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-utils.c"
               line="1419">the uri to decode</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="scheme"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="pluma-utils.c"
               line="1420">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"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="pluma-utils.c"
               line="1422">return value pointer for the uri user info, or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="host"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="pluma-utils.c"
               line="1423">return value pointer for the uri host, or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="port"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="pluma-utils.c"
               line="1424">return value pointer for the uri port, or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="path"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve"
               filename="pluma-utils.c"
               line="1425">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="pluma_utils_drop_get_uris">
      <doc xml:space="preserve"
           filename="pluma-utils.c"
           line="1367">Create a list of valid uri's from a uri-list drop.</doc>
      <source-position filename="pluma-utils.h" line="148"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="pluma-utils.c"
             line="1373">a string array which will hold the uris or %NULL if there
	 were no valid uris. g_strfreev should be used when the
	 string array is no longer used</doc>
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="selection_data" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-utils.c"
               line="1369">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="pluma_utils_escape_search_text">
      <source-position filename="pluma-utils.h" line="97"/>
      <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="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_escape_underscores"
              c:identifier="pluma_utils_escape_underscores">
      <source-position filename="pluma-utils.h" line="73"/>
      <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="const gchar*"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <type name="gssize" c:type="gssize"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_file_has_parent"
              c:identifier="pluma_utils_file_has_parent">
      <doc xml:space="preserve"
           filename="pluma-utils.c"
           line="1239">Return %TRUE if the specified gfile has a parent (is not the root), %FALSE
otherwise</doc>
      <source-position filename="pluma-utils.h" line="131"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="gfile" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-utils.c"
               line="1241">the GFile to check the parent for</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_current_viewport"
              c:identifier="pluma_utils_get_current_viewport">
      <doc xml:space="preserve"
           filename="pluma-utils.c"
           line="941">Get the current viewport origin

Get the currently visible viewport origin for the #GdkScreen.

If the X11 window property isn't found, (0, 0) is returned.</doc>
      <source-position filename="pluma-utils.h" line="119"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="screen" transfer-ownership="none">
          <type name="Gdk.Screen" c:type="GdkScreen*"/>
        </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>
      </parameters>
    </function>
    <function name="utils_get_current_workspace"
              c:identifier="pluma_utils_get_current_workspace">
      <doc xml:space="preserve"
           filename="pluma-utils.c"
           line="836">Get the current workspace

Get the currently visible workspace for the #GdkScreen.

If the X11 window property isn't found, 0 (the first workspace)
is returned.</doc>
      <source-position filename="pluma-utils.h" line="115"/>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="screen" transfer-ownership="none">
          <type name="Gdk.Screen" c:type="GdkScreen*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_ui_objects"
              c:identifier="pluma_utils_get_ui_objects"
              introspectable="0">
      <doc xml:space="preserve"
           filename="pluma-utils.c"
           line="1096">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>
      <source-position filename="pluma-utils.h" line="125"/>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve"
             filename="pluma-utils.c"
             line="1110">%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:space="preserve"
               filename="pluma-utils.c"
               line="1098">the path to the gtk builder file</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="root_objects" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-utils.c"
               line="1099">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:space="preserve"
               filename="pluma-utils.c"
               line="1101">a pointer were a #GtkLabel</doc>
          <type name="Gtk.Widget" c:type="GtkWidget**"/>
        </parameter>
        <parameter name="object_name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-utils.c"
               line="1102">the name of the first object</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-utils.c"
               line="1103">a pointer were the first object is returned, followed by more
      name / object pairs and terminated by %NULL.</doc>
          <varargs/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_window_workspace"
              c:identifier="pluma_utils_get_window_workspace">
      <doc xml:space="preserve"
           filename="pluma-utils.c"
           line="888">Get the workspace the window is on

This function gets the workspace that the #GtkWindow is visible on,
it returns PLUMA_ALL_WORKSPACES if the window is sticky, or if
the window manager doesn support this function</doc>
      <source-position filename="pluma-utils.h" line="117"/>
      <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_uri"
              c:identifier="pluma_utils_is_valid_uri">
      <source-position filename="pluma-utils.h" line="123"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_location_get_dirname_for_display"
              c:identifier="pluma_utils_location_get_dirname_for_display">
      <doc xml:space="preserve"
           filename="pluma-utils.c"
           line="715">Returns a string suitable to be displayed in the UI indicating
the name of the directory where the file is located.
For remote files it may also contain the hostname etc.
For local files it tries to replace the home dir with ~.</doc>
      <source-position filename="pluma-utils.h" line="110"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="pluma-utils.c"
             line="724">a string to display the dirname</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="location" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-utils.c"
               line="717">the location</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_make_canonical_uri_from_shell_arg"
              c:identifier="pluma_utils_make_canonical_uri_from_shell_arg">
      <source-position filename="pluma-utils.h" line="134"/>
      <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="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_make_valid_utf8"
              c:identifier="pluma_utils_make_valid_utf8">
      <source-position filename="pluma-utils.h" line="105"/>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_menu_position_under_widget"
              c:identifier="pluma_utils_menu_position_under_widget">
      <source-position filename="pluma-utils.h" line="56"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="menu" transfer-ownership="none">
          <type name="Gtk.Menu" c:type="GtkMenu*"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="push_in" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_replace_home_dir_with_tilde"
              c:identifier="pluma_utils_replace_home_dir_with_tilde">
      <source-position filename="pluma-utils.h" line="113"/>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_set_atk_name_description"
              c:identifier="pluma_utils_set_atk_name_description">
      <doc xml:space="preserve"
           filename="pluma-utils.c"
           line="276">This function sets up name and description
for a specified gtk widget.</doc>
      <source-position filename="pluma-utils.h" line="87"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="widget" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-utils.c"
               line="278">The Gtk widget for which name/description to be set</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-utils.c"
               line="279">Atk name string</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="description" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-utils.c"
               line="280">Atk description string</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_set_atk_relation"
              c:identifier="pluma_utils_set_atk_relation">
      <source-position filename="pluma-utils.h" line="91"/>
      <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="pluma_utils_str_end_truncate">
      <source-position filename="pluma-utils.h" line="79"/>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="truncate_length" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_str_middle_truncate"
              c:identifier="pluma_utils_str_middle_truncate">
      <source-position filename="pluma-utils.h" line="76"/>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="truncate_length" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_unescape_search_text"
              c:identifier="pluma_utils_unescape_search_text">
      <source-position filename="pluma-utils.h" line="99"/>
      <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="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_uri_exists" c:identifier="pluma_utils_uri_exists">
      <source-position filename="pluma-utils.h" line="95"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="text_uri" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_uri_for_display"
              c:identifier="pluma_utils_uri_for_display">
      <doc xml:space="preserve"
           filename="pluma-utils.c"
           line="1343">Filter, modify, unescape and change @uri to make it appropriate
for display to users.

This function is a convenient wrapper for g_file_get_parse_name</doc>
      <source-position filename="pluma-utils.h" line="137"/>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve"
             filename="pluma-utils.c"
             line="1352">a string which represents @uri and can be displayed.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <doc xml:space="preserve"
               filename="pluma-utils.c"
               line="1345">uri to be displayed.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_uri_get_dirname"
              c:identifier="pluma_utils_uri_get_dirname">
      <doc xml:space="preserve"
           filename="pluma-utils.c"
           line="684">Note: this function replace home dir with ~</doc>
      <source-position filename="pluma-utils.h" line="108"/>
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_uri_has_file_scheme"
              c:identifier="pluma_utils_uri_has_file_scheme">
      <source-position filename="pluma-utils.h" line="54"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_uri_has_writable_scheme"
              c:identifier="pluma_utils_uri_has_writable_scheme">
      <source-position filename="pluma-utils.h" line="53"/>
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="warning" c:identifier="pluma_warning" introspectable="0">
      <source-position filename="pluma-utils.h" line="101"/>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <type name="Gtk.Window" c:type="GtkWindow*"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <varargs/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
