<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Gio" version="2.0"/>
  <include name="GtkSource" version="3.0"/>
  <include name="Ide" version="1.0"/>
  <include name="Peas" version="1.0"/>
  <namespace name="Builder"
             version="1.0"
             shared-library="libgnome-builder.so.0,libegg-private.so.0,libide-1.0.so"
             c:identifier-prefixes="Gb"
             c:symbol-prefixes="gb_">
    <alias name="ApplicationAddin_autoptr" c:type="GbApplicationAddin_autoptr">
      <type name="gpointer" c:type="gpointer"/>
    </alias>
    <alias name="Application_autoptr" c:type="GbApplication_autoptr">
      <type name="gpointer" c:type="gpointer"/>
    </alias>
    <alias name="Document_autoptr" c:type="GbDocument_autoptr">
      <type name="gpointer" c:type="gpointer"/>
    </alias>
    <alias name="EditorViewAddin_autoptr" c:type="GbEditorViewAddin_autoptr">
      <type name="gpointer" c:type="gpointer"/>
    </alias>
    <alias name="EditorView_autoptr" c:type="GbEditorView_autoptr">
      <type name="gpointer" c:type="gpointer"/>
    </alias>
    <alias name="MenuExtension_autoptr" c:type="GbMenuExtension_autoptr">
      <type name="gpointer" c:type="gpointer"/>
    </alias>
    <alias name="ViewStack_autoptr" c:type="GbViewStack_autoptr">
      <type name="gpointer" c:type="gpointer"/>
    </alias>
    <alias name="View_autoptr" c:type="GbView_autoptr">
      <type name="gpointer" c:type="gpointer"/>
    </alias>
    <class name="Application"
           c:symbol-prefix="application"
           c:type="GbApplication"
           parent="Gtk.Application"
           glib:type-name="GbApplication"
           glib:get-type="gb_application_get_type"
           glib:type-struct="ApplicationClass">
      <implements name="Gio.ActionGroup"/>
      <implements name="Gio.ActionMap"/>
      <method name="get_started_at"
              c:identifier="gb_application_get_started_at">
        <return-value transfer-ownership="full">
          <type name="GLib.DateTime" c:type="GDateTime*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Application" c:type="GbApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="open_project_async"
              c:identifier="gb_application_open_project_async">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">A #GbApplication.</doc>
            <type name="Application" c:type="GbApplication*"/>
          </instance-parameter>
          <parameter name="file" transfer-ownership="none">
            <doc xml:space="preserve">A #GFile.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="additional_files"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">A #GPtrArray of #GFile or %NULL.</doc>
            <array name="GLib.PtrArray" c:type="GPtrArray*">
              <type name="Gio.File"/>
            </array>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="4">
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="open_project_finish"
              c:identifier="gb_application_open_project_finish"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Application" c:type="GbApplication*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_projects_window"
              c:identifier="gb_application_show_projects_window">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Application" c:type="GbApplication*"/>
          </instance-parameter>
        </parameters>
      </method>
    </class>
    <interface name="ApplicationAddin"
               c:symbol-prefix="application_addin"
               c:type="GbApplicationAddin"
               glib:type-name="GbApplicationAddin"
               glib:get-type="gb_application_addin_get_type"
               glib:type-struct="ApplicationAddinInterface">
      <virtual-method name="load" invoker="load">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ApplicationAddin" c:type="GbApplicationAddin*"/>
          </instance-parameter>
          <parameter name="application" transfer-ownership="none">
            <type name="Application" c:type="GbApplication*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="unload" invoker="unload">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ApplicationAddin" c:type="GbApplicationAddin*"/>
          </instance-parameter>
          <parameter name="application" transfer-ownership="none">
            <type name="Application" c:type="GbApplication*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="load" c:identifier="gb_application_addin_load">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ApplicationAddin" c:type="GbApplicationAddin*"/>
          </instance-parameter>
          <parameter name="application" transfer-ownership="none">
            <type name="Application" c:type="GbApplication*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unload" c:identifier="gb_application_addin_unload">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ApplicationAddin" c:type="GbApplicationAddin*"/>
          </instance-parameter>
          <parameter name="application" transfer-ownership="none">
            <type name="Application" c:type="GbApplication*"/>
          </parameter>
        </parameters>
      </method>
    </interface>
    <record name="ApplicationAddinInterface"
            c:type="GbApplicationAddinInterface"
            glib:is-gtype-struct-for="ApplicationAddin">
      <field name="parent">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="load">
        <callback name="load">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="ApplicationAddin" c:type="GbApplicationAddin*"/>
            </parameter>
            <parameter name="application" transfer-ownership="none">
              <type name="Application" c:type="GbApplication*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="unload">
        <callback name="unload">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="ApplicationAddin" c:type="GbApplicationAddin*"/>
            </parameter>
            <parameter name="application" transfer-ownership="none">
              <type name="Application" c:type="GbApplication*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="ApplicationClass"
            c:type="GbApplicationClass"
            glib:is-gtype-struct-for="Application">
      <field name="parent_class">
        <type name="Gtk.ApplicationClass" c:type="GtkApplicationClass"/>
      </field>
    </record>
    <interface name="Document"
               c:symbol-prefix="document"
               c:type="GbDocument"
               glib:type-name="GbDocument"
               glib:get-type="gb_document_get_type"
               glib:type-struct="DocumentInterface">
      <virtual-method name="create_view" invoker="create_view">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A newly created #GbView.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GbDocument*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_modified" invoker="get_modified">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GbDocument*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_mtime" invoker="get_mtime">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GbDocument*"/>
          </instance-parameter>
          <parameter name="mtime" transfer-ownership="none">
            <type name="GLib.TimeVal" c:type="GTimeVal*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_read_only" invoker="get_read_only">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GbDocument*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_title" invoker="get_title">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GbDocument*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="is_untitled" invoker="is_untitled">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GbDocument*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="save_as_async" invoker="save_as_async">
        <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="GbDocument*"/>
          </instance-parameter>
          <parameter name="toplevel" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="3">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="save_as_finish"
                      invoker="save_as_finish"
                      throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GbDocument*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="save_async" invoker="save_async">
        <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="GbDocument*"/>
          </instance-parameter>
          <parameter name="toplevel" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none" closure="3">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="save_finish" invoker="save_finish" throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GbDocument*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="create_view" c:identifier="gb_document_create_view">
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A newly created #GbView.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GbDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_modified" c:identifier="gb_document_get_modified">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GbDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mtime" c:identifier="gb_document_get_mtime">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GbDocument*"/>
          </instance-parameter>
          <parameter name="mtime" transfer-ownership="none">
            <type name="GLib.TimeVal" c:type="GTimeVal*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_read_only" c:identifier="gb_document_get_read_only">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GbDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title" c:identifier="gb_document_get_title">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GbDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_untitled" c:identifier="gb_document_is_untitled">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GbDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="save_as_async" c:identifier="gb_document_save_as_async">
        <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="GbDocument*"/>
          </instance-parameter>
          <parameter name="toplevel" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_as_finish"
              c:identifier="gb_document_save_as_finish"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GbDocument*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_async" c:identifier="gb_document_save_async">
        <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="GbDocument*"/>
          </instance-parameter>
          <parameter name="toplevel" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="cancellable"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gio.Cancellable" c:type="GCancellable*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async"
                     closure="3">
            <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_finish"
              c:identifier="gb_document_save_finish"
              throws="1">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GbDocument*"/>
          </instance-parameter>
          <parameter name="result" transfer-ownership="none">
            <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
          </parameter>
        </parameters>
      </method>
      <property name="modified" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="read-only" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="title" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <glib:signal name="create-view" when="last">
        <doc xml:space="preserve">Creates a new view for the document.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A #GbView.</doc>
          <type name="View"/>
        </return-value>
      </glib:signal>
    </interface>
    <record name="DocumentInterface"
            c:type="GbDocumentInterface"
            glib:is-gtype-struct-for="Document">
      <field name="parent">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="create_view">
        <callback name="create_view">
          <return-value transfer-ownership="full">
            <doc xml:space="preserve">A newly created #GbView.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="GbDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_modified">
        <callback name="get_modified">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="GbDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_mtime">
        <callback name="get_mtime">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="GbDocument*"/>
            </parameter>
            <parameter name="mtime" transfer-ownership="none">
              <type name="GLib.TimeVal" c:type="GTimeVal*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_read_only">
        <callback name="get_read_only">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="GbDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_title">
        <callback name="get_title">
          <return-value transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="GbDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="is_untitled">
        <callback name="is_untitled">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="GbDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save_async">
        <callback name="save_async">
          <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="GbDocument*"/>
            </parameter>
            <parameter name="toplevel" transfer-ownership="none">
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="callback"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1"
                       scope="async"
                       closure="4">
              <type name="Gio.AsyncReadyCallback"
                    c:type="GAsyncReadyCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="4">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save_finish">
        <callback name="save_finish" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="GbDocument*"/>
            </parameter>
            <parameter name="result" transfer-ownership="none">
              <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save_as_async">
        <callback name="save_as_async">
          <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="GbDocument*"/>
            </parameter>
            <parameter name="toplevel" transfer-ownership="none">
              <type name="Gtk.Widget" c:type="GtkWidget*"/>
            </parameter>
            <parameter name="cancellable"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1">
              <type name="Gio.Cancellable" c:type="GCancellable*"/>
            </parameter>
            <parameter name="callback"
                       transfer-ownership="none"
                       nullable="1"
                       allow-none="1"
                       scope="async"
                       closure="4">
              <type name="Gio.AsyncReadyCallback"
                    c:type="GAsyncReadyCallback"/>
            </parameter>
            <parameter name="user_data" transfer-ownership="none" closure="4">
              <type name="gpointer" c:type="gpointer"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save_as_finish">
        <callback name="save_as_finish" throws="1">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="GbDocument*"/>
            </parameter>
            <parameter name="result" transfer-ownership="none">
              <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="EditorView"
           c:symbol-prefix="editor_view"
           c:type="GbEditorView"
           parent="View"
           glib:type-name="GbEditorView"
           glib:get-type="gb_editor_view_get_type"
           glib:type-struct="EditorViewClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <property name="document"
                introspectable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type/>
      </property>
      <glib:signal name="request-documentation" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <interface name="EditorViewAddin"
               c:symbol-prefix="editor_view_addin"
               c:type="GbEditorViewAddin"
               glib:type-name="GbEditorViewAddin"
               glib:get-type="gb_editor_view_addin_get_type"
               glib:type-struct="EditorViewAddinInterface">
      <virtual-method name="language_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="EditorViewAddin" c:type="GbEditorViewAddin*"/>
          </instance-parameter>
          <parameter name="language_id" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="load">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="EditorViewAddin" c:type="GbEditorViewAddin*"/>
          </instance-parameter>
          <parameter name="view" transfer-ownership="none">
            <type name="EditorView" c:type="GbEditorView*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="unload">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="EditorViewAddin" c:type="GbEditorViewAddin*"/>
          </instance-parameter>
          <parameter name="view" transfer-ownership="none">
            <type name="EditorView" c:type="GbEditorView*"/>
          </parameter>
        </parameters>
      </virtual-method>
    </interface>
    <record name="EditorViewAddinInterface"
            c:type="GbEditorViewAddinInterface"
            glib:is-gtype-struct-for="EditorViewAddin">
      <field name="parent">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="load">
        <callback name="load">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="EditorViewAddin" c:type="GbEditorViewAddin*"/>
            </parameter>
            <parameter name="view" transfer-ownership="none">
              <type name="EditorView" c:type="GbEditorView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="unload">
        <callback name="unload">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="EditorViewAddin" c:type="GbEditorViewAddin*"/>
            </parameter>
            <parameter name="view" transfer-ownership="none">
              <type name="EditorView" c:type="GbEditorView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="language_changed">
        <callback name="language_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="EditorViewAddin" c:type="GbEditorViewAddin*"/>
            </parameter>
            <parameter name="language_id" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="EditorViewClass"
            c:type="GbEditorViewClass"
            glib:is-gtype-struct-for="EditorView">
      <field name="parent_class">
        <type name="ViewClass" c:type="GbViewClass"/>
      </field>
    </record>
    <class name="MenuExtension"
           c:symbol-prefix="menu_extension"
           c:type="GbMenuExtension"
           parent="GObject.Object"
           glib:type-name="GbMenuExtension"
           glib:get-type="gb_menu_extension_get_type"
           glib:type-struct="MenuExtensionClass">
      <constructor name="new" c:identifier="gb_menu_extension_new">
        <return-value transfer-ownership="full">
          <type name="MenuExtension" c:type="GbMenuExtension*"/>
        </return-value>
        <parameters>
          <parameter name="menu" transfer-ownership="none">
            <type name="Gio.Menu" c:type="GMenu*"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_for_section"
                   c:identifier="gb_menu_extension_new_for_section">
        <return-value transfer-ownership="full">
          <type name="MenuExtension" c:type="GbMenuExtension*"/>
        </return-value>
        <parameters>
          <parameter name="menu" transfer-ownership="none">
            <type name="Gio.Menu" c:type="GMenu*"/>
          </parameter>
          <parameter name="section" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="append_menu_item"
              c:identifier="gb_menu_extension_append_menu_item">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="menu" transfer-ownership="none">
            <type name="MenuExtension" c:type="GbMenuExtension*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gio.MenuItem" c:type="GMenuItem*"/>
          </parameter>
        </parameters>
      </method>
      <method name="prepend_menu_item"
              c:identifier="gb_menu_extension_prepend_menu_item">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="menu" transfer-ownership="none">
            <type name="MenuExtension" c:type="GbMenuExtension*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gio.MenuItem" c:type="GMenuItem*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_items"
              c:identifier="gb_menu_extension_remove_items">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="menu" transfer-ownership="none">
            <type name="MenuExtension" c:type="GbMenuExtension*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="menu"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gio.Menu"/>
      </property>
    </class>
    <record name="MenuExtensionClass"
            c:type="GbMenuExtensionClass"
            glib:is-gtype-struct-for="MenuExtension">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="View"
           c:symbol-prefix="view"
           c:type="GbView"
           parent="Gtk.Box"
           glib:type-name="GbView"
           glib:get-type="gb_view_get_type"
           glib:type-struct="ViewClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <virtual-method name="create_split" invoker="create_split">
        <doc xml:space="preserve">Creates a new view similar to @self that can be displayed in a split.
