<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Gio" version="2.0"/>
  <include name="Gtk" version="3.0"/>
  <package name="libhandy-0.0"/>
  <c:include name="handy.h"/>
  <namespace name="Handy"
             version="0.0"
             shared-library="libhandy-0.0.so.0"
             c:identifier-prefixes="Hdy"
             c:symbol-prefixes="hdy">
    <class name="Arrows"
           c:symbol-prefix="arrows"
           c:type="HdyArrows"
           parent="Gtk.DrawingArea"
           glib:type-name="HdyArrows"
           glib:get-type="hdy_arrows_get_type"
           glib:type-struct="ArrowsClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="hdy_arrows_new">
        <doc xml:space="preserve">Create a new #HdyArrows widget.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the newly created #HdyArrows widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="animate" c:identifier="hdy_arrows_animate">
        <doc xml:space="preserve">Render the arrows animation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyArrows</doc>
            <type name="Arrows" c:type="HdyArrows*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_count" c:identifier="hdy_arrows_get_count">
        <doc xml:space="preserve">Get the number of errors in displayed in the widget.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the current number of arrows</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyArrows</doc>
            <type name="Arrows" c:type="HdyArrows*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_direction" c:identifier="hdy_arrows_get_direction">
        <doc xml:space="preserve">Get the direction the arrows point to</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the arrows direction</doc>
          <type name="ArrowsDirection" c:type="HdyArrowsDirection"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyArrows</doc>
            <type name="Arrows" c:type="HdyArrows*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_duration" c:identifier="hdy_arrows_get_duration">
        <doc xml:space="preserve">Get the duration of the arrows animation.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the arrows</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyArrows</doc>
            <type name="Arrows" c:type="HdyArrows*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_count" c:identifier="hdy_arrows_set_count">
        <doc xml:space="preserve">Set the number of arrows to display.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyArrows</doc>
            <type name="Arrows" c:type="HdyArrows*"/>
          </instance-parameter>
          <parameter name="count" transfer-ownership="none">
            <doc xml:space="preserve">the number of arrows to display</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_direction" c:identifier="hdy_arrows_set_direction">
        <doc xml:space="preserve">Set the direction the arrows should point to.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyArrows</doc>
            <type name="Arrows" c:type="HdyArrows*"/>
          </instance-parameter>
          <parameter name="direction" transfer-ownership="none">
            <doc xml:space="preserve">the arrows direction</doc>
            <type name="ArrowsDirection" c:type="HdyArrowsDirection"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_duration" c:identifier="hdy_arrows_set_duration">
        <doc xml:space="preserve">Set the duration of the arrow animation.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyArrows</doc>
            <type name="Arrows" c:type="HdyArrows*"/>
          </instance-parameter>
          <parameter name="duration" transfer-ownership="none">
            <doc xml:space="preserve">the duration of the animation in ms</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <property name="count" writable="1" transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="direction" writable="1" transfer-ownership="none">
        <type name="ArrowsDirection"/>
      </property>
      <property name="duration" writable="1" transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.DrawingArea" c:type="GtkDrawingArea"/>
      </field>
    </class>
    <record name="ArrowsClass"
            c:type="HdyArrowsClass"
            glib:is-gtype-struct-for="Arrows">
      <field name="parent_class">
        <doc xml:space="preserve">The parent class</doc>
        <type name="Gtk.DrawingAreaClass" c:type="GtkDrawingAreaClass"/>
      </field>
    </record>
    <enumeration name="ArrowsDirection"
                 glib:type-name="HdyArrowsDirection"
                 glib:get-type="hdy_arrows_direction_get_type"
                 c:type="HdyArrowsDirection">
      <member name="up"
              value="0"
              c:identifier="HDY_ARROWS_DIRECTION_UP"
              glib:nick="up">
        <doc xml:space="preserve">Arrows point upwards.</doc>
      </member>
      <member name="down"
              value="1"
              c:identifier="HDY_ARROWS_DIRECTION_DOWN"
              glib:nick="down">
        <doc xml:space="preserve">Arrows point to the left.</doc>
      </member>
      <member name="left"
              value="2"
              c:identifier="HDY_ARROWS_DIRECTION_LEFT"
              glib:nick="left">
        <doc xml:space="preserve">Arrows point to the right.</doc>
      </member>
      <member name="right"
              value="3"
              c:identifier="HDY_ARROWS_DIRECTION_RIGHT"
              glib:nick="right">
        <doc xml:space="preserve">Arrows point downwards</doc>
      </member>
    </enumeration>
    <class name="Column"
           c:symbol-prefix="column"
           c:type="HdyColumn"
           parent="Gtk.Bin"
           glib:type-name="HdyColumn"
           glib:get-type="hdy_column_get_type"
           glib:type-struct="ColumnClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="hdy_column_new">
        <doc xml:space="preserve">Creates a new #HdyColumn.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a new #HdyColumn</doc>
          <type name="Column" c:type="HdyColumn*"/>
        </return-value>
      </constructor>
      <method name="get_linear_growth_width"
              c:identifier="hdy_column_get_linear_growth_width">
        <doc xml:space="preserve">Gets the width up to which the child will be allocated all the available
