<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Atk" version="1.0"/>
  <include name="GLib" version="2.0"/>
  <include name="GModule" version="2.0"/>
  <include name="GObject" version="2.0"/>
  <include name="Gdk" version="3.0"/>
  <include name="GdkPixbuf" version="2.0"/>
  <include name="Gio" version="2.0"/>
  <include name="Gtk" version="3.0"/>
  <include name="Pango" version="1.0"/>
  <include name="cairo" version="1.0"/>
  <include name="xlib" version="2.0"/>
  <package name="gdl-3.0"/>
  <c:include name="gdl/gdl.h"/>
  <namespace name="Gdl"
             version="3"
             shared-library="libgdl-3.so.2.0"
             c:identifier-prefixes="Gdl"
             c:symbol-prefixes="gdl">
    <constant name="DOCK_MASTER_PROPERTY"
              value="master"
              c:type="GDL_DOCK_MASTER_PROPERTY">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCK_NAME_PROPERTY"
              value="name"
              c:type="GDL_DOCK_NAME_PROPERTY">
      <type name="utf8" c:type="gchar*"/>
    </constant>
    <constant name="DOCK_OBJECT_FLAGS_SHIFT"
              value="8"
              c:type="GDL_DOCK_OBJECT_FLAGS_SHIFT">
      <type name="gint" c:type="gint"/>
    </constant>
    <class name="Dock"
           c:symbol-prefix="dock"
           c:type="GdlDock"
           parent="DockObject"
           glib:type-name="GdlDock"
           glib:get-type="gdl_dock_get_type"
           glib:type-struct="DockClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="gdl_dock_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="layout_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="add_floating_item"
              c:identifier="gdl_dock_add_floating_item">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <type name="DockItem" c:type="GdlDockItem*"/>
          </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="width" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="height" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="add_item" c:identifier="gdl_dock_add_item">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <type name="DockItem" c:type="GdlDockItem*"/>
          </parameter>
          <parameter name="place" transfer-ownership="none">
            <type name="DockPlacement" c:type="GdlDockPlacement"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_item_by_name"
              c:identifier="gdl_dock_get_item_by_name"
              introspectable="0">
        <return-value>
          <type name="DockItem" c:type="GdlDockItem*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_named_items"
              c:identifier="gdl_dock_get_named_items"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
      </method>
      <method name="get_placeholder_by_name"
              c:identifier="gdl_dock_get_placeholder_by_name"
              introspectable="0">
        <return-value>
          <type name="DockPlaceholder" c:type="GdlDockPlaceholder*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="new_from"
              c:identifier="gdl_dock_new_from"
              introspectable="0">
        <return-value>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="floating" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="xor_rect" c:identifier="gdl_dock_xor_rect">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="rect" transfer-ownership="none">
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <method name="xor_rect_hide" c:identifier="gdl_dock_xor_rect_hide">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="default-title" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="floating"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="floatx"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="floaty"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="height"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="width"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gint"/>
      </property>
      <field name="object">
        <type name="DockObject" c:type="GdlDockObject"/>
      </field>
      <field name="root">
        <type name="DockObject" c:type="GdlDockObject*"/>
      </field>
      <field name="priv">
        <type name="DockPrivate" c:type="GdlDockPrivate*"/>
      </field>
      <glib:signal name="layout-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <class name="DockBar"
           c:symbol-prefix="dock_bar"
           c:type="GdlDockBar"
           parent="Gtk.Box"
           glib:type-name="GdlDockBar"
           glib:get-type="gdl_dock_bar_get_type"
           glib:type-struct="DockBarClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="gdl_dock_bar_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="dock" transfer-ownership="none">
            <type name="Dock" c:type="GdlDock*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_orientation"
              c:identifier="gdl_dock_bar_get_orientation">
        <return-value transfer-ownership="none">
          <type name="Gtk.Orientation" c:type="GtkOrientation"/>
        </return-value>
      </method>
      <method name="get_style" c:identifier="gdl_dock_bar_get_style">
        <return-value transfer-ownership="none">
          <type name="DockBarStyle" c:type="GdlDockBarStyle"/>
        </return-value>
      </method>
      <method name="set_orientation"
              c:identifier="gdl_dock_bar_set_orientation">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="orientation" transfer-ownership="none">
            <type name="Gtk.Orientation" c:type="GtkOrientation"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_style" c:identifier="gdl_dock_bar_set_style">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="style" transfer-ownership="none">
            <type name="DockBarStyle" c:type="GdlDockBarStyle"/>
          </parameter>
        </parameters>
      </method>
      <property name="dockbar-style"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="DockBarStyle"/>
      </property>
      <property name="master" writable="1" transfer-ownership="none">
        <type name="DockMaster"/>
      </property>
      <field name="parent">
        <type name="Gtk.Box" c:type="GtkBox"/>
      </field>
      <field name="dock">
        <type name="Dock" c:type="GdlDock*"/>
      </field>
      <field name="priv">
        <type name="DockBarPrivate" c:type="GdlDockBarPrivate*"/>
      </field>
    </class>
    <record name="DockBarClass"
            c:type="GdlDockBarClass"
            glib:is-gtype-struct-for="DockBar">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
    </record>
    <record name="DockBarPrivate" c:type="GdlDockBarPrivate" disguised="1">
    </record>
    <enumeration name="DockBarStyle"
                 glib:type-name="GdlDockBarStyle"
                 glib:get-type="gdl_dock_bar_style_get_type"
                 c:type="GdlDockBarStyle">
      <member name="icons"
              value="0"
              c:identifier="GDL_DOCK_BAR_ICONS"
              glib:nick="icons"/>
      <member name="text"
              value="1"
              c:identifier="GDL_DOCK_BAR_TEXT"
              glib:nick="text"/>
      <member name="both"
              value="2"
              c:identifier="GDL_DOCK_BAR_BOTH"
              glib:nick="both"/>
      <member name="auto"
              value="3"
              c:identifier="GDL_DOCK_BAR_AUTO"
              glib:nick="auto"/>
    </enumeration>
    <record name="DockClass"
            c:type="GdlDockClass"
            glib:is-gtype-struct-for="Dock">
      <field name="parent_class">
        <type name="DockObjectClass" c:type="GdlDockObjectClass"/>
      </field>
      <field name="layout_changed">
        <callback name="layout_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="dock" transfer-ownership="none">
              <type name="Dock" c:type="GdlDock*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="DockItem"
           c:symbol-prefix="dock_item"
           c:type="GdlDockItem"
           parent="DockObject"
           glib:type-name="GdlDockItem"
           glib:get-type="gdl_dock_item_get_type"
           glib:type-struct="DockItemClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="gdl_dock_item_new">
        <doc xml:whitespace="preserve">Creates a new dock item widget.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The newly created dock item grip widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Unique name for identifying the dock object.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="long_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Human readable name for the dock object.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="behavior" transfer-ownership="none">
            <doc xml:whitespace="preserve">General behavior for the dock item (i.e. whether it can float, if it's locked, etc.), as specified by #GdlDockItemBehavior flags.</doc>
            <type name="DockItemBehavior" c:type="GdlDockItemBehavior"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_pixbuf_icon"
                   c:identifier="gdl_dock_item_new_with_pixbuf_icon"
                   version="3.3.2">
        <doc xml:whitespace="preserve">Creates a new dock item grip widget with a given pixbuf icon.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The newly created dock item grip widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Unique name for identifying the dock object.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="long_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Human readable name for the dock object.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="pixbuf_icon" transfer-ownership="none">
            <doc xml:whitespace="preserve">Pixbuf icon for the dock object.</doc>
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
          <parameter name="behavior" transfer-ownership="none">
            <doc xml:whitespace="preserve">General behavior for the dock item (i.e. whether it can float, if it's locked, etc.), as specified by #GdlDockItemBehavior flags.</doc>
            <type name="DockItemBehavior" c:type="GdlDockItemBehavior"/>
          </parameter>
        </parameters>
      </constructor>
      <constructor name="new_with_stock"
                   c:identifier="gdl_dock_item_new_with_stock">
        <doc xml:whitespace="preserve">Creates a new dock item grip widget with a given stock id.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The newly created dock item grip widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Unique name for identifying the dock object.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="long_name" transfer-ownership="none">
            <doc xml:whitespace="preserve">Human readable name for the dock object.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="stock_id" transfer-ownership="none">
            <doc xml:whitespace="preserve">Stock icon for the dock object.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="behavior" transfer-ownership="none">
            <doc xml:whitespace="preserve">General behavior for the dock item (i.e. whether it can float, if it's locked, etc.), as specified by #GdlDockItemBehavior flags.</doc>
            <type name="DockItemBehavior" c:type="GdlDockItemBehavior"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="dock_drag_begin">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="dock_drag_end">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="cancelled" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="dock_drag_motion">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <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>
      </virtual-method>
      <virtual-method name="move_focus_child">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="direction" transfer-ownership="none">
            <type name="Gtk.DirectionType" c:type="GtkDirectionType"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_orientation" invoker="set_orientation">
        <doc xml:whitespace="preserve">This function sets the layout of the dock item.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="orientation" transfer-ownership="none">
            <doc xml:whitespace="preserve">The orientation to set the item to. If the orientation is set to #GTK_ORIENTATION_VERTICAL, the grip widget will be shown along the top of the edge of item (if it is not hidden). If the orientation is set to #GTK_ORIENTATION_HORIZONTAL, the grip widget will be shown down the left edge of the item (even if the widget text direction is set to RTL).</doc>
            <type name="Gtk.Orientation" c:type="GtkOrientation"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="bind" c:identifier="gdl_dock_item_bind">
        <doc xml:whitespace="preserve">Binds this dock item to a new dock master.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="dock" transfer-ownership="none">
            <doc xml:whitespace="preserve">The #GdlDock widget to bind it to. Note that this widget must be a type of #GdlDock.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dock_to" c:identifier="gdl_dock_item_dock_to">
        <doc xml:whitespace="preserve">Relocates a dock item to a new location relative to another dock item.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="target" transfer-ownership="none" allow-none="1">
            <doc xml:whitespace="preserve">The dock item that will be used as the point of reference.</doc>
            <type name="DockItem" c:type="GdlDockItem*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:whitespace="preserve">The position to dock #item, relative to #target.</doc>
            <type name="DockPlacement" c:type="GdlDockPlacement"/>
          </parameter>
          <parameter name="docking_param" transfer-ownership="none">
            <doc xml:whitespace="preserve">This value is unused, and will be ignored.</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_grip"
              c:identifier="gdl_dock_item_get_grip"
              introspectable="0">
        <doc xml:whitespace="preserve">This function returns the dock item's grip label widget.</doc>
        <return-value>
          <doc xml:whitespace="preserve">Returns the current label widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </method>
      <method name="get_tablabel"
              c:identifier="gdl_dock_item_get_tablabel"
              introspectable="0">
        <doc xml:whitespace="preserve">Gets the current tab label widget. Note that this label widget is
only visible when the "switcher-style" property of the #GdlDockMaster
is set to #GDL_SWITCHER_STYLE_TABS</doc>
        <return-value>
          <doc xml:whitespace="preserve">Returns the tab label widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </method>
      <method name="hide_grip" c:identifier="gdl_dock_item_hide_grip">
        <doc xml:whitespace="preserve">This function hides the dock item's grip widget.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="hide_item" c:identifier="gdl_dock_item_hide_item">
        <doc xml:whitespace="preserve">This function hides the dock item. When dock items are hidden they
are completely removed from the layout.

The dock item close button causes the panel to be hidden.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="iconify_item" c:identifier="gdl_dock_item_iconify_item">
        <doc xml:whitespace="preserve">This function iconifies the dock item. When dock items are iconified
they are hidden, and appear only as icons in dock bars.

The dock item iconify button causes the panel to be iconified.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="lock" c:identifier="gdl_dock_item_lock">
        <doc xml:whitespace="preserve">This function locks the dock item. When locked the dock item cannot
be dragged around and it doesn't show a grip.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="notify_deselected"
              c:identifier="gdl_dock_item_notify_deselected">
        <doc xml:whitespace="preserve">This function emits the deselected signal. It is used by #GdlSwitcher
to let clients know that this item has been deselected.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="notify_selected"
              c:identifier="gdl_dock_item_notify_selected">
        <doc xml:whitespace="preserve">This function emits the selected signal. It is to be used by #GdlSwitcher 
to let clients know that this item has been switched to.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="or_child_has_focus"
              c:identifier="gdl_dock_item_or_child_has_focus"
              version="3.3.2">
        <doc xml:whitespace="preserve">Checks whether a given #GdlDockItem or its child widget has focus.  
This check is performed recursively on child widgets.

%FALSE otherwise.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if the dock item or its child widget has focus;</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="preferred_size"
              c:identifier="gdl_dock_item_preferred_size">
        <doc xml:whitespace="preserve">Gets the preferred size of the dock item in pixels.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="req" transfer-ownership="none">
            <doc xml:whitespace="preserve">A pointer to a #GtkRequisition into which the preferred size will be written.</doc>
            <type name="Gtk.Requisition" c:type="GtkRequisition*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_default_position"
              c:identifier="gdl_dock_item_set_default_position">
        <doc xml:whitespace="preserve">This method has only an effect when you add you dock_item with
GDL_DOCK_ITEM_BEH_NEVER_FLOATING. In this case you have to assign
it a default position.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="reference" transfer-ownership="none">
            <doc xml:whitespace="preserve">The GdlDockObject which is the default dock for @item</doc>
            <type name="DockObject" c:type="GdlDockObject*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_orientation"
              c:identifier="gdl_dock_item_set_orientation">
        <doc xml:whitespace="preserve">This function sets the layout of the dock item.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="orientation" transfer-ownership="none">
            <doc xml:whitespace="preserve">The orientation to set the item to. If the orientation is set to #GTK_ORIENTATION_VERTICAL, the grip widget will be shown along the top of the edge of item (if it is not hidden). If the orientation is set to #GTK_ORIENTATION_HORIZONTAL, the grip widget will be shown down the left edge of the item (even if the widget text direction is set to RTL).</doc>
            <type name="Gtk.Orientation" c:type="GtkOrientation"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_tablabel" c:identifier="gdl_dock_item_set_tablabel">
        <doc xml:whitespace="preserve">Replaces the current tab label widget with another widget. Note that
this label widget is only visible when the "switcher-style" property
of the #GdlDockMaster is set to #GDL_SWITCHER_STYLE_TABS</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="tablabel" transfer-ownership="none">
            <doc xml:whitespace="preserve">The widget that will become the tab label.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_grip" c:identifier="gdl_dock_item_show_grip">
        <doc xml:whitespace="preserve">This function shows the dock item's grip widget.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="show_item" c:identifier="gdl_dock_item_show_item">
        <doc xml:whitespace="preserve">This function shows the dock item. When dock items are shown, they
are displayed in their normal layout position.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="unbind" c:identifier="gdl_dock_item_unbind">
        <doc xml:whitespace="preserve">Unbinds this dock item from it's dock master.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="unlock" c:identifier="gdl_dock_item_unlock">
        <doc xml:whitespace="preserve">This function unlocks the dock item. When unlocked the dock item can
be dragged around and can show a grip.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="behavior" writable="1" transfer-ownership="none">
        <type name="DockItemBehavior"/>
      </property>
      <property name="locked" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="orientation"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <doc xml:whitespace="preserve">The orientation of the docking item. If the orientation is set to
#GTK_ORIENTATION_VERTICAL, the grip widget will be shown along
the top of the edge of item (if it is not hidden). If the
orientation is set to #GTK_ORIENTATION_HORIZONTAL, the grip
widget will be shown down the left edge of the item (even if the
widget text direction is set to RTL).</doc>
        <type name="Gtk.Orientation"/>
      </property>
      <property name="preferred-height" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="preferred-width" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="resize" writable="1" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <field name="object">
        <type name="DockObject" c:type="GdlDockObject"/>
      </field>
      <field name="child">
        <type name="Gtk.Widget" c:type="GtkWidget*"/>
      </field>
      <field name="behavior">
        <type name="DockItemBehavior" c:type="GdlDockItemBehavior"/>
      </field>
      <field name="orientation">
        <type name="Gtk.Orientation" c:type="GtkOrientation"/>
      </field>
      <field name="resize" bits="1">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="dragoff_x">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="dragoff_y">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="priv">
        <type name="DockItemPrivate" c:type="GdlDockItemPrivate*"/>
      </field>
      <glib:signal name="deselected" when="first">
        <doc xml:whitespace="preserve">Signals that this dock has been deselected in a switcher.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="dock-drag-begin" when="first">
        <doc xml:whitespace="preserve">Signals that the dock item has begun to be dragged.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
      <glib:signal name="dock-drag-end" when="first">
        <doc xml:whitespace="preserve">Signals that the dock item dragging has ended.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="cancel" transfer-ownership="none">
            <doc xml:whitespace="preserve">This value is set to TRUE if the drag was cancelled by the user. #cancel is set to FALSE if the drag was accepted.</doc>
            <type name="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="dock-drag-motion" when="first">
        <doc xml:whitespace="preserve">Signals that a dock item dragging motion event has occured.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="x" transfer-ownership="none">
            <doc xml:whitespace="preserve">The x-position that the dock item has been dragged to.</doc>
            <type name="gint"/>
          </parameter>
          <parameter name="y" transfer-ownership="none">
            <doc xml:whitespace="preserve">The y-position that the dock item has been dragged to.</doc>
            <type name="gint"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="move-focus-child"
                   when="last"
                   action="1"
                   version="3.3.2">
        <doc xml:whitespace="preserve">The ::move-focus-child signal is emitted when a change of focus is
requested for the child widget of a dock item.  The @dir parameter 
specifies the direction in which focus is to be shifted.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="dir" transfer-ownership="none">
            <doc xml:whitespace="preserve">The direction in which to move focus</doc>
            <type name="Gtk.DirectionType"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="selected" when="first">
        <doc xml:whitespace="preserve">Signals that this dock has been selected from a switcher.</doc>
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <bitfield name="DockItemBehavior"
              glib:type-name="GdlDockItemBehavior"
              glib:get-type="gdl_dock_item_behavior_get_type"
              c:type="GdlDockItemBehavior">
      <doc xml:whitespace="preserve">Described the behaviour of a doc item. The item can have multiple flags set.</doc>
      <member name="normal"
              value="0"
              c:identifier="GDL_DOCK_ITEM_BEH_NORMAL"
              glib:nick="normal"/>
      <member name="never_floating"
              value="1"
              c:identifier="GDL_DOCK_ITEM_BEH_NEVER_FLOATING"
              glib:nick="never-floating"/>
      <member name="never_vertical"
              value="2"
              c:identifier="GDL_DOCK_ITEM_BEH_NEVER_VERTICAL"
              glib:nick="never-vertical"/>
      <member name="never_horizontal"
              value="4"
              c:identifier="GDL_DOCK_ITEM_BEH_NEVER_HORIZONTAL"
              glib:nick="never-horizontal"/>
      <member name="locked"
              value="8"
              c:identifier="GDL_DOCK_ITEM_BEH_LOCKED"
              glib:nick="locked"/>
      <member name="cant_dock_top"
              value="16"
              c:identifier="GDL_DOCK_ITEM_BEH_CANT_DOCK_TOP"
              glib:nick="cant-dock-top"/>
      <member name="cant_dock_bottom"
              value="32"
              c:identifier="GDL_DOCK_ITEM_BEH_CANT_DOCK_BOTTOM"
              glib:nick="cant-dock-bottom"/>
      <member name="cant_dock_left"
              value="64"
              c:identifier="GDL_DOCK_ITEM_BEH_CANT_DOCK_LEFT"
              glib:nick="cant-dock-left"/>
      <member name="cant_dock_right"
              value="128"
              c:identifier="GDL_DOCK_ITEM_BEH_CANT_DOCK_RIGHT"
              glib:nick="cant-dock-right"/>
      <member name="cant_dock_center"
              value="256"
              c:identifier="GDL_DOCK_ITEM_BEH_CANT_DOCK_CENTER"
              glib:nick="cant-dock-center"/>
      <member name="cant_close"
              value="512"
              c:identifier="GDL_DOCK_ITEM_BEH_CANT_CLOSE"
              glib:nick="cant-close"/>
      <member name="cant_iconify"
              value="1024"
              c:identifier="GDL_DOCK_ITEM_BEH_CANT_ICONIFY"
              glib:nick="cant-iconify"/>
      <member name="no_grip"
              value="2048"
              c:identifier="GDL_DOCK_ITEM_BEH_NO_GRIP"
              glib:nick="no-grip"/>
    </bitfield>
    <class name="DockItemButtonImage"
           c:symbol-prefix="dock_item_button_image"
           c:type="GdlDockItemButtonImage"
           parent="Gtk.Widget"
           glib:type-name="GdlDockItemButtonImage"
           glib:get-type="gdl_dock_item_button_image_get_type"
           glib:type-struct="DockItemButtonImageClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="gdl_dock_item_button_image_new">
        <doc xml:whitespace="preserve">Creates a new GDL dock button image object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The newly created dock item button image widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="image_type" transfer-ownership="none">
            <doc xml:whitespace="preserve">Specifies what type of image the widget should display</doc>
            <type name="DockItemButtonImageType"
                  c:type="GdlDockItemButtonImageType"/>
          </parameter>
        </parameters>
      </constructor>
      <field name="parent">
        <type name="Gtk.Widget" c:type="GtkWidget"/>
      </field>
      <field name="image_type">
        <type name="DockItemButtonImageType"
              c:type="GdlDockItemButtonImageType"/>
      </field>
    </class>
    <record name="DockItemButtonImageClass"
            c:type="GdlDockItemButtonImageClass"
            glib:is-gtype-struct-for="DockItemButtonImage">
      <field name="parent_class">
        <type name="Gtk.WidgetClass" c:type="GtkWidgetClass"/>
      </field>
    </record>
    <enumeration name="DockItemButtonImageType"
                 c:type="GdlDockItemButtonImageType">
      <member name="close"
              value="0"
              c:identifier="GDL_DOCK_ITEM_BUTTON_IMAGE_CLOSE"/>
      <member name="iconify"
              value="1"
              c:identifier="GDL_DOCK_ITEM_BUTTON_IMAGE_ICONIFY"/>
    </enumeration>
    <record name="DockItemClass"
            c:type="GdlDockItemClass"
            glib:is-gtype-struct-for="DockItem">
      <field name="parent_class">
        <type name="DockObjectClass" c:type="GdlDockObjectClass"/>
      </field>
      <field name="priv">
        <type name="DockItemClassPrivate" c:type="GdlDockItemClassPrivate*"/>
      </field>
      <field name="has_grip">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="dock_drag_begin">
        <callback name="dock_drag_begin">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="item" transfer-ownership="none">
              <type name="DockItem" c:type="GdlDockItem*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="dock_drag_motion">
        <callback name="dock_drag_motion">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="item" transfer-ownership="none">
              <type name="DockItem" c:type="GdlDockItem*"/>
            </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>
        </callback>
      </field>
      <field name="dock_drag_end">
        <callback name="dock_drag_end">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="item" transfer-ownership="none">
              <type name="DockItem" c:type="GdlDockItem*"/>
            </parameter>
            <parameter name="cancelled" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="move_focus_child">
        <callback name="move_focus_child">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="item" transfer-ownership="none">
              <type name="DockItem" c:type="GdlDockItem*"/>
            </parameter>
            <parameter name="direction" transfer-ownership="none">
              <type name="Gtk.DirectionType" c:type="GtkDirectionType"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_orientation">
        <callback name="set_orientation">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="item" transfer-ownership="none">
              <type name="DockItem" c:type="GdlDockItem*"/>
            </parameter>
            <parameter name="orientation" transfer-ownership="none">
              <doc xml:whitespace="preserve">The orientation to set the item to. If the orientation is set to #GTK_ORIENTATION_VERTICAL, the grip widget will be shown along the top of the edge of item (if it is not hidden). If the orientation is set to #GTK_ORIENTATION_HORIZONTAL, the grip widget will be shown down the left edge of the item (even if the widget text direction is set to RTL).</doc>
              <type name="Gtk.Orientation" c:type="GtkOrientation"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="DockItemClassPrivate"
            c:type="GdlDockItemClassPrivate"
            disguised="1">
    </record>
    <bitfield name="DockItemFlags"
              glib:type-name="GdlDockItemFlags"
              glib:get-type="gdl_dock_item_flags_get_type"
              c:type="GdlDockItemFlags">
      <doc xml:whitespace="preserve">Status flag of a GdlDockItem. Don't use unless you derive a widget from GdlDockItem</doc>
      <member name="in_drag"
              value="256"
              c:identifier="GDL_DOCK_IN_DRAG"
              glib:nick="in-drag"/>
      <member name="in_predrag"
              value="512"
              c:identifier="GDL_DOCK_IN_PREDRAG"
              glib:nick="in-predrag"/>
      <member name="iconified"
              value="1024"
              c:identifier="GDL_DOCK_ICONIFIED"
              glib:nick="iconified"/>
      <member name="user_action"
              value="2048"
              c:identifier="GDL_DOCK_USER_ACTION"
              glib:nick="user-action"/>
    </bitfield>
    <class name="DockItemGrip"
           c:symbol-prefix="dock_item_grip"
           c:type="GdlDockItemGrip"
           parent="Gtk.Container"
           glib:type-name="GdlDockItemGrip"
           glib:get-type="gdl_dock_item_grip_get_type"
           glib:type-struct="DockItemGripClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="gdl_dock_item_grip_new">
        <doc xml:whitespace="preserve">Creates a new GDL dock item grip object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">The newly created dock item grip widget.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <doc xml:whitespace="preserve">The dock item that will "own" this grip widget.</doc>
            <type name="DockItem" c:type="GdlDockItem*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="hide_handle" c:identifier="gdl_dock_item_grip_hide_handle">
        <doc xml:whitespace="preserve">This function hides the dock item's grip widget handle hatching.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="set_label" c:identifier="gdl_dock_item_grip_set_label">
        <doc xml:whitespace="preserve">Replaces the current label widget with another widget.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="label" transfer-ownership="none">
            <doc xml:whitespace="preserve">The widget that will become the label.</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_handle" c:identifier="gdl_dock_item_grip_show_handle">
        <doc xml:whitespace="preserve">This function shows the dock item's grip widget handle hatching.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="item"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="DockItem"/>
      </property>
      <field name="parent">
        <type name="Gtk.Container" c:type="GtkContainer"/>
      </field>
      <field name="item">
        <type name="DockItem" c:type="GdlDockItem*"/>
      </field>
      <field name="title_window">
        <type name="Gdk.Window" c:type="GdkWindow*"/>
      </field>
      <field name="priv">
        <type name="DockItemGripPrivate" c:type="GdlDockItemGripPrivate*"/>
      </field>
    </class>
    <record name="DockItemGripClass"
            c:type="GdlDockItemGripClass"
            glib:is-gtype-struct-for="DockItemGrip">
      <field name="parent_class">
        <type name="Gtk.ContainerClass" c:type="GtkContainerClass"/>
      </field>
    </record>
    <record name="DockItemGripPrivate"
            c:type="GdlDockItemGripPrivate"
            disguised="1">
    </record>
    <record name="DockItemPrivate" c:type="GdlDockItemPrivate" disguised="1">
    </record>
    <class name="DockLayout"
           c:symbol-prefix="dock_layout"
           c:type="GdlDockLayout"
           parent="GObject.Object"
           glib:type-name="GdlDockLayout"
           glib:get-type="gdl_dock_layout_get_type"
           glib:type-struct="DockLayoutClass">
      <constructor name="new" c:identifier="gdl_dock_layout_new">
        <return-value transfer-ownership="full">
          <doc xml:whitespace="preserve">New #GdlDockLayout item.</doc>
          <type name="DockLayout" c:type="GdlDockLayout*"/>
        </return-value>
        <parameters>
          <parameter name="dock" transfer-ownership="none">
            <doc xml:whitespace="preserve">The dock item. Creates a new #GdlDockLayout</doc>
            <type name="Dock" c:type="GdlDock*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="attach" c:identifier="gdl_dock_layout_attach">
        <doc xml:whitespace="preserve">Attach the @layout to the @master and delete the reference to
the master that the layout attached previously</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="master" transfer-ownership="none">
            <doc xml:whitespace="preserve">The master item to which the layout will be attached</doc>
            <type name="DockMaster" c:type="GdlDockMaster*"/>
          </parameter>
        </parameters>
      </method>
      <method name="delete_layout"
              c:identifier="gdl_dock_layout_delete_layout">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_layouts"
              c:identifier="gdl_dock_layout_get_layouts"
              introspectable="0">
        <return-value>
          <type name="GLib.List" c:type="GList*">
            <type name="gpointer" c:type="gpointer"/>
          </type>
        </return-value>
        <parameters>
          <parameter name="include_default" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_layouts_ui"
              c:identifier="gdl_dock_layout_get_layouts_ui"
              introspectable="0">
        <return-value>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </method>
      <method name="is_dirty" c:identifier="gdl_dock_layout_is_dirty">
        <doc xml:whitespace="preserve">Checks whether the XML tree in memory is different from the file where the layout was saved.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE is the layout in the memory is different from the file, else %FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="load_from_file"
              c:identifier="gdl_dock_layout_load_from_file">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="filename" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="load_layout" c:identifier="gdl_dock_layout_load_layout">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_layout" c:identifier="gdl_dock_layout_save_layout">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="save_to_file" c:identifier="gdl_dock_layout_save_to_file">
        <doc xml:whitespace="preserve">This function saves the current layout in XML format to 
the file with the given @filename.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if @layout successfuly save to the file, otherwise %FALSE.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="filename" transfer-ownership="none">
            <doc xml:whitespace="preserve">Name of the file we want to save in layout</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="dirty" transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="master" writable="1" transfer-ownership="none">
        <type name="DockMaster"/>
      </property>
      <field name="g_object">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="dirty">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="master">
        <type name="DockMaster" c:type="GdlDockMaster*"/>
      </field>
      <field name="priv">
        <type name="DockLayoutPrivate" c:type="GdlDockLayoutPrivate*"/>
      </field>
    </class>
    <record name="DockLayoutClass"
            c:type="GdlDockLayoutClass"
            glib:is-gtype-struct-for="DockLayout">
      <field name="g_object_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="DockLayoutPrivate"
            c:type="GdlDockLayoutPrivate"
            disguised="1">
    </record>
    <class name="DockMaster"
           c:symbol-prefix="dock_master"
           c:type="GdlDockMaster"
           parent="GObject.Object"
           glib:type-name="GdlDockMaster"
           glib:get-type="gdl_dock_master_get_type"
           glib:type-struct="DockMasterClass">
      <virtual-method name="layout_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <method name="add" c:identifier="gdl_dock_master_add">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="DockObject" c:type="GdlDockObject*"/>
          </parameter>
        </parameters>
      </method>
      <method name="foreach"
              c:identifier="gdl_dock_master_foreach"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="function" transfer-ownership="none" closure="1">
            <type name="GLib.Func" c:type="GFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="foreach_toplevel"
              c:identifier="gdl_dock_master_foreach_toplevel"
              introspectable="0">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="include_controller" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="function" transfer-ownership="none" closure="2">
            <type name="GLib.Func" c:type="GFunc"/>
          </parameter>
          <parameter name="user_data" transfer-ownership="none">
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_controller"
              c:identifier="gdl_dock_master_get_controller"
              introspectable="0">
        <return-value>
          <type name="DockObject" c:type="GdlDockObject*"/>
        </return-value>
      </method>
      <method name="get_object"
              c:identifier="gdl_dock_master_get_object"
              introspectable="0">
        <return-value>
          <type name="DockObject" c:type="GdlDockObject*"/>
        </return-value>
        <parameters>
          <parameter name="nick_name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove" c:identifier="gdl_dock_master_remove">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="DockObject" c:type="GdlDockObject*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_controller"
              c:identifier="gdl_dock_master_set_controller">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="new_controller" transfer-ownership="none">
            <type name="DockObject" c:type="GdlDockObject*"/>
          </parameter>
        </parameters>
      </method>
      <property name="default-title" writable="1" transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="locked" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="switcher-style" writable="1" transfer-ownership="none">
        <type name="SwitcherStyle"/>
      </property>
      <field name="object">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="dock_objects">
        <type name="GLib.HashTable" c:type="GHashTable*">
          <type name="gpointer" c:type="gpointer"/>
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="toplevel_docks">
        <type name="GLib.List" c:type="GList*">
          <type name="gpointer" c:type="gpointer"/>
        </type>
      </field>
      <field name="controller">
        <type name="DockObject" c:type="GdlDockObject*"/>
      </field>
      <field name="dock_number">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="priv">
        <type name="DockMasterPrivate" c:type="GdlDockMasterPrivate*"/>
      </field>
      <glib:signal name="layout-changed" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="DockMasterClass"
            c:type="GdlDockMasterClass"
            glib:is-gtype-struct-for="DockMaster">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="layout_changed">
        <callback name="layout_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="master" transfer-ownership="none">
              <type name="DockMaster" c:type="GdlDockMaster*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="DockMasterPrivate"
            c:type="GdlDockMasterPrivate"
            disguised="1">
    </record>
    <class name="DockNotebook"
           c:symbol-prefix="dock_notebook"
           c:type="GdlDockNotebook"
           parent="DockItem"
           glib:type-name="GdlDockNotebook"
           glib:get-type="gdl_dock_notebook_get_type"
           glib:type-struct="DockNotebookClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="gdl_dock_notebook_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <property name="page" writable="1" transfer-ownership="none">
        <type name="gint"/>
      </property>
      <field name="item">
        <type name="DockItem" c:type="GdlDockItem"/>
      </field>
    </class>
    <record name="DockNotebookClass"
            c:type="GdlDockNotebookClass"
            glib:is-gtype-struct-for="DockNotebook">
      <field name="parent_class">
        <type name="DockItemClass" c:type="GdlDockItemClass"/>
      </field>
      <field name="priv">
        <type name="DockNotebookClassPrivate"
              c:type="GdlDockNotebookClassPrivate*"/>
      </field>
    </record>
    <record name="DockNotebookClassPrivate"
            c:type="GdlDockNotebookClassPrivate"
            disguised="1">
    </record>
    <class name="DockObject"
           c:symbol-prefix="dock_object"
           c:type="GdlDockObject"
           parent="Gtk.Container"
           glib:type-name="GdlDockObject"
           glib:get-type="gdl_dock_object_get_type"
           glib:type-struct="DockObjectClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <function name="nick_from_type"
                c:identifier="gdl_dock_object_nick_from_type">
        <doc xml:whitespace="preserve">Finds the nickname for a given type

Otherwise, the type name.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">If the object has a nickname, then it is returned.</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">The type for which to find the nickname</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </function>
      <function name="set_type_for_nick"
                c:identifier="gdl_dock_object_set_type_for_nick">
        <doc xml:whitespace="preserve">Assigns an object type to a given nickname.  If the nickname already exists,
then it reassigns it to a new object type.

Otherwise, %G_TYPE_NONE.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">If the nick was previously assigned, the old type is returned.</doc>
          <type name="GType" c:type="GType"/>
        </return-value>
        <parameters>
          <parameter name="nick" transfer-ownership="none">
            <doc xml:whitespace="preserve">The nickname for the object type</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="type" transfer-ownership="none">
            <doc xml:whitespace="preserve">The object type</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </function>
      <function name="type_from_nick"
                c:identifier="gdl_dock_object_type_from_nick">
        <doc xml:whitespace="preserve">Finds the object type assigned to a given nickname.

object type is returned.  Otherwise, %G_TYPE_NONE.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">If the nickname has previously been assigned, then the corresponding</doc>
          <type name="GType" c:type="GType"/>
        </return-value>
        <parameters>
          <parameter name="nick" transfer-ownership="none">
            <doc xml:whitespace="preserve">The nickname for the object type</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </function>
      <virtual-method name="child_placement" invoker="child_placement">
        <doc xml:whitespace="preserve">This function returns information about placement of a child dock
object inside another dock object.  The function returns %TRUE if
@child is effectively a child of @object.  @placement should
normally be initially setup to %GDL_DOCK_NONE.  If it's set to some
other value, this function will not touch the stored value if the
specified placement is "compatible" with the actual placement of
the child.

@placement can be %NULL, in which case the function simply tells if
@child is attached to @object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if @child is a child of @object.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">the child of the @object we want the placement for</doc>
            <type name="DockObject" c:type="GdlDockObject*"/>
          </parameter>
          <parameter name="placement" transfer-ownership="none">
            <doc xml:whitespace="preserve">where to return the placement information</doc>
            <type name="DockPlacement" c:type="GdlDockPlacement*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="detach" invoker="detach">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="recursive" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="dock" invoker="dock">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="requestor" transfer-ownership="none">
            <type name="DockObject" c:type="GdlDockObject*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <type name="DockPlacement" c:type="GdlDockPlacement"/>
          </parameter>
          <parameter name="other_data"
                     transfer-ownership="none"
                     allow-none="1">
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="dock_request" invoker="dock_request">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <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="request" transfer-ownership="none">
            <type name="DockRequest" c:type="GdlDockRequest*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="present" invoker="present">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <type name="DockObject" c:type="GdlDockObject*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="reduce" invoker="reduce">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </virtual-method>
      <virtual-method name="reorder" invoker="reorder">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <type name="DockObject" c:type="GdlDockObject*"/>
          </parameter>
          <parameter name="new_position" transfer-ownership="none">
            <type name="DockPlacement" c:type="GdlDockPlacement"/>
          </parameter>
          <parameter name="other_data" transfer-ownership="none">
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="bind" c:identifier="gdl_dock_object_bind">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="master" transfer-ownership="none">
            <type name="GObject.Object" c:type="GObject*"/>
          </parameter>
        </parameters>
      </method>
      <method name="child_placement"
              c:identifier="gdl_dock_object_child_placement">
        <doc xml:whitespace="preserve">This function returns information about placement of a child dock
object inside another dock object.  The function returns %TRUE if
@child is effectively a child of @object.  @placement should
normally be initially setup to %GDL_DOCK_NONE.  If it's set to some
other value, this function will not touch the stored value if the
specified placement is "compatible" with the actual placement of
the child.

@placement can be %NULL, in which case the function simply tells if
@child is attached to @object.</doc>
        <return-value transfer-ownership="none">
          <doc xml:whitespace="preserve">%TRUE if @child is a child of @object.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <doc xml:whitespace="preserve">the child of the @object we want the placement for</doc>
            <type name="DockObject" c:type="GdlDockObject*"/>
          </parameter>
          <parameter name="placement" transfer-ownership="none">
            <doc xml:whitespace="preserve">where to return the placement information</doc>
            <type name="DockPlacement" c:type="GdlDockPlacement*"/>
          </parameter>
        </parameters>
      </method>
      <method name="detach" c:identifier="gdl_dock_object_detach">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="recursive" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="dock" c:identifier="gdl_dock_object_dock">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="requestor" transfer-ownership="none">
            <type name="DockObject" c:type="GdlDockObject*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <type name="DockPlacement" c:type="GdlDockPlacement"/>
          </parameter>
          <parameter name="other_data"
                     transfer-ownership="none"
                     allow-none="1">
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="dock_request" c:identifier="gdl_dock_object_dock_request">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <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="request" transfer-ownership="none">
            <type name="DockRequest" c:type="GdlDockRequest*"/>
          </parameter>
        </parameters>
      </method>
      <method name="freeze" c:identifier="gdl_dock_object_freeze">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="get_parent_object"
              c:identifier="gdl_dock_object_get_parent_object"
              introspectable="0">
        <return-value>
          <type name="DockObject" c:type="GdlDockObject*"/>
        </return-value>
      </method>
      <method name="get_toplevel"
              c:identifier="gdl_dock_object_get_toplevel"
              introspectable="0">
        <return-value>
          <type name="Dock" c:type="GdlDock*"/>
        </return-value>
      </method>
      <method name="is_bound" c:identifier="gdl_dock_object_is_bound">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="is_compound" c:identifier="gdl_dock_object_is_compound">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
      </method>
      <method name="present" c:identifier="gdl_dock_object_present">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <type name="DockObject" c:type="GdlDockObject*"/>
          </parameter>
        </parameters>
      </method>
      <method name="reduce" c:identifier="gdl_dock_object_reduce">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="reorder" c:identifier="gdl_dock_object_reorder">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="child" transfer-ownership="none">
            <type name="DockObject" c:type="GdlDockObject*"/>
          </parameter>
          <parameter name="new_position" transfer-ownership="none">
            <type name="DockPlacement" c:type="GdlDockPlacement"/>
          </parameter>
          <parameter name="other_data" transfer-ownership="none">
            <type name="GObject.Value" c:type="GValue*"/>
          </parameter>
        </parameters>
      </method>
      <method name="thaw" c:identifier="gdl_dock_object_thaw">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="unbind" c:identifier="gdl_dock_object_unbind">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="long-name"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="master"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="DockMaster"/>
      </property>
      <property name="name"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <property name="pixbuf-icon"
                version="3.3.2"
                writable="1"
                transfer-ownership="none">
        <doc xml:whitespace="preserve">A GdkPixbuf to use for the icon of the dock object.</doc>
        <type name="gpointer"/>
      </property>
      <property name="stock-id"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8"/>
      </property>
      <field name="container">
        <type name="Gtk.Container" c:type="GtkContainer"/>
      </field>
      <field name="flags">
        <type name="DockObjectFlags" c:type="GdlDockObjectFlags"/>
      </field>
      <field name="freeze_count">
        <type name="gint" c:type="gint"/>
      </field>
      <field name="master">
        <type name="GObject.Object" c:type="GObject*"/>
      </field>
      <field name="name">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="long_name">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="stock_id">
        <type name="utf8" c:type="gchar*"/>
      </field>
      <field name="pixbuf_icon">
        <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
      </field>
      <field name="reduce_pending">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <glib:signal name="detach" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="gboolean"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="dock" when="first">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="DockObject"/>
          </parameter>
          <parameter name="p0" transfer-ownership="none">
            <type name="DockPlacement"/>
          </parameter>
          <parameter name="p1" transfer-ownership="none">
            <type name="GObject.Value"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="DockObjectClass"
            c:type="GdlDockObjectClass"
            glib:is-gtype-struct-for="DockObject">
      <field name="parent_class">
        <type name="Gtk.ContainerClass" c:type="GtkContainerClass"/>
      </field>
      <field name="is_compound">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="detach">
        <callback name="detach">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <type name="DockObject" c:type="GdlDockObject*"/>
            </parameter>
            <parameter name="recursive" transfer-ownership="none">
              <type name="gboolean" c:type="gboolean"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="reduce">
        <callback name="reduce">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <type name="DockObject" c:type="GdlDockObject*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="dock_request">
        <callback name="dock_request">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <type name="DockObject" c:type="GdlDockObject*"/>
            </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="request" transfer-ownership="none">
              <type name="DockRequest" c:type="GdlDockRequest*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="dock">
        <callback name="dock">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <type name="DockObject" c:type="GdlDockObject*"/>
            </parameter>
            <parameter name="requestor" transfer-ownership="none">
              <type name="DockObject" c:type="GdlDockObject*"/>
            </parameter>
            <parameter name="position" transfer-ownership="none">
              <type name="DockPlacement" c:type="GdlDockPlacement"/>
            </parameter>
            <parameter name="other_data"
                       transfer-ownership="none"
                       allow-none="1">
              <type name="GObject.Value" c:type="GValue*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="reorder">
        <callback name="reorder">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <type name="DockObject" c:type="GdlDockObject*"/>
            </parameter>
            <parameter name="child" transfer-ownership="none">
              <type name="DockObject" c:type="GdlDockObject*"/>
            </parameter>
            <parameter name="new_position" transfer-ownership="none">
              <type name="DockPlacement" c:type="GdlDockPlacement"/>
            </parameter>
            <parameter name="other_data" transfer-ownership="none">
              <type name="GObject.Value" c:type="GValue*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="present">
        <callback name="present">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <type name="DockObject" c:type="GdlDockObject*"/>
            </parameter>
            <parameter name="child" transfer-ownership="none">
              <type name="DockObject" c:type="GdlDockObject*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="child_placement">
        <callback name="child_placement">
          <return-value transfer-ownership="none">
            <doc xml:whitespace="preserve">%TRUE if @child is a child of @object.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="object" transfer-ownership="none">
              <type name="DockObject" c:type="GdlDockObject*"/>
            </parameter>
            <parameter name="child" transfer-ownership="none">
              <doc xml:whitespace="preserve">the child of the @object we want the placement for</doc>
              <type name="DockObject" c:type="GdlDockObject*"/>
            </parameter>
            <parameter name="placement" transfer-ownership="none">
              <doc xml:whitespace="preserve">where to return the placement information</doc>
              <type name="DockPlacement" c:type="GdlDockPlacement*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <bitfield name="DockObjectFlags"
              glib:type-name="GdlDockObjectFlags"
              glib:get-type="gdl_dock_object_flags_get_type"
              c:type="GdlDockObjectFlags">
      <member name="automatic"
              value="1"
              c:identifier="GDL_DOCK_AUTOMATIC"
              glib:nick="automatic"/>
      <member name="attached"
              value="2"
              c:identifier="GDL_DOCK_ATTACHED"
              glib:nick="attached"/>
      <member name="in_reflow"
              value="4"
              c:identifier="GDL_DOCK_IN_REFLOW"
              glib:nick="in-reflow"/>
      <member name="in_detach"
              value="8"
              c:identifier="GDL_DOCK_IN_DETACH"
              glib:nick="in-detach"/>
    </bitfield>
    <class name="DockPaned"
           c:symbol-prefix="dock_paned"
           c:type="GdlDockPaned"
           parent="DockItem"
           glib:type-name="GdlDockPaned"
           glib:get-type="gdl_dock_paned_get_type"
           glib:type-struct="DockPanedClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="gdl_dock_paned_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="orientation" transfer-ownership="none">
            <type name="Gtk.Orientation" c:type="GtkOrientation"/>
          </parameter>
        </parameters>
      </constructor>
      <property name="position" writable="1" transfer-ownership="none">
        <type name="guint"/>
      </property>
      <field name="dock_item">
        <type name="DockItem" c:type="GdlDockItem"/>
      </field>
      <field name="position_changed">
        <type name="gboolean" c:type="gboolean"/>
      </field>
    </class>
    <record name="DockPanedClass"
            c:type="GdlDockPanedClass"
            glib:is-gtype-struct-for="DockPaned">
      <field name="parent_class">
        <type name="DockItemClass" c:type="GdlDockItemClass"/>
      </field>
    </record>
    <class name="DockParam"
           c:symbol-prefix="dock_param"
           glib:type-name="GdlDockParam"
           glib:get-type="gdl_dock_param_get_type"
           glib:fundamental="1">
    </class>
    <bitfield name="DockParamFlags"
              glib:type-name="GdlDockParamFlags"
              glib:get-type="gdl_dock_param_flags_get_type"
              c:type="GdlDockParamFlags">
      <member name="export"
              value="256"
              c:identifier="GDL_DOCK_PARAM_EXPORT"
              glib:nick="export"/>
      <member name="after"
              value="512"
              c:identifier="GDL_DOCK_PARAM_AFTER"
              glib:nick="after"/>
    </bitfield>
    <class name="DockPlaceholder"
           c:symbol-prefix="dock_placeholder"
           c:type="GdlDockPlaceholder"
           parent="DockObject"
           glib:type-name="GdlDockPlaceholder"
           glib:get-type="gdl_dock_placeholder_get_type"
           glib:type-struct="DockPlaceholderClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="gdl_dock_placeholder_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="object" transfer-ownership="none">
            <type name="DockObject" c:type="GdlDockObject*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <type name="DockPlacement" c:type="GdlDockPlacement"/>
          </parameter>
          <parameter name="sticky" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="attach" c:identifier="gdl_dock_placeholder_attach">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="DockObject" c:type="GdlDockObject*"/>
          </parameter>
        </parameters>
      </method>
      <property name="floating"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="floatx"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="floaty"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="height"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gint"/>
      </property>
      <property name="host" writable="1" transfer-ownership="none">
        <type name="DockObject"/>
      </property>
      <property name="next-placement" writable="1" transfer-ownership="none">
        <type name="DockPlacement"/>
      </property>
      <property name="sticky"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gboolean"/>
      </property>
      <property name="width"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gint"/>
      </property>
      <field name="object">
        <type name="DockObject" c:type="GdlDockObject"/>
      </field>
      <field name="priv">
        <type name="DockPlaceholderPrivate"
              c:type="GdlDockPlaceholderPrivate*"/>
      </field>
    </class>
    <record name="DockPlaceholderClass"
            c:type="GdlDockPlaceholderClass"
            glib:is-gtype-struct-for="DockPlaceholder">
      <field name="parent_class">
        <type name="DockObjectClass" c:type="GdlDockObjectClass"/>
      </field>
    </record>
    <record name="DockPlaceholderPrivate"
            c:type="GdlDockPlaceholderPrivate"
            disguised="1">
    </record>
    <enumeration name="DockPlacement"
                 glib:type-name="GdlDockPlacement"
                 glib:get-type="gdl_dock_placement_get_type"
                 c:type="GdlDockPlacement">
      <member name="none"
              value="0"
              c:identifier="GDL_DOCK_NONE"
              glib:nick="none"/>
      <member name="top"
              value="1"
              c:identifier="GDL_DOCK_TOP"
              glib:nick="top"/>
      <member name="bottom"
              value="2"
              c:identifier="GDL_DOCK_BOTTOM"
              glib:nick="bottom"/>
      <member name="right"
              value="3"
              c:identifier="GDL_DOCK_RIGHT"
              glib:nick="right"/>
      <member name="left"
              value="4"
              c:identifier="GDL_DOCK_LEFT"
              glib:nick="left"/>
      <member name="center"
              value="5"
              c:identifier="GDL_DOCK_CENTER"
              glib:nick="center"/>
      <member name="floating"
              value="6"
              c:identifier="GDL_DOCK_FLOATING"
              glib:nick="floating"/>
    </enumeration>
    <record name="DockPrivate" c:type="GdlDockPrivate" disguised="1">
    </record>
    <record name="DockRequest" c:type="GdlDockRequest">
      <field name="applicant" writable="1">
        <type name="DockObject" c:type="GdlDockObject*"/>
      </field>
      <field name="target" writable="1">
        <type name="DockObject" c:type="GdlDockObject*"/>
      </field>
      <field name="position" writable="1">
        <type name="DockPlacement" c:type="GdlDockPlacement"/>
      </field>
      <field name="rect" writable="1">
        <type name="cairo.RectangleInt" c:type="cairo_rectangle_int_t"/>
      </field>
      <field name="extra" writable="1">
        <type name="GObject.Value" c:type="GValue"/>
      </field>
    </record>
    <class name="DockTablabel"
           c:symbol-prefix="dock_tablabel"
           c:type="GdlDockTablabel"
           parent="Gtk.Bin"
           glib:type-name="GdlDockTablabel"
           glib:get-type="gdl_dock_tablabel_get_type"
           glib:type-struct="DockTablabelClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="gdl_dock_tablabel_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="item" transfer-ownership="none">
            <type name="DockItem" c:type="GdlDockItem*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="button_pressed_handle">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="event" transfer-ownership="none">
            <type name="Gdk.EventButton" c:type="GdkEventButton*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="activate" c:identifier="gdl_dock_tablabel_activate">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <method name="deactivate" c:identifier="gdl_dock_tablabel_deactivate">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </method>
      <property name="item" writable="1" transfer-ownership="none">
        <type name="DockItem"/>
      </property>
      <field name="parent">
        <type name="Gtk.Bin" c:type="GtkBin"/>
      </field>
      <field name="drag_handle_size">
        <type name="guint" c:type="guint"/>
      </field>
      <field name="item">
        <type name="Gtk.Widget" c:type="GtkWidget*"/>
      </field>
      <field name="event_window">
        <type name="Gdk.Window" c:type="GdkWindow*"/>
      </field>
      <field name="active">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <field name="drag_start_event">
        <type name="Gdk.EventButton" c:type="GdkEventButton"/>
      </field>
      <field name="pre_drag">
        <type name="gboolean" c:type="gboolean"/>
      </field>
      <glib:signal name="button-pressed-handle" when="last">
        <return-value transfer-ownership="none">
          <type name="none"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Gdk.Event"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="DockTablabelClass"
            c:type="GdlDockTablabelClass"
            glib:is-gtype-struct-for="DockTablabel">
      <field name="parent_class">
        <type name="Gtk.BinClass" c:type="GtkBinClass"/>
      </field>
      <field name="button_pressed_handle">
        <callback name="button_pressed_handle">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="tablabel" transfer-ownership="none">
              <type name="DockTablabel" c:type="GdlDockTablabel*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Gdk.EventButton" c:type="GdkEventButton*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="PreviewWindow"
           c:symbol-prefix="preview_window"
           c:type="GdlPreviewWindow"
           parent="Gtk.Window"
           glib:type-name="GdlPreviewWindow"
           glib:get-type="gdl_preview_window_get_type"
           glib:type-struct="PreviewWindowClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="gdl_preview_window_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="update" c:identifier="gdl_preview_window_update">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="rect" transfer-ownership="none">
            <type name="Gdk.Rectangle" c:type="GdkRectangle*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent_instance">
        <type name="Gtk.Window" c:type="GtkWindow"/>
      </field>
    </class>
    <record name="PreviewWindowClass"
            c:type="GdlPreviewWindowClass"
            glib:is-gtype-struct-for="PreviewWindow">
      <field name="parent_class">
        <type name="Gtk.WindowClass" c:type="GtkWindowClass"/>
      </field>
    </record>
    <class name="Switcher"
           c:symbol-prefix="switcher"
           c:type="GdlSwitcher"
           parent="Gtk.Notebook"
           glib:type-name="GdlSwitcher"
           glib:get-type="gdl_switcher_get_type"
           glib:type-struct="SwitcherClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="gdl_switcher_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="insert_page" c:identifier="gdl_switcher_insert_page">
        <doc xml:whitespace="preserve">Adds a page to a #GdlSwitcher.  A button is created in the switcher, with its
icon taken preferentially from the @stock_id parameter.  If this parameter is 
%NULL, then the @pixbuf_icon parameter is used.  Failing that, the 
%GTK_STOCK_NEW stock icon is used.  The text label for the button is specified 
using the @label parameter.  If it is %NUll then a default incrementally 
numbered label is used instead.</doc>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <parameter name="page" transfer-ownership="none">
            <doc xml:whitespace="preserve">The page to add to the switcher</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="tab_widget" transfer-ownership="none">
            <doc xml:whitespace="preserve">The  to add to the switcher</doc>
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
          <parameter name="label" transfer-ownership="none">
            <doc xml:whitespace="preserve">The label text for the button</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="tooltips" transfer-ownership="none">
            <doc xml:whitespace="preserve">The tooltip for the button</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="stock_id" transfer-ownership="none">
            <doc xml:whitespace="preserve">The stock ID for the button icon</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="pixbuf_icon" transfer-ownership="none">
            <doc xml:whitespace="preserve">The pixbuf to use for the button icon</doc>
            <type name="GdkPixbuf.Pixbuf" c:type="GdkPixbuf*"/>
          </parameter>
          <parameter name="position" transfer-ownership="none">
            <doc xml:whitespace="preserve">The position at which to create the page</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <property name="switcher-style" writable="1" transfer-ownership="none">
        <type name="SwitcherStyle"/>
      </property>
      <field name="parent">
        <type name="Gtk.Notebook" c:type="GtkNotebook"/>
      </field>
      <field name="priv">
        <type name="SwitcherPrivate" c:type="GdlSwitcherPrivate*"/>
      </field>
    </class>
    <record name="SwitcherClass"
            c:type="GdlSwitcherClass"
            glib:is-gtype-struct-for="Switcher">
      <field name="parent_class">
        <type name="Gtk.NotebookClass" c:type="GtkNotebookClass"/>
      </field>
      <field name="priv">
        <type name="SwitcherClassPrivate" c:type="GdlSwitcherClassPrivate*"/>
      </field>
    </record>
    <record name="SwitcherClassPrivate"
            c:type="GdlSwitcherClassPrivate"
            disguised="1">
    </record>
    <record name="SwitcherPrivate" c:type="GdlSwitcherPrivate" disguised="1">
    </record>
    <enumeration name="SwitcherStyle"
                 glib:type-name="GdlSwitcherStyle"
                 glib:get-type="gdl_switcher_style_get_type"
                 c:type="GdlSwitcherStyle">
      <member name="text"
              value="0"
              c:identifier="GDL_SWITCHER_STYLE_TEXT"
              glib:nick="text"/>
      <member name="icon"
              value="1"
              c:identifier="GDL_SWITCHER_STYLE_ICON"
              glib:nick="icon"/>
      <member name="both"
              value="2"
              c:identifier="GDL_SWITCHER_STYLE_BOTH"
              glib:nick="both"/>
      <member name="toolbar"
              value="3"
              c:identifier="GDL_SWITCHER_STYLE_TOOLBAR"
              glib:nick="toolbar"/>
      <member name="tabs"
              value="4"
              c:identifier="GDL_SWITCHER_STYLE_TABS"
              glib:nick="tabs"/>
      <member name="none"
              value="5"
              c:identifier="GDL_SWITCHER_STYLE_NONE"
              glib:nick="none"/>
    </enumeration>
    <function name="gettext" c:identifier="gdl_gettext">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="char*"/>
      </return-value>
      <parameters>
        <parameter name="msgid" transfer-ownership="none">
          <type name="utf8" c:type="char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_VOID__INT_INT"
              c:identifier="gdl_marshal_VOID__INT_INT">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_VOID__OBJECT_ENUM_BOXED"
              c:identifier="gdl_marshal_VOID__OBJECT_ENUM_BOXED">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="marshal_VOID__UINT_UINT"
              c:identifier="gdl_marshal_VOID__UINT_UINT">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="closure" transfer-ownership="none">
          <type name="GObject.Closure" c:type="GClosure*"/>
        </parameter>
        <parameter name="return_value" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="n_param_values" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
        <parameter name="param_values" transfer-ownership="none">
          <type name="GObject.Value" c:type="GValue*"/>
        </parameter>
        <parameter name="invocation_hint" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
        <parameter name="marshal_data" transfer-ownership="none">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