If the view does not support splits, %NULL will be returned.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A #GbView.</doc>
          <type name="View" c:type="GbView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">A #GbView.</doc>
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_can_preview" invoker="get_can_preview">
        <doc xml:space="preserve">Checks if @self can create a preview view (such as html, markdown, etc).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if @self can create a preview view.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">A #GbView.</doc>
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_can_split" invoker="get_can_split">
        <doc xml:space="preserve">Checks if @self can create a split view. If so, %TRUE is returned. Otherwise, %FALSE.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if @self can create a split.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">A #GbView.</doc>
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_document" invoker="get_document">
        <doc xml:space="preserve">Gets the document for the view.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">A #GbDocument.</doc>
          <type name="Document" c:type="GbDocument*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">A #GbView.</doc>
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_modified" invoker="get_modified">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_special_title" invoker="get_special_title">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="get_title" invoker="get_title">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="navigate_to" invoker="navigate_to">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
          <parameter name="location" transfer-ownership="none">
            <type name="Ide.SourceLocation" c:type="IdeSourceLocation*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_back_forward_list"
                      invoker="set_back_forward_list">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
          <parameter name="back_forward_list" transfer-ownership="none">
            <type name="Ide.BackForwardList" c:type="IdeBackForwardList*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_split_view" invoker="set_split_view">
        <doc xml:space="preserve">Set a split view using GtkPaned style split with %GTK_ORIENTATION_VERTICAL.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">A #GbView.</doc>
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
          <parameter name="split_view" transfer-ownership="none">
            <doc xml:space="preserve">if the split should be enabled.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="create_split" c:identifier="gb_view_create_split">
        <doc xml:space="preserve">Creates a new view similar to @self that can be displayed in a split.