width and starting from which it will be allocated a portion of the available
width. In bith cases the allocated width won't exceed the declared maximum.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the width up to which the child will be allocated all the available
width.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyColumn</doc>
            <type name="Column" c:type="HdyColumn*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_maximum_width"
              c:identifier="hdy_column_get_maximum_width">
        <doc xml:space="preserve">Gets the maximum width to allocate to the contained child.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the maximum width to allocate to the contained child.</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyColumn</doc>
            <type name="Column" c:type="HdyColumn*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_linear_growth_width"
              c:identifier="hdy_column_set_linear_growth_width">
        <doc xml:space="preserve">Sets the width up to which the child will be allocated all the available
width and starting from which it will be allocated a portion of the available
width. In bith cases the allocated width won't exceed the declared maximum.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyColumn</doc>
            <type name="Column" c:type="HdyColumn*"/>
          </instance-parameter>
          <parameter name="linear_growth_width" transfer-ownership="none">
            <doc xml:space="preserve">the linear growth width</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_maximum_width"
              c:identifier="hdy_column_set_maximum_width">
        <doc xml:space="preserve">Sets the maximum width to allocate to the contained child.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyColumn</doc>
            <type name="Column" c:type="HdyColumn*"/>
          </instance-parameter>
          <parameter name="maximum_width" transfer-ownership="none">
            <doc xml:space="preserve">the maximum width</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <property name="linear-growth-width"
                writable="1"
                transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="maximum-width" writable="1" transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </property>
    </class>
    <record name="ColumnClass"
            c:type="HdyColumnClass"
            glib:is-gtype-struct-for="Column">
      <field name="parent_class">
        <type name="Gtk.BinClass" c:type="GtkBinClass"/>
      </field>
    </record>
    <class name="Dialer"
           c:symbol-prefix="dialer"
           c:type="HdyDialer"
           parent="Gtk.Bin"
           glib:type-name="HdyDialer"
           glib:get-type="hdy_dialer_get_type"
           glib:type-struct="DialerClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="hdy_dialer_new">
        <doc xml:space="preserve">Create a new #HdyDialer widget.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the newly created #HdyDialer widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="submitted">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Dialer" c:type="HdyDialer*"/>
          </instance-parameter>
          <parameter name="number" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="clear_number" c:identifier="hdy_dialer_clear_number">
        <doc xml:space="preserve">Set the current number to the empty string. When the number is already
cleared no action is performed.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyDialer</doc>
            <type name="Dialer" c:type="HdyDialer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_number" c:identifier="hdy_dialer_get_number">
        <doc xml:space="preserve">Get the currently displayed number.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the current number in the display</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyDialer</doc>
            <type name="Dialer" c:type="HdyDialer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_relief" c:identifier="hdy_dialer_get_relief">
        <doc xml:space="preserve">Returns the current relief style of the main buttons for the given
#HdyDialer.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">The current #GtkReliefStyle</doc>
          <type name="Gtk.ReliefStyle" c:type="GtkReliefStyle"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">The #HdyDialer whose main buttons you want the #GtkReliefStyle from</doc>
            <type name="Dialer" c:type="HdyDialer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_show_action_buttons"
              c:identifier="hdy_dialer_get_show_action_buttons">
        <doc xml:space="preserve">Get whether the submit and delete buttons are to be shown.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">whether the buttons are to be shown</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyDialer</doc>
            <type name="Dialer" c:type="HdyDialer*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_number" c:identifier="hdy_dialer_set_number">
        <doc xml:space="preserve">Set the currently displayed number.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyDialer</doc>
            <type name="Dialer" c:type="HdyDialer*"/>
          </instance-parameter>
          <parameter name="number" transfer-ownership="none">
            <doc xml:space="preserve">the number to set</doc>
            <type name="utf8" c:type="const char*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_relief" c:identifier="hdy_dialer_set_relief">
        <doc xml:space="preserve">Sets the relief style of the edges of the main buttons for the given
#HdyDialer widget.
Two styles exist, %GTK_RELIEF_NORMAL and %GTK_RELIEF_NONE.
The default style is, as one can guess, %GTK_RELIEF_NORMAL.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">The #HdyDialer whose main buttons you want to set relief styles of</doc>
            <type name="Dialer" c:type="HdyDialer*"/>
          </instance-parameter>
          <parameter name="relief" transfer-ownership="none">
            <doc xml:space="preserve">The #GtkReliefStyle as described above</doc>
            <type name="Gtk.ReliefStyle" c:type="GtkReliefStyle"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_show_action_buttons"
              c:identifier="hdy_dialer_set_show_action_buttons">
        <doc xml:space="preserve">Set whether to show the submit and delete buttons.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyDialer</doc>
            <type name="Dialer" c:type="HdyDialer*"/>
          </instance-parameter>
          <parameter name="show" transfer-ownership="none">
            <doc xml:space="preserve">whether to show the buttons</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="column-spacing" writable="1" transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="number" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="relief" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The relief style of the edges of the main buttons.</doc>
        <type name="Gtk.ReliefStyle"/>
      </property>
      <property name="row-spacing" writable="1" transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="show-action-buttons"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Bin" c:type="GtkBin"/>
      </field>
      <glib:signal name="deleted" when="last">
        <doc xml:space="preserve">This signal is emitted when the dialer's 'deleted' button is clicked
to delete the last symbol.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="submitted" when="last">
        <doc xml:space="preserve">This signal is emitted when the dialer's 'dial' button is activated.