If the view does not support splits, %NULL will be returned.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">A #GbView.</doc>
          <type name="View" c:type="GbView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">A #GbView.</doc>
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_can_preview" c:identifier="gb_view_get_can_preview">
        <doc xml:space="preserve">Checks if @self can create a preview view (such as html, markdown, etc).</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if @self can create a preview view.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">A #GbView.</doc>
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_can_split" c:identifier="gb_view_get_can_split">
        <doc xml:space="preserve">Checks if @self can create a split view. If so, %TRUE is returned. Otherwise, %FALSE.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if @self can create a split.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">A #GbView.</doc>
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_controls" c:identifier="gb_view_get_controls">
        <doc xml:space="preserve">Gets the controls for the view.</doc>
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve">A #GtkWidget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">A #GbView.</doc>
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_document" c:identifier="gb_view_get_document">
        <doc xml:space="preserve">Gets the document for the view.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">A #GbDocument.</doc>
          <type name="Document" c:type="GbDocument*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">A #GbView.</doc>
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_menu" c:identifier="gb_view_get_menu">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">A #GMenu that may be modified.</doc>
          <type name="Gio.Menu" c:type="GMenu*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_modified" c:identifier="gb_view_get_modified">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_special_title"
              c:identifier="gb_view_get_special_title">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_title" c:identifier="gb_view_get_title">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="navigate_to" c:identifier="gb_view_navigate_to">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
          <parameter name="location" transfer-ownership="none">
            <type name="Ide.SourceLocation" c:type="IdeSourceLocation*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_back_forward_list"
              c:identifier="gb_view_set_back_forward_list">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
          <parameter name="back_forward_list" transfer-ownership="none">
            <type name="Ide.BackForwardList" c:type="IdeBackForwardList*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_split_view" c:identifier="gb_view_set_split_view">
        <doc xml:space="preserve">Set a split view using GtkPaned style split with %GTK_ORIENTATION_VERTICAL.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">A #GbView.</doc>
            <type name="View" c:type="GbView*"/>
          </instance-parameter>
          <parameter name="split_view" transfer-ownership="none">
            <doc xml:space="preserve">if the split should be enabled.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="can-split" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="document" transfer-ownership="none">
        <type name="Document"/>
      </property>
      <property name="modified" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="special-title" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="title" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
    </class>
    <record name="ViewClass"
            c:type="GbViewClass"
            glib:is-gtype-struct-for="View">
      <field name="parent">
        <type name="Gtk.BinClass" c:type="GtkBinClass"/>
      </field>
      <field name="get_can_preview">
        <callback name="get_can_preview">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">%TRUE if @self can create a preview view.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve">A #GbView.</doc>
              <type name="View" c:type="GbView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_can_split">
        <callback name="get_can_split">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">%TRUE if @self can create a split.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve">A #GbView.</doc>
              <type name="View" c:type="GbView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_document">
        <callback name="get_document">
          <return-value transfer-ownership="none">
            <doc xml:space="preserve">A #GbDocument.</doc>
            <type name="Document" c:type="GbDocument*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve">A #GbView.</doc>
              <type name="View" c:type="GbView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_modified">
        <callback name="get_modified">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="View" c:type="GbView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_title">
        <callback name="get_title">
          <return-value transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="View" c:type="GbView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="get_special_title">
        <callback name="get_special_title">
          <return-value transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="View" c:type="GbView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="create_split">
        <callback name="create_split">
          <return-value transfer-ownership="full">
            <doc xml:space="preserve">A #GbView.</doc>
            <type name="View" c:type="GbView*"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve">A #GbView.</doc>
              <type name="View" c:type="GbView*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_split_view">
        <callback name="set_split_view">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <doc xml:space="preserve">A #GbView.</doc>
              <type name="View" c:type="GbView*"/>
            </parameter>
            <parameter name="split_view" transfer-ownership="none">
              <doc xml:space="preserve">if the split should be enabled.</doc>
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_back_forward_list">
        <callback name="set_back_forward_list">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="View" c:type="GbView*"/>
            </parameter>
            <parameter name="back_forward_list" transfer-ownership="none">
              <type name="Ide.BackForwardList" c:type="IdeBackForwardList*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="navigate_to">
        <callback name="navigate_to">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="View" c:type="GbView*"/>
            </parameter>
            <parameter name="location" transfer-ownership="none">
              <type name="Ide.SourceLocation" c:type="IdeSourceLocation*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="ViewStack"
           c:symbol-prefix="view_stack"
           c:type="GbViewStack"
           parent="Gtk.Bin"
           glib:type-name="GbViewStack"
           glib:get-type="gb_view_stack_get_type"
           glib:type-struct="ViewStackClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="gb_view_stack_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="find_document_typed"
              c:identifier="gb_view_stack_find_document_typed">
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve">A #GbDocument or %NULL.</doc>
          <type name="Document" c:type="GbDocument*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ViewStack" c:type="GbViewStack*"/>
          </instance-parameter>
          <parameter name="document_type" transfer-ownership="none">
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </method>
      <method name="find_with_document"
              c:identifier="gb_view_stack_find_with_document">
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve">A #GtkWidget or %NULL.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ViewStack" c:type="GbViewStack*"/>
          </instance-parameter>
          <parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GbDocument*"/>
          </parameter>
        </parameters>
      </method>
      <method name="focus_document"
              c:identifier="gb_view_stack_focus_document">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ViewStack" c:type="GbViewStack*"/>
          </instance-parameter>
          <parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GbDocument*"/>
          </parameter>
        </parameters>
      </method>
      <method name="focus_location"
              c:identifier="gb_view_stack_focus_location">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ViewStack" c:type="GbViewStack*"/>
          </instance-parameter>
          <parameter name="location" transfer-ownership="none">
            <type name="Ide.SourceLocation" c:type="IdeSourceLocation*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_active_view"
              c:identifier="gb_view_stack_get_active_view">
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve">A #GtkWidget or %NULL.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ViewStack" c:type="GbViewStack*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_views" c:identifier="gb_view_stack_get_views">
        <doc xml:space="preserve">Gets the views belonging to this #GbViewStack.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">A #GList of #GbView.</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="View"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ViewStack" c:type="GbViewStack*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="raise_document"
              c:identifier="gb_view_stack_raise_document">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ViewStack" c:type="GbViewStack*"/>
          </instance-parameter>
          <parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GbDocument*"/>
          </parameter>
          <parameter name="focus" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="gb_view_stack_remove">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ViewStack" c:type="GbViewStack*"/>
          </instance-parameter>
          <parameter name="view" transfer-ownership="none">
            <type name="View" c:type="GbView*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_active_view"
              c:identifier="gb_view_stack_set_active_view">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="ViewStack" c:type="GbViewStack*"/>
          </instance-parameter>
          <parameter name="active_view" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="active-view" writable="1" transfer-ownership="none">
        <type name="View"/>
      </property>
      <glib:signal name="empty" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="split" when="last">
        <doc xml:space="preserve">Requests a split to be performed on the view.

This should only be used by #GbViewGrid.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve">The #GbView to split.</doc>
            <type name="View"/>
          </parameter>
          <parameter name="split_type" transfer-ownership="none">
            <doc xml:space="preserve">A #GbViewGridSplit.</doc>
            <type name="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="ViewStackClass"
            c:type="GbViewStackClass"
            glib:is-gtype-struct-for="ViewStack">
      <field name="parent_class">
        <type name="Gtk.BinClass" c:type="GtkBinClass"/>
      </field>
    </record>
  </namespace>
</repository>