Connect to this signal to perform to get notified when the user
wants to submit the dialed number.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="number" transfer-ownership="none">
            <doc xml:space="preserve">The number at the time of activation.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="symbol-clicked" when="last">
        <doc xml:space="preserve">This signal is emitted when one of the symbol buttons (0-9, # or *)
is clicked. Connect to this signal to find out which button was pressed.
This doesn't take any cycling modes into account. So the button with "*"
and "+" on it will always send "*".  Delete and Submit buttons will
not trigger this signal.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="button" transfer-ownership="none">
            <doc xml:space="preserve">The main symbol on the button that was clicked</doc>
            <type name="gchar" c:type="gchar"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <class name="DialerButton"
           c:symbol-prefix="dialer_button"
           c:type="HdyDialerButton"
           parent="Gtk.Button"
           glib:type-name="HdyDialerButton"
           glib:get-type="hdy_dialer_button_get_type"
           glib:type-struct="DialerButtonClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Actionable"/>
      <implements name="Gtk.Activatable"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="hdy_dialer_button_new">
        <doc xml:space="preserve">Create a new #HdyDialerButton which displays
@symbols. If
@symbols is %NULL no symbols will be displayed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the newly created #HdyDialerButton widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="symbols"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the symbols displayed on the #HdyDialerButton</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_digit" c:identifier="hdy_dialer_button_get_digit">
        <doc xml:space="preserve">Get the #HdyDialerButton's digit.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the button's digit</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyDialerButton</doc>
            <type name="DialerButton" c:type="HdyDialerButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_symbols" c:identifier="hdy_dialer_button_get_symbols">
        <doc xml:space="preserve">Get the #HdyDialerButton's symbols.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the button's symbols.</doc>
          <type name="utf8" c:type="const char*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyDialerButton</doc>
            <type name="DialerButton" c:type="HdyDialerButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="digit" transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="symbols" writable="1" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Button" c:type="GtkButton"/>
      </field>
    </class>
    <record name="DialerButtonClass"
            c:type="HdyDialerButtonClass"
            glib:is-gtype-struct-for="DialerButton">
      <field name="parent_class">
        <type name="Gtk.ButtonClass" c:type="GtkButtonClass"/>
      </field>
    </record>
    <record name="DialerClass"
            c:type="HdyDialerClass"
            glib:is-gtype-struct-for="Dialer">
      <field name="parent_class">
        <doc xml:space="preserve">The parent class</doc>
        <type name="Gtk.BinClass" c:type="GtkBinClass"/>
      </field>
      <field name="submitted">
        <callback name="submitted">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Dialer" c:type="HdyDialer*"/>
            </parameter>
            <parameter name="number" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="DialerCycleButton"
           c:symbol-prefix="dialer_cycle_button"
           c:type="HdyDialerCycleButton"
           parent="DialerButton"
           glib:type-name="HdyDialerCycleButton"
           glib:get-type="hdy_dialer_cycle_button_get_type"
           glib:type-struct="DialerCycleButtonClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Actionable"/>
      <implements name="Gtk.Activatable"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="hdy_dialer_cycle_button_new">
        <doc xml:space="preserve">Create a new #HdyDialerCycleButton which displays @symbols. The
symbols can by cycled through by pressing the button multiple
times.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the newly created #HdyDialerCycleButton widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="symbols" transfer-ownership="none">
            <doc xml:space="preserve">the symbols displayed on the #HdyDialerCycleButton</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="cycle_end">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="DialerCycleButton" c:type="HdyDialerCycleButton*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="cycle_start">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="DialerCycleButton" c:type="HdyDialerCycleButton*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_current_symbol"
              c:identifier="hdy_dialer_cycle_button_get_current_symbol">
        <doc xml:space="preserve">Get the symbol the dialer should display</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a pointer to the symbol</doc>
          <type name="gunichar" c:type="gunichar"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyDialerCycleButton</doc>
            <type name="DialerCycleButton" c:type="HdyDialerCycleButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_cycle_timeout"
              c:identifier="hdy_dialer_cycle_button_get_cycle_timeout">
        <doc xml:space="preserve">Get the cycle timeout in milliseconds.</doc>
        <return-value transfer-ownership="none">
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyDialerCycleButton</doc>
            <type name="DialerCycleButton" c:type="HdyDialerCycleButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_cycling"
              c:identifier="hdy_dialer_cycle_button_is_cycling">
        <doc xml:space="preserve">Check whether the button is in cycling mode.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">#TRUE if the in cycling mode otherwise #FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyDialerCycleButton</doc>
            <type name="DialerCycleButton" c:type="HdyDialerCycleButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_cycle_timeout"
              c:identifier="hdy_dialer_cycle_button_set_cycle_timeout">
        <doc xml:space="preserve">Set the cycle timeout in milliseconds.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyDialerCycleButton</doc>
            <type name="DialerCycleButton" c:type="HdyDialerCycleButton*"/>
          </instance-parameter>
          <parameter name="timeout" transfer-ownership="none">
            <doc xml:space="preserve">the timeout in milliseconds</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="stop_cycle"
              c:identifier="hdy_dialer_cycle_button_stop_cycle">
        <doc xml:space="preserve">Stop the cycling mode.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyDialerCycleButton</doc>
            <type name="DialerCycleButton" c:type="HdyDialerCycleButton*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="cycle-timeout"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </property>
      <field name="parent_instance">
        <type name="DialerButton" c:type="HdyDialerButton"/>
      </field>
      <glib:signal name="cycle-end" when="last">
        <doc xml:space="preserve">This signal is emitted when the cycle ends. This can either be
because of timeout or because #hdy_dialer_cycle_stop_cycle got
called.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="cycle-start" when="last">
        <doc xml:space="preserve">This signal is emitted when the button starts cycling (that is on
the first button press).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="DialerCycleButtonClass"
            c:type="HdyDialerCycleButtonClass"
            glib:is-gtype-struct-for="DialerCycleButton">
      <field name="parent_class">
        <doc xml:space="preserve">The parent classqn</doc>
        <type name="DialerButtonClass" c:type="HdyDialerButtonClass"/>
      </field>
      <field name="cycle_start">
        <callback name="cycle_start">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="DialerCycleButton" c:type="HdyDialerCycleButton*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="cycle_end">
        <callback name="cycle_end">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="DialerCycleButton" c:type="HdyDialerCycleButton*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="Fold"
                 glib:type-name="HdyFold"
                 glib:get-type="hdy_fold_get_type"
                 c:type="HdyFold">
      <doc xml:space="preserve">Represents the fold of widgets and other objects which can be switched
between folded and unfolded state on the fly, like HdyLeaflet.</doc>
      <member name="unfolded"
              value="0"
              c:identifier="HDY_FOLD_UNFOLDED"
              glib:nick="unfolded">
        <doc xml:space="preserve">The element isn't folded</doc>
      </member>
      <member name="folded"
              value="1"
              c:identifier="HDY_FOLD_FOLDED"
              glib:nick="folded">
        <doc xml:space="preserve">The element is folded</doc>
      </member>
    </enumeration>
    <class name="HeaderGroup"
           c:symbol-prefix="header_group"
           c:type="HdyHeaderGroup"
           parent="GObject.Object"
           glib:type-name="HdyHeaderGroup"
           glib:get-type="hdy_header_group_get_type"
           glib:type-struct="HeaderGroupClass">
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="hdy_header_group_new">
        <return-value transfer-ownership="full">
          <type name="HeaderGroup" c:type="HdyHeaderGroup*"/>
        </return-value>
      </constructor>
      <method name="add_header_bar"
              c:identifier="hdy_header_group_add_header_bar">
        <doc xml:space="preserve">Adds a header bar to a #HdyHeaderGroup. The decoration layout of the
widgets will be edited depending on their position in the composite header
bar, the start widget displaying only the start of the user's decoration
layout and the end widget displaying only its end while widgets in the middle
won't display anything. A header bar can be set as having the focus to
display all the decorations. See gtk_header_bar_set_decoration_layout().

When the widget is destroyed or no longer referenced elsewhere, it will
be removed from the header group.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyHeaderGroup</doc>
            <type name="HeaderGroup" c:type="HdyHeaderGroup*"/>
          </instance-parameter>
          <parameter name="header_bar" transfer-ownership="none">
            <doc xml:space="preserve">the #GtkHeaderBar to add</doc>
            <type name="Gtk.HeaderBar" c:type="GtkHeaderBar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_focus" c:identifier="hdy_header_group_get_focus">
        <return-value transfer-ownership="none" nullable="1">
          <doc xml:space="preserve">The currently focused header bar</doc>
          <type name="Gtk.HeaderBar" c:type="GtkHeaderBar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyHeaderGroup</doc>
            <type name="HeaderGroup" c:type="HdyHeaderGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_header_bars"
              c:identifier="hdy_header_group_get_header_bars">
        <doc xml:space="preserve">Returns the list of headerbars associated with @self.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a #GSList of
  headerbars. The list is owned by libhandy and should not be modified.</doc>
          <type name="GLib.SList" c:type="GSList*">
            <type name="Gtk.HeaderBar"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyHeaderGroup</doc>
            <type name="HeaderGroup" c:type="HdyHeaderGroup*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="remove_header_bar"
              c:identifier="hdy_header_group_remove_header_bar">
        <doc xml:space="preserve">Removes a widget from a #HdyHeaderGroup</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyHeaderGroup</doc>
            <type name="HeaderGroup" c:type="HdyHeaderGroup*"/>
          </instance-parameter>
          <parameter name="header_bar" transfer-ownership="none">
            <doc xml:space="preserve">the #GtkHeaderBar to remove</doc>
            <type name="Gtk.HeaderBar" c:type="GtkHeaderBar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_focus" c:identifier="hdy_header_group_set_focus">
        <doc xml:space="preserve">Sets the the currently focused header bar. If @header_bar is %NULL, the
decoration will be spread as if the header bars of the group were only one,
otherwise @header_bar will be the only one to receive the decoration.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyHeaderGroup</doc>
            <type name="HeaderGroup" c:type="HdyHeaderGroup*"/>
          </instance-parameter>
          <parameter name="header_bar"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GtkHeaderBar of @self, or %NULL</doc>
            <type name="Gtk.HeaderBar" c:type="GtkHeaderBar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="focus" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The the currently focused header bar. If %NULL, the decoration will be
spread as if the header bars of the group were only one, otherwise the
focused header bar will be the only one to receive the decoration.</doc>
        <type name="Gtk.HeaderBar"/>
      </property>
      <field name="parent_instance">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
    </class>
    <record name="HeaderGroupClass"
            c:type="HdyHeaderGroupClass"
            glib:is-gtype-struct-for="HeaderGroup">
      <field name="parent_class">
        <doc xml:space="preserve">The parent class</doc>
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="Leaflet"
           c:symbol-prefix="leaflet"
           c:type="HdyLeaflet"
           parent="Gtk.Container"
           glib:type-name="HdyLeaflet"
           glib:get-type="hdy_leaflet_get_type"
           glib:type-struct="LeafletClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="hdy_leaflet_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <virtual-method name="todo">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Leaflet" c:type="HdyLeaflet*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_child_transition_duration"
              c:identifier="hdy_leaflet_get_child_transition_duration">
        <doc xml:space="preserve">Returns the amount of time (in milliseconds) that
transitions between children in @self will take.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the mode transition duration</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyLeaflet</doc>
            <type name="Leaflet" c:type="HdyLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_child_transition_running"
              c:identifier="hdy_leaflet_get_child_transition_running">
        <doc xml:space="preserve">Returns whether @self is currently in a transition from one page to
another.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the transition is currently running, %FALSE otherwise.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyLeaflet</doc>
            <type name="Leaflet" c:type="HdyLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_child_transition_type"
              c:identifier="hdy_leaflet_get_child_transition_type">
        <doc xml:space="preserve">Gets the type of animation that will be used
for transitions between modes in @self.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the current mode transition type of @self</doc>
          <type name="LeafletChildTransitionType"
                c:type="HdyLeafletChildTransitionType"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyLeaflet</doc>
            <type name="Leaflet" c:type="HdyLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_fold" c:identifier="hdy_leaflet_get_fold">
        <doc xml:space="preserve">Gets the fold of @self.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the fold of @self.</doc>
          <type name="Fold" c:type="HdyFold"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyLeaflet</doc>
            <type name="Leaflet" c:type="HdyLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_homogeneous"
              c:identifier="hdy_leaflet_get_homogeneous">
        <doc xml:space="preserve">Gets whether @self is homogeneous for the given fold and orientation.
See hdy_leaflet_set_homogeneous().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">whether @self is homogeneous for the given fold and orientation.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyLeaflet</doc>
            <type name="Leaflet" c:type="HdyLeaflet*"/>
          </instance-parameter>
          <parameter name="fold" transfer-ownership="none">
            <doc xml:space="preserve">the fold</doc>
            <type name="Fold" c:type="HdyFold"/>
          </parameter>
          <parameter name="orientation" transfer-ownership="none">
            <doc xml:space="preserve">the orientation</doc>
            <type name="Gtk.Orientation" c:type="GtkOrientation"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_interpolate_size"
              c:identifier="hdy_leaflet_get_interpolate_size">
        <doc xml:space="preserve">Returns wether the #HdyLeaflet is set up to interpolate between
the sizes of children on page switch.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if child sizes are interpolated</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyLeaflet</doc>
            <type name="Leaflet" c:type="HdyLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mode_transition_duration"
              c:identifier="hdy_leaflet_get_mode_transition_duration">
        <doc xml:space="preserve">Returns the amount of time (in milliseconds) that
transitions between modes in @self will take.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the mode transition duration</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyLeaflet</doc>
            <type name="Leaflet" c:type="HdyLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_mode_transition_type"
              c:identifier="hdy_leaflet_get_mode_transition_type">
        <doc xml:space="preserve">Gets the type of animation that will be used
for transitions between modes in @self.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the current mode transition type of @self</doc>
          <type name="LeafletModeTransitionType"
                c:type="HdyLeafletModeTransitionType"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyLeaflet</doc>
            <type name="Leaflet" c:type="HdyLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_visible_child"
              c:identifier="hdy_leaflet_get_visible_child">
        <doc xml:space="preserve">Get the visible child widget.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the visible child widget</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyLeaflet</doc>
            <type name="Leaflet" c:type="HdyLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_visible_child_name"
              c:identifier="hdy_leaflet_get_visible_child_name">
        <return-value transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Leaflet" c:type="HdyLeaflet*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_child_transition_duration"
              c:identifier="hdy_leaflet_set_child_transition_duration">
        <doc xml:space="preserve">Sets the duration that transitions between children in @self
will take.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyLeaflet</doc>
            <type name="Leaflet" c:type="HdyLeaflet*"/>
          </instance-parameter>
          <parameter name="duration" transfer-ownership="none">
            <doc xml:space="preserve">the new duration, in milliseconds</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_child_transition_type"
              c:identifier="hdy_leaflet_set_child_transition_type">
        <doc xml:space="preserve">Sets the type of animation that will be used for
transitions between children in @self.

The transition type can be changed without problems
at runtime, so it is possible to change the animation
based on the mode that is about to become current.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyLeaflet</doc>
            <type name="Leaflet" c:type="HdyLeaflet*"/>
          </instance-parameter>
          <parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve">the new transition type</doc>
            <type name="LeafletChildTransitionType"
                  c:type="HdyLeafletChildTransitionType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_homogeneous"
              c:identifier="hdy_leaflet_set_homogeneous">
        <doc xml:space="preserve">Sets the #HdyLeaflet to be homogeneous or not for the given fold and orientation.
If it is homogeneous, the #HdyLeaflet will request the same
width or height for all its children depending on the orientation.
If it isn't and it is folded, the leaflet may change width or height
when a different child becomes visible.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyLeaflet</doc>
            <type name="Leaflet" c:type="HdyLeaflet*"/>
          </instance-parameter>
          <parameter name="fold" transfer-ownership="none">
            <doc xml:space="preserve">the fold</doc>
            <type name="Fold" c:type="HdyFold"/>
          </parameter>
          <parameter name="orientation" transfer-ownership="none">
            <doc xml:space="preserve">the orientation</doc>
            <type name="Gtk.Orientation" c:type="GtkOrientation"/>
          </parameter>
          <parameter name="homogeneous" transfer-ownership="none">
            <doc xml:space="preserve">%TRUE to make @self homogeneous</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_interpolate_size"
              c:identifier="hdy_leaflet_set_interpolate_size">
        <doc xml:space="preserve">Sets whether or not @self will interpolate its size when
changing the visible child. If the #HdyLeaflet:interpolate-size
property is set to %TRUE, @stack will interpolate its size between
the current one and the one it'll take after changing the
visible child, according to the set transition duration.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyLeaflet</doc>
            <type name="Leaflet" c:type="HdyLeaflet*"/>
          </instance-parameter>
          <parameter name="interpolate_size" transfer-ownership="none">
            <doc xml:space="preserve">the new value</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_mode_transition_duration"
              c:identifier="hdy_leaflet_set_mode_transition_duration">
        <doc xml:space="preserve">Sets the duration that transitions between modes in @self
will take.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyLeaflet</doc>
            <type name="Leaflet" c:type="HdyLeaflet*"/>
          </instance-parameter>
          <parameter name="duration" transfer-ownership="none">
            <doc xml:space="preserve">the new duration, in milliseconds</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_mode_transition_type"
              c:identifier="hdy_leaflet_set_mode_transition_type">
        <doc xml:space="preserve">Sets the type of animation that will be used for
transitions between modes in @self.

The transition type can be changed without problems
at runtime, so it is possible to change the animation
based on the mode that is about to become current.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyLeaflet</doc>
            <type name="Leaflet" c:type="HdyLeaflet*"/>
          </instance-parameter>
          <parameter name="transition" transfer-ownership="none">
            <doc xml:space="preserve">the new transition type</doc>
            <type name="LeafletModeTransitionType"
                  c:type="HdyLeafletModeTransitionType"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_visible_child"
              c:identifier="hdy_leaflet_set_visible_child">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Leaflet" c:type="HdyLeaflet*"/>
          </instance-parameter>
          <parameter name="visible_child" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_visible_child_name"
              c:identifier="hdy_leaflet_set_visible_child_name">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <type name="Leaflet" c:type="HdyLeaflet*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="child-transition-duration"
                writable="1"
                transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="child-transition-running" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="child-transition-type"
                writable="1"
                transfer-ownership="none">
        <type name="LeafletChildTransitionType"/>
      </property>
      <property name="fold" transfer-ownership="none">
        <doc xml:space="preserve">The fold of the leaflet.

The leaflet will be folded if the size allocated to it is smaller than the
sum of the natural size of its children, it will be unfolded otherwise.

See also: #HdyLeaflet:folded.</doc>
        <type name="Fold"/>
      </property>
      <property name="folded" transfer-ownership="none">
        <doc xml:space="preserve">%TRUE if the leaflet is folded.

This is similar to the #HdyLeaflet:fold property but expressed as a
#gboolean rather than a #GEnum. This makes it convenient to bind the
#HdyLeaflet:fold of a leaflet to any other #gboolean property of other
#GObject's using #g_object_bind_property().</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="hhomogeneous-folded"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="hhomogeneous-unfolded"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="interpolate-size" writable="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="mode-transition-duration"
                writable="1"
                transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </property>
      <property name="mode-transition-type"
                writable="1"
                transfer-ownership="none">
        <type name="LeafletModeTransitionType"/>
      </property>
      <property name="vhomogeneous-folded"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="vhomogeneous-unfolded"
                writable="1"
                transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="visible-child" writable="1" transfer-ownership="none">
        <type name="Gtk.Widget"/>
      </property>
      <property name="visible-child-name"
                writable="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Container" c:type="GtkContainer"/>
      </field>
    </class>
    <enumeration name="LeafletChildTransitionType"
                 glib:type-name="HdyLeafletChildTransitionType"
                 glib:get-type="hdy_leaflet_child_transition_type_get_type"
                 c:type="HdyLeafletChildTransitionType">
      <doc xml:space="preserve">These enumeration values describe the possible transitions between pages in a
#HdyLeaflet widget.

New values may be added to this enumeration over time.</doc>
      <member name="none"
              value="0"
              c:identifier="HDY_LEAFLET_CHILD_TRANSITION_TYPE_NONE"
              glib:nick="none">
        <doc xml:space="preserve">No transition</doc>
      </member>
      <member name="crossfade"
              value="1"
              c:identifier="HDY_LEAFLET_CHILD_TRANSITION_TYPE_CROSSFADE"
              glib:nick="crossfade">
        <doc xml:space="preserve">A cross-fade</doc>
      </member>
      <member name="slide"
              value="2"
              c:identifier="HDY_LEAFLET_CHILD_TRANSITION_TYPE_SLIDE"
              glib:nick="slide">
        <doc xml:space="preserve">Slide from left, right, up or down according to orientation, text direction and order</doc>
      </member>
      <member name="over"
              value="3"
              c:identifier="HDY_LEAFLET_CHILD_TRANSITION_TYPE_OVER"
              glib:nick="over">
        <doc xml:space="preserve">Cover the old page or uncover the new page, sliding according to orientation, text direction and order</doc>
      </member>
    </enumeration>
    <record name="LeafletClass"
            c:type="HdyLeafletClass"
            glib:is-gtype-struct-for="Leaflet">
      <field name="parent_class">
        <doc xml:space="preserve">The parent class</doc>
        <type name="Gtk.ContainerClass" c:type="GtkContainerClass"/>
      </field>
      <field name="todo">
        <callback name="todo">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="self" transfer-ownership="none">
              <type name="Leaflet" c:type="HdyLeaflet*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <enumeration name="LeafletModeTransitionType"
                 glib:type-name="HdyLeafletModeTransitionType"
                 glib:get-type="hdy_leaflet_mode_transition_type_get_type"
                 c:type="HdyLeafletModeTransitionType">
      <doc xml:space="preserve">These enumeration values describe the possible transitions between pages in a
#HdyLeaflet widget.

New values may be added to this enumeration over time.</doc>
      <member name="none"
              value="0"
              c:identifier="HDY_LEAFLET_MODE_TRANSITION_TYPE_NONE"
              glib:nick="none">
        <doc xml:space="preserve">No transition</doc>
      </member>
      <member name="slide"
              value="1"
              c:identifier="HDY_LEAFLET_MODE_TRANSITION_TYPE_SLIDE"
              glib:nick="slide">
        <doc xml:space="preserve">Slide from left, right, up or down according to the orientation, text direction and the children order</doc>
      </member>
    </enumeration>
    <class name="TitleBar"
           c:symbol-prefix="title_bar"
           c:type="HdyTitleBar"
           parent="Gtk.Bin"
           glib:type-name="HdyTitleBar"
           glib:get-type="hdy_title_bar_get_type"
           glib:type-struct="TitleBarClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <constructor name="new" c:identifier="hdy_title_bar_new">
        <doc xml:space="preserve">Creates a new #HdyTitleBar.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a new #HdyTitleBar</doc>
          <type name="TitleBar" c:type="HdyTitleBar*"/>
        </return-value>
      </constructor>
      <method name="get_selection_mode"
              c:identifier="hdy_title_bar_get_selection_mode">
        <doc xml:space="preserve">Returns wether whether @self is in selection mode.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the title bar is in selection mode</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyTitleBar</doc>
            <type name="TitleBar" c:type="HdyTitleBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_selection_mode"
              c:identifier="hdy_title_bar_set_selection_mode">
        <doc xml:space="preserve">Sets whether @self is in selection mode.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="self" transfer-ownership="none">
            <doc xml:space="preserve">a #HdyTitleBar</doc>
            <type name="TitleBar" c:type="HdyTitleBar*"/>
          </instance-parameter>
          <parameter name="selection_mode" transfer-ownership="none">
            <doc xml:space="preserve">%TRUE to enable the selection mode</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <property name="selection-mode" writable="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="TitleBarClass"
            c:type="HdyTitleBarClass"
            glib:is-gtype-struct-for="TitleBar">
      <field name="parent_class">
        <type name="Gtk.BinClass" c:type="GtkBinClass"/>
      </field>
    </record>
    <function name="init" c:identifier="hdy_init">
      <doc xml:space="preserve">Call this function before using any other Handy functions in your
GUI applications.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">%TRUE if initialization was successful, %FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="argc"
                   direction="inout"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve">Address of the &lt;parameter&gt;argc&lt;/parameter&gt; parameter of
    your main() function (or 0 if @argv is %NULL). This will be changed if
    any arguments were handled.</doc>
          <type name="gint" c:type="int*"/>
        </parameter>
        <parameter name="argv"
                   direction="inout"
                   caller-allocates="0"
                   transfer-ownership="full"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve">Address of the
    &lt;parameter&gt;argv&lt;/parameter&gt; parameter of main(), or %NULL. Any options
    understood by Handy are stripped before return.</doc>
          <array length="0" zero-terminated="0" c:type="char***">
            <type name="utf8" c:type="char**"/>
          </array>
        </parameter>
      </parameters>
    </function>
    <function name="string_utf8_len" c:identifier="hdy_string_utf8_len">
      <doc xml:space="preserve">Computes the length of the string in utf-8 characters. See #g_utf8_strlen.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">the length of @string in characters</doc>
        <type name="glong" c:type="glong"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <doc xml:space="preserve">a #GString</doc>
          <type name="GLib.String" c:type="GString*"/>
        </parameter>
      </parameters>
    </function>
    <function name="string_utf8_truncate"
              c:identifier="hdy_string_utf8_truncate">
      <doc xml:space="preserve">Cut of the end of the string @string so that @len utf8 characters remain</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">@string</doc>
        <type name="GLib.String" c:type="GString*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <doc xml:space="preserve">a #GString</doc>
          <type name="GLib.String" c:type="GString*"/>
        </parameter>
        <parameter name="len" transfer-ownership="none">
          <doc xml:space="preserve">the new size of the string</doc>
          <type name="gsize" c:type="gsize"/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>
